Proofs

A proof is a series of claims that lead to a conclusion. Some proofs are conditional, which means that the claims can only be made under certain conditions. Click on a statement to see the proof

Get Return Value 76
if the following are true:
  • expression state at time 76 = "return"
  • Value Stack at time 76 = [ [ ], [ ] ]
  • Return Value at time 76 = 5

then Value Stack at time 77 = [ [ 5, [ ] ], [ ] ]


Do Variables At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • Variables Map at time 76 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 77 = [ entry self: (Python reference 0), [ ] ]


Do Line At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • the line at time 76 = 9

then the line at time 77 = 9


Do Tab At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • the tab at time 76 = 2

then the tab at time 77 = 2


Do Arg Stack At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • arguments stack at time 76 = [ [ ], [ ] ]

then arguments stack at time 77 = [ [ ], [ ] ]


Do Parent Stack At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • parent stack at time 76 = [ self."y" = 5, [ ] ]

then parent stack at time 77 = [ self."y" = 5, [ ] ]


Do Stack At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • stack at time 76 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then stack at time 77 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]


Do Class Defs At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • Class Map at time 76 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 77 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Do Object Store At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • Python Object Store at time 76 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

then Python Object Store at time 77 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]


Do Control Map At Unchanged 76
if the following are true:
  • expression state at time 76 = "return"
  • Control Map at time 76 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]

then Control Map at time 77 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]


Get Iterate End State 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • arguments stack at time 77 = [ [ ], [ ] ]
  • parent stack at time 77 = [ self."y" = 5, [ ] ]

then expression state at time 78 = "call_function_begin"


Get Iterate End Expr 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • arguments stack at time 77 = [ [ ], [ ] ]
  • parent stack at time 77 = [ self."y" = 5, [ ] ]

then the expression at time 78 = self."y" = 5


Get Iterate End Parent 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • arguments stack at time 77 = [ [ ], [ ] ]
  • parent stack at time 77 = [ self."y" = 5, [ ] ]

then parent stack at time 78 = [ ]


Get Iterate End Params 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • arguments stack at time 77 = [ [ ], [ ] ]
  • parent stack at time 77 = [ self."y" = 5, [ ] ]

then arguments stack at time 78 = [ ]


Do Value Stack At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • Value Stack at time 77 = [ [ 5, [ ] ], [ ] ]

then Value Stack at time 78 = [ [ 5, [ ] ], [ ] ]


Do Line At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • the line at time 77 = 9

then the line at time 78 = 9


Do Tab At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • the tab at time 77 = 2

then the tab at time 78 = 2


Do Stack At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • stack at time 77 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then stack at time 78 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]


Do Object Store At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • Python Object Store at time 77 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

then Python Object Store at time 78 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]


Do Control Map At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • Control Map at time 77 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]

then Control Map at time 78 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]


Do Variables At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • Variables Map at time 77 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 78 = [ entry self: (Python reference 0), [ ] ]


Do Class Defs At Unchanged 77
if the following are true:
  • expression state at time 77 = "iterate_args"
  • Class Map at time 77 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 78 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Do Pre Extend 78 0
reverse and insert [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ] to the beginning of [ ] = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

Do Set Elements At 78 0
result of storing (Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ]) at index 0 of stack [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ] = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

Do Get Key Value 78 0
value at self in map [ entry self: (Python reference 0), [ ] ] = Python reference 0

Do Set Key Value 78 0
result of storing 5 at key: "y" in map: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ] = [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ]

Write Call Function Begin Set Attribute Element At 78
if Python Object Store at time 78 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ], then the element at index 0 of stack (Python Object Store at time 78) = Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ]

Get Key Value Variables At 78
if Variables Map at time 78 = [ entry self: (Python reference 0), [ ] ], then value at self in map (Variables Map at time 78) = Python reference 0

Write Call Function Begin Set Attribute 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • Value Stack at time 78 = [ [ 5, [ ] ], [ ] ]
  • the expression at time 78 = self."y" = 5
  • value at self in map (Variables Map at time 78) = Python reference 0
  • Python Object Store at time 78 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]
  • the element at index 0 of stack (Python Object Store at time 78) = Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ]

then Python Object Store at time 79 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]


Write Call Function Begin Next State 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • parent stack at time 78 = [ ]
  • the expression at time 78 = self."y" = 5

then expression state at time 79 = "end_expr"


Write Call Function Begin Value Stack 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • Value Stack at time 78 = [ [ 5, [ ] ], [ ] ]
  • the expression at time 78 = self."y" = 5

then Value Stack at time 79 = [ ]


Do Arg Stack At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • arguments stack at time 78 = [ ]

then arguments stack at time 79 = [ ]


Do Parent Stack At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • parent stack at time 78 = [ ]

then parent stack at time 79 = [ ]


Do Control Map At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • Control Map at time 78 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]

then Control Map at time 79 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]


Do Variables At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • Variables Map at time 78 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 79 = [ entry self: (Python reference 0), [ ] ]


Do Line At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • the line at time 78 = 9

then the line at time 79 = 9


Do Tab At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • the tab at time 78 = 2

then the tab at time 79 = 2


Do Stack At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • stack at time 78 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then stack at time 79 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]


Do Class Defs At Unchanged 78
if the following are true:
  • expression state at time 78 = "call_function_begin"
  • Class Map at time 78 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 79 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Write Set Attribute End Line 79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 79 = "end_expr"

then the line at time 80 = 10


Write Stmt Tab Unchanged Expr79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 79 = "end_expr"

then the tab at time 80 = 2


Write Stmt Object Store At Unchanged Expr79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 79 = "end_expr"
  • Python Object Store at time 79 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

then Python Object Store at time 80 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 79 = "end_expr"
  • Control Map at time 79 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]

then Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]


Write Stmt Variables At Unchanged 79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • Variables Map at time 79 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 80 = [ entry self: (Python reference 0), [ ] ]


Write Stmt Stack At Unchanged 79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • stack at time 79 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]


Write Stmt Class Defs At Unchanged 79
if the following are true:
  • the line at time 79 = 9
  • the tab at time 79 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • Class Map at time 79 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 80 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Write End to Not Expr 79
if expression state at time 79 = "end_expr", then expression state at time 80 = "not_expr"

Do Get Key Value 80 0
value at 1 in map [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ] = pair ("method", "jump")

Get Decrement Key Value Control Map At 80
if Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ], then value at (2 - 1) in map (Control Map at time 80) = pair ("method", "jump")

Write Constructor Return Return Value 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • not ("jump" = "__init__")

then Return Value at time 81 = None


Write Constructor Return Line At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then the line at time 81 = 12


Write Constructor Return Tab At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then the tab at time 81 = 0


Write Constructor Return Expr State At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then expression state at time 81 = "call_returned"


Write Constructor Return Parent Stack At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then parent stack at time 81 = [ ]


Write Constructor Return Variables At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then Variables Map at time 81 = [ entry joe: (Python reference 0), [ ] ]


Write Constructor Return Arg Stack At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then arguments stack at time 81 = [ ]


Write Constructor Return Value Stack At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then Value Stack at time 81 = [ ]


Write Constructor Return Stack At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then stack at time 81 = [ ]


Write Constructor Return Control Map At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • stack at time 80 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]

then Control Map at time 81 = [ entry 0: (pair ("class", "Dog")), [ ] ]


Write Block End Unchanged Object Store At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • Python Object Store at time 80 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

then Python Object Store at time 81 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]


Write Block End Unchanged Class Defs At 80
if the following are true:
  • the line at time 80 = 10
  • the tab at time 80 = 2
  • statement at line 10, tab 0 = joe = Dog()
  • Control Map at time 80 = [ entry 0: (pair ("class", "Dog")), [ entry 1: (pair ("method", "jump")), [ ] ] ]
  • Class Map at time 80 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 81 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Write Call Returned State 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • parent stack at time 81 = [ ]

then expression state at time 82 = "end_expr"


Do Line At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • the line at time 81 = 12

then the line at time 82 = 12


Do Tab At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • the tab at time 81 = 0

then the tab at time 82 = 0


Do Variables At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Variables Map at time 81 = [ entry joe: (Python reference 0), [ ] ]

then Variables Map at time 82 = [ entry joe: (Python reference 0), [ ] ]


Do Return Value At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Return Value at time 81 = None

then Return Value at time 82 = None


Do Stack At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • stack at time 81 = [ ]

then stack at time 82 = [ ]


Do Parent Stack At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • parent stack at time 81 = [ ]

then parent stack at time 82 = [ ]


Do Arg Stack At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • arguments stack at time 81 = [ ]

then arguments stack at time 82 = [ ]


Do Object Store At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Python Object Store at time 81 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

then Python Object Store at time 82 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]


Do Value Stack At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Value Stack at time 81 = [ ]

then Value Stack at time 82 = [ ]


Do Control Map At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Control Map at time 81 = [ entry 0: (pair ("class", "Dog")), [ ] ]

then Control Map at time 82 = [ entry 0: (pair ("class", "Dog")), [ ] ]


Do Class Defs At Unchanged 81
if the following are true:
  • expression state at time 81 = "call_returned"
  • Class Map at time 81 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 82 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Write Increment T And Val Line At 82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"

then the line at time 83 = 13


Write Stmt Tab At Unchanged Expr82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"

then the tab at time 83 = 0


Write Stmt Control Map At Unchanged Expr82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"
  • Control Map at time 82 = [ entry 0: (pair ("class", "Dog")), [ ] ]

then Control Map at time 83 = [ entry 0: (pair ("class", "Dog")), [ ] ]


Write Stmt Object Store At Unchanged Expr82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"
  • Python Object Store at time 82 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]

then Python Object Store at time 83 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 5, [ ] ] ] ], [ ] ]


Write Stmt Variables At Unchanged Expr82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"
  • Variables Map at time 82 = [ entry joe: (Python reference 0), [ ] ]

then Variables Map at time 83 = [ entry joe: (Python reference 0), [ ] ]


Write Stmt Stack At Unchanged Expr82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • expression state at time 82 = "end_expr"
  • stack at time 82 = [ ]

then stack at time 83 = [ ]


Write Stmt Class Defs At Unchanged 82
if the following are true:
  • the line at time 82 = 12
  • the tab at time 82 = 0
  • statement at line 12, tab 0 = joe.jump()
  • Class Map at time 82 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]

then Class Map at time 83 = [ entry "Animal": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ ] ], [ entry "line": 2, [ ] ] ], [ entry "move": [ entry "params": [ self, [ ] ], [ entry "line": 5, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ entry "Dog": [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ], [ ] ] ]


Write End to Not Expr 82
if expression state at time 82 = "end_expr", then expression state at time 83 = "not_expr"

Element At Example
the element at index 0 of stack [ 10, [ 12, [ 14, [ ] ] ] ] = 10

List Get Item Example
the element at index 2 of stack [ 10, [ 12, [ 14, [ ] ] ] ] = 14

List Length Example
length of stack [ 10, [ 12, [ 14, [ ] ] ] ] = 3

Reverse List Example 4
reverse of [ 14, [ 10, [ ] ] ] = [ 10, [ 14, [ ] ] ]

Pop At Example
stack after popping a value from stack [ 10, [ 12, [ 14, [ ] ] ] ] at index 1 = [ 10, [ 14, [ ] ] ]

List Contains Element Example
stack [ 2, [ 4, [ 6, [ ] ] ] ] contains 4 = True

Map Has Key Example
map [ entry "OH": "Ohio", [ entry "AK": "Alaska", [ entry "IA": "Iowa", [ ] ] ] ] contains key "AK" = True

Map Does Not Have Key Example
map [ entry "OH": "Ohio", [ entry "AK": "Alaska", [ entry "IA": "Iowa", [ ] ] ] ] contains key "TX" = False

Pre Extend Example
reverse and insert [ 4, [ 0, [ ] ] ] to the beginning of [ 2, [ ] ] = [ 0, [ 4, [ 2, [ ] ] ] ]

Set List Element at Index Example
result of storing 4 at index 1 of stack [ 0, [ 1, [ 2, [ ] ] ] ] = [ 0, [ 4, [ 2, [ ] ] ] ]

Push Stack Example
result of dumping [ 4, [ 0, [ ] ] ] to [ 2, [ ] ] = [ 0, [ 4, [ 2, [ ] ] ] ]

Reverse Example
reverse of remaining stack [ [ 0, [ ] ], [ [ 1, [ ] ], [ ] ] ] and already reversed stack [ ] = [ [ 1, [ ] ], [ [ 0, [ ] ], [ ] ] ]

Reverse List Two General
reverse of remaining stack [ [ x, [ ] ], [ [ y, [ ] ], [ ] ] ] and already reversed stack [ ] = [ [ y, [ ] ], [ [ x, [ ] ], [ ] ] ]

Reverse Two
reverse of [ [ x, [ ] ], [ [ y, [ ] ], [ ] ] ] = [ [ y, [ ] ], [ [ x, [ ] ], [ ] ] ]

Reverse One
reverse of [ [ 0, [ ] ], [ ] ] = [ [ 0, [ ] ], [ ] ]

Reverse Example General
reverse of [ x, [ ] ] = [ x, [ ] ]

Set Key Value Example
result of storing 5 at key: a in map: [ ] = [ entry a: 5, [ ] ]

Compare Example
compare bit stack [ 0, [ ] ] and bit stack [ 1, [ ] ] = [ 0, [ 0, [ ] ] ]

Compare Example Eq
compare bit stack [ 1, [ ] ] and bit stack [ 1, [ ] ] = [ 1, [ 0, [ ] ] ]


Pages: 188 189 190 ... 193