tree | # | tree -> nat |
tree | :=_left | tree ** tree -> tree |
tree | :=_right | tree ** tree -> tree |
tree | :=_val | tree ** data -> tree |
tree | children | tree -> seq[data] |
tree | depth | tree -> nat |
tree | exist? | (data -> bool) ** tree -> bool |
tree | find? | (data -> bool) ** tree -> option[data] |
tree | forall? | (data -> bool) ** tree -> bool |
tree | front | tree -> seq[data] |
tree | grandchildren | tree -> seq[data] |
tree | leaf? | tree -> bool |
tree | left | tree -> tree |
tree | leftmost | tree -> data |
tree | level | nat ** tree -> seq[data] |
tree | lrotate | tree -> tree |
tree | nil? | tree -> bool |
tree | node | data ** tree ** tree -> tree |
tree | node? | tree -> bool |
tree | reflect | tree -> tree |
tree | right | tree -> tree |
tree | rightmost | tree -> data |
tree | rrotate | tree -> tree |
tree | swap | tree -> tree |
tree | val | tree -> data |
tree | width | tree -> nat |
tree[data1] | ~ | tree[data1] ** tree[data2] -> bool |
tree[data2] | ~ | tree[data1] ** tree[data2] -> bool |
tree[data] | ! | tree[data] ** nat -> data |
tree[data] | ! | tree[data] ** nat -> tree[data] |
tree[data] | !? | tree[data] ** nat -> option[data] |
tree[data] | !? | tree[data] ** nat -> option[tree[data]] |
tree[data] | asBSTree | tree[data] -> bstree[data, <] |
tree[data] | asHeap | tree[data] -> heap[data, <] |
tree[data] | asSeqBreadth | tree[data] -> seq[seq[data]] |
tree[data] | asSeqIn | tree[data] -> seq[data] |
tree[data] | asSeqPost | tree[data] -> seq[data] |
tree[data] | asSeqPre | tree[data] -> seq[data] |
tree[data] | delete | tree[data] ** nat -> tree[data] |
tree[data] | drop | (data -> bool) ** tree[data] -> tree[data] |
tree[data] | dropall | (data -> bool) ** tree[data] -> tree[data] |
tree[data] | insert | tree[data] ** nat ** tree[data] -> tree[data] |
tree[data] | repl | tree[data] ** nat ** (tree[data] -> tree[data]) -> tree[data] |
tree[data] | repl | tree[data] ** nat ** tree[data] -> tree[data] |
tree[data] | step | tree[data] ** nat -> tree[data] ** nat |
tree[data] | take | (data -> bool) ** tree[data] -> tree[data] |
tree[data] | upd | nat ** (data -> data) ** tree[data] -> tree[data] |
tree[data] | upd | nat ** data ** tree[data] -> tree[data] |
tree[from1] | zip | (from1 ** from2 -> to) ** tree[from1] ** tree[from2] -> tree[to] |
tree[from2] | zip | (from1 ** from2 -> to) ** tree[from1] ** tree[from2] -> tree[to] |
tree[from] | * | (from -> to) ** tree[from] -> tree[to] |
tree[from] | *_^ | (env ** env ** from -> env ** to) ** env ** tree[from] -> env ** tree[to] |
tree[from] | *_in | (env ** from -> env ** to) ** env ** tree[from] -> env ** tree[to] |
tree[from] | *_post | (env ** from -> env ** to) ** env ** tree[from] -> env ** tree[to] |
tree[from] | *_pre | (env ** from -> env ** to) ** env ** tree[from] -> env ** tree[to] |
tree[from] | *_V | (env ** from -> env ** env ** to) ** env ** tree[from] -> tree[to] |
tree[from] | / | (from ** to ** to -> to) ** to ** tree[from] -> to |
tree[from] | /_in | (from ** to -> to) ** to ** tree[from] -> to |
tree[from] | /_post | (from ** to -> to) ** to ** tree[from] -> to |
tree[from] | /_pre | (from ** to -> to) ** to ** tree[from] -> to |
tree[pair[data, nat]] | abs | tree[pair[data, nat]] -> bstree |
tree[pair[data, nat]] | balance | tree[pair[data, nat]] -> tree[pair[data, nat]] |
tree[pair[data, nat]] | balanced? | tree[pair[data, nat]] -> bool |
tree[pair[data, nat]] | bstree0? | tree[pair[data, nat]] -> bool |
tree[pair[data, nat]] | bstree? | tree[pair[data, nat]] -> bool |
tree[pair[data, nat]] | dlrotate | tree[pair[data, nat]] -> tree[pair[data, nat]] |
tree[pair[data, nat]] | drrotate | tree[pair[data, nat]] -> tree[pair[data, nat]] |
tree[pair[data, nat]] | lrotate | tree[pair[data, nat]] -> tree[pair[data, nat]] |
tree[pair[data, nat]] | rrotate | tree[pair[data, nat]] -> tree[pair[data, nat]] |
tree[to] | unzip | (to -> from1 ** from2) ** tree[to] -> tree[from1] ** tree[from2] |
triple | &? | triple -> bool |
triple | 1st | triple -> data1 |
triple | 2nd | triple -> data2 |
triple | 3rd | triple -> data3 |
triple | untriple | triple -> data1 ** data2 ** data3 |
triple[data1, data2, data3] | * | (data1 -> data11) ** (data2 -> data21) ** (data3 -> data31) ** triple[data1, data2, data3] -> triple[data11, data21, data31] |