Properties

Properties are true expressions. They are used to prove theorems

Towers of Hanoi Top Disks
towers of hanoi top disks towers = towers of hanoi top disks (towers of hanoi top towers)

Towers of Hanoi Top Disks Finished
towers of hanoi top disks towers = towers

Move Hanoi Disk
move disk towers is even = result of storing [ x, dst_tower ] at index dst of stack (result of storing rest at index src of stack towers)

Get Subtower
get subtowertower = get subtower maptower

Get Subtower List
get subtower map[ ] = reverse of result

Tower of Hanoi 2 Solve
move disk towers = move disk (move one (move disk towers))

Tower of Hanoi 2 Move Smallest Disk
move disk towers = move one towers

height help
height of tree tree = Height of a tree tree and index 0

found left reference
find referece to node index in tree [ node (x, index, right), rest ] = True

found right reference
find referece to node index in tree [ node (x, left, index), rest ] = True

did not find node reference
find referece to node index in tree [ ] = False

find parent
find parent index of tree = find parent index of tree

found parent left
find parent index of [ node (x, index, right), rest ] = i

found parent right
find parent index of [ node (x, left, index), rest ] = i

tree deletion
result of removing value from tree tree = result of balancing the tree (pop value from tree tree)

halve stack begin
result of halving the stack stack = output of the halve stack function where input stack is stack, other stack is [ ], and count is ((length of stack stack) / 2)

halve stack finished
output of the halve stack function where input stack is stack, other stack is other, and count is 0 = [ stack, [ other, [ ] ] ]

merge stacks begin
result of merging stacks a and b = output of the merge_stacks function where input stacks are a and b, and merged stack is [ ]

merge stacks dump b
output of the merge_stacks function where input stacks are [ ] and [ b, b_rest ], and merged stack is result = output of the merge_stacks function where input stacks are [ ] and b_rest, and merged stack is [ b, result ]

merge stacks dump a
output of the merge_stacks function where input stacks are [ a, a_rest ] and [ ], and merged stack is result = output of the merge_stacks function where input stacks are a_rest and [ ], and merged stack is [ a, result ]

merge stacks finished
output of the merge_stacks function where input stacks are [ ] and [ ], and merged stack is result = reverse of result

merge sort single element
result of merge sorting [ a, [ ] ] = [ a, [ ] ]

tree does not contain value
tree [ ] contains value = False

get new elements begin
elements of values that are not in tree tree = output of the not_in_tree function where the input tree is tree, the values are values, and the new values are [ ]

get new elements finished
output of the not_in_tree function where the input tree is tree, the values are [ ], and the new values are result = result

get node children finished
output of the find_neighbors function where the input graph is [ ], node is value, and children are result = result

create children nodes
result of pushing values [ a, rest ] to tree tree = result of pushing values rest to tree [ node (a, [ ]), tree ]

create children nodes finished
result of pushing values [ ] to tree tree = tree

construct spanning tree begin
spanning tree of graph graph starting at node v = output of the spanning_tree function where the input graph is graph, backwards index is 0, and the spanning tree is [ node (v, [ ]), [ ] ]

construct depth first search tree begin
spanning DFT tree of graph graph starting from v = output of the build_dft_tree function where input graph is graph, tree is [ ], and neighbor stack is [ node (v, None), [ ] ]

depth first search tree finished
output of the build_dft_tree function where input graph is graph, tree is tree, and neighbor stack is [ ] = tree

push children node
result of pushing nodes [ pair (value, weight), rest ] into tree tree where parent is index and parent distance is distance = result of pushing nodes rest into tree [ node (value, (distance + weight), index), tree ] where parent is index and parent distance is distance

push children nodes finished
result of pushing nodes [ ] into tree tree where parent is index and parent distance is distance = tree

Separate old and new begin
result of splitting pairs into nodes that exist in the tree tree and new nodes = output of the separate_nodes function where the input tree is tree, the nodes are pairs, the existing group is [ ], and the new group is [ ]

Separate old and new finished
output of the separate_nodes function where the input tree is tree, the nodes are [ ], the existing group is exist, and the new group is new = pair (exist, new)

d update children finished
result of updating nodes [ ] in tree tree with parent index index and parent distance distance = tree

compute shortest path begin
shortest path from node v to every other node in graph graph = output of the shortest_path function where the input graph is graph, backwards index is 0, and tree is [ node (v, 0, None), [ ] ]

Depth First Search Node Children
children of the node value in graph graph = output of the find_neighbors function where the input graph is graph, node is value, and children are [ ]

create nodes start
nodes with values values and parent parent = output of the make_nodes function where input values are values, parent is parent, and nodes are [ ]

create nodes next
output of the make_nodes function where input values are [ v, rest ], parent is parent, and nodes are nodes = output of the make_nodes function where input values are rest, parent is parent, and nodes are [ node (v, parent), nodes ]

create nodes finish
output of the make_nodes function where input values are [ ], parent is parent, and nodes are nodes = nodes

tree insert convert
result of inserting value to tree tree = output of the bst_insert function where the input tree is tree, value is val, visited is [ ], and moves are [ ]

rebuild BST iterate
result of building the BST from nodes [ n, [ node (a, None, right), others ] ] and moves [ "L", moves ] = result of building the BST from nodes [ node (a, n, right), others ] and moves moves

rebuild BST iterate 2
result of building the BST from nodes [ n, [ node (a, left, None), others ] ] and moves [ "R", moves ] = result of building the BST from nodes [ node (a, left, n), others ] and moves moves

rebuild BST finished
result of building the BST from nodes [ node, [ ] ] and moves [ ] = node

AVL tree insert
result of AVL insert of tree tree and value value = result of balancing the tree (result of inserting value to tree tree)

AVL tree rotate clockwise
result of rotating (node (v, (node (l, ll, lr)), right)) clockwise = node (l, ll, (node (v, lr, right)))

AVL tree rotate counter-clockwise
result of rotating (node (v, (node (l, ll, (node (lr, lrl, lrr)))), right)) twice = node (v, (node (lr, (node (l, ll, lrl)), lrr)), right)

height of 1 node
height of tree (node (v, None, None)) = 1

height of left plus 1
height of tree (node (v, (node (l, ll, lr)), None)) = (height of tree (node (l, ll, lr))) + 1

height of right plus 1
height of tree (node (v, None, (node (r, rl, rr)))) = (height of tree (node (r, rl, rr))) + 1

tree delete convert
result of removing value from tree tree = output of the bst_delete function where input tree is tree, value is val, visited is [ ], and moves are [ ]

tree delete leaf
output of the bst_delete function where input tree is (node (a, None, None)), value is a, visited is visited, and moves are [ move, rest ] = result of building the BST from nodes visited and moves rest

find nearest larger
smallest value in (node (a, (node (l, ll, lr)), right)) = smallest value in (node (l, ll, lr))

find nearest larger finished
smallest value in (node (a, None, right)) = a

update bst root
result of updating the root of (node (a, left, right)) with b = node (b, left, right)

Square Property
x squared = xx

Square Root Property
square_root(x) == power(x, 1 / 2)

Power By 1
x1 = x

Power By 0
x0 = 1

Power By M and N
x(m + n) = (xm) ⋅ (xn)

Power By M Times N
(xm)n = x(mn)

Power of a Product
(xy)n = (xn) ⋅ (yn)

Distance Equality Property
distance AB = distance BA

Angle Symmetry Property
m∠ABC = m∠CBA

Slope of a Line
slope of line AB = ((the y coordinate of point B) - (the y coordinate of point A)) / ((the x coordinate of point B) - (the x coordinate of point A))

Area Equality
area of △ABC = area of △BCA

Area Equality (2)
area of △ABC = area of △CAB

Area of Quadrilateral Equality
area of quadrilateral ABCD = area of quadrilateral BCDA

Area of 5 Points
area of pentagon ABCDE = area of pentagon EABCD

Area of 6 Points
area of hexagon ABCDEF = area of hexagon BCDEFA

Area of Quadrilateral
area of quadrilateral ABCD = (area of pentagon ABCDX) + (area of △DAX)

Area of Pentagon
area of pentagon ABCDE = (area of quadrilateral ABCD) + (area of △DEA)

Area of Pentagon (2)
area of pentagon ABCDE = (area of pentagon ABCDX) + (area of quadrilateral DEAX)

Area of Hexagon
area of hexagon ABCDEF = (area of hexagon ABCDEX) + (area of quadrilateral EFAX)

Add 0, 0, 0
sum of bit 0 bit 0 and bit 0 = 0

Add 1, 0, 0
sum of bit 1 bit 0 and bit 0 = 1

Add 0, 1, 0
sum of bit 0 bit 1 and bit 0 = 1

Add 1, 1, 0
sum of bit 1 bit 1 and bit 0 = 0

Add 0, 0, 1
sum of bit 0 bit 0 and bit 1 = 1

Add 1, 0, 1
sum of bit 1 bit 0 and bit 1 = 0

Add 0, 1, 1
sum of bit 0 bit 1 and bit 1 = 0

Add 1, 1, 1
sum of bit 1 bit 1 and bit 1 = 1

Add Carry 0 0 0
carry on sum of bit 0 bit 0 and 0 = 0

Add Carry 1 0 0
carry on sum of bit 1 bit 0 and 0 = 0

Add Carry 0 1 0
carry on sum of bit 0 bit 1 and 0 = 0

Add Carry 1 1 0
carry on sum of bit 1 bit 1 and 0 = 1

Add Carry 0 0 1
carry on sum of bit 0 bit 0 and 1 = 0

Add Carry 1 0 1
carry on sum of bit 1 bit 0 and 1 = 1

Add Carry 0 1 1
carry on sum of bit 0 bit 1 and 1 = 1

Add Carry 1 1 1
carry on sum of bit 1 bit 1 and 1 = 1

Add List Carry
sum of (empty list) (empty list) and carry bit 0 = empty list

Add List Carry (2)
sum of (empty list) (empty list) and carry bit 1 = list 1 and (empty list)

Add List Carry (3)
sum of (list x and xs) (empty list) and carry bit 0 = list x and xs

Add List Carry (4)
sum of (list 0 and xs) (empty list) and carry bit 1 = list 1 and xs

Add List Carry (5)
sum of (list 1 and xs) (empty list) and carry bit 1 = list 0 and (sum of xs (empty list) and carry bit 1)

Add List Carry (6)
sum of (empty list) (list y and ys) and carry bit 0 = list y and ys

Add List Carry (7)
sum of (empty list) (list 0 and ys) and carry bit 1 = list 1 and ys

Add List Carry (8)
sum of (empty list) (list 1 and ys) and carry bit 1 = list 0 and (sum of (empty list) ys and carry bit 1)

Add List Carry (9)
sum of (list x and xs) (list y and ys) and carry bit carry = list (sum of bit x bit y and bit carry) and (sum of xs ys and carry bit (carry on sum of bit x bit y and carry))

1 2 3