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

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

then the tab at time 53 = 2


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

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


Do Class Defs At Unchanged 52
if the following are true:
  • expression state at time 52 = "call_function_begin"
  • Class Map at time 52 = [ 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 53 = [ 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, [ ] ] ] ], [ ] ] ]


Get New State 53
if expression state at time 53 = "return", then expression state at time 54 = "iterate_args"

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

then Value Stack at time 54 = [ [ 0, [ ] ], [ [ ], [ ] ] ]


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

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


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

then the line at time 54 = 6


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

then the tab at time 54 = 2


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

then arguments stack at time 54 = [ [ 5, [ ] ], [ [ ], [ ] ] ]


Do Parent Stack At Unchanged 53
if the following are true:
  • expression state at time 53 = "return"
  • parent stack at time 53 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then parent stack at time 54 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]


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

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


Do Class Defs At Unchanged 53
if the following are true:
  • expression state at time 53 = "return"
  • Class Map at time 53 = [ 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 54 = [ 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 53
if the following are true:
  • expression state at time 53 = "return"
  • Python Object Store at time 53 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 0, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


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

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


Get Iterate Expr 54
if the following are true:
  • expression state at time 54 = "iterate_args"
  • arguments stack at time 54 = [ [ 5, [ ] ], [ [ ], [ ] ] ]

then the expression at time 55 = 5


Get Iterate Params 54
if the following are true:
  • expression state at time 54 = "iterate_args"
  • arguments stack at time 54 = [ [ 5, [ ] ], [ [ ], [ ] ] ]

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


Get Iterate State 54
if the following are true:
  • expression state at time 54 = "iterate_args"
  • arguments stack at time 54 = [ [ 5, [ ] ], [ [ ], [ ] ] ]

then expression state at time 55 = "begin_expr"


Get Iterate Parent 54
if the following are true:
  • expression state at time 54 = "iterate_args"
  • arguments stack at time 54 = [ [ 5, [ ] ], [ [ ], [ ] ] ]
  • parent stack at time 54 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then parent stack at time 55 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]


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

then Value Stack at time 55 = [ [ 0, [ ] ], [ [ ], [ ] ] ]


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

then the line at time 55 = 6


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

then the tab at time 55 = 2


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

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


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

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


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

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


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

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


Do Class Defs At Unchanged 54
if the following are true:
  • expression state at time 54 = "iterate_args"
  • Class Map at time 54 = [ 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 55 = [ 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, [ ] ] ] ], [ ] ] ]


Get Begin Expr State 55
if the following are true:
  • the expression at time 55 = 5
  • expression state at time 55 = "begin_expr"
  • 5 is constant
  • parent stack at time 55 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then expression state at time 56 = "return"


Get Begin Expr Value Unchaged 55
if the following are true:
  • the expression at time 55 = 5
  • expression state at time 55 = "begin_expr"
  • 5 is constant
  • Value Stack at time 55 = [ [ 0, [ ] ], [ [ ], [ ] ] ]

then Value Stack at time 56 = [ [ 0, [ ] ], [ [ ], [ ] ] ]


Get Begin Expr Params Unchanged55
if the following are true:
  • the expression at time 55 = 5
  • expression state at time 55 = "begin_expr"
  • 5 is constant
  • arguments stack at time 55 = [ [ ], [ [ ], [ ] ] ]

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


Get Begin Expr Return 55
if the following are true:
  • expression state at time 55 = "begin_expr"
  • the expression at time 55 = 5
  • 5 is constant

then Return Value at time 56 = 5


Get Begin Expr Const Parent 55
if the following are true:
  • expression state at time 55 = "begin_expr"
  • the expression at time 55 = 5
  • 5 is constant
  • parent stack at time 55 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then parent stack at time 56 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]


Do Line At Unchanged 55
if the following are true:
  • expression state at time 55 = "begin_expr"
  • the line at time 55 = 6

then the line at time 56 = 6


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

then the tab at time 56 = 2


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

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


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

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


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

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


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

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


Do Class Defs At Unchanged 55
if the following are true:
  • expression state at time 55 = "begin_expr"
  • Class Map at time 55 = [ 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 56 = [ 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, [ ] ] ] ], [ ] ] ]


Get New State 56
if expression state at time 56 = "return", then expression state at time 57 = "iterate_args"

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

then Value Stack at time 57 = [ [ 5, [ 0, [ ] ] ], [ [ ], [ ] ] ]


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

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


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

then the line at time 57 = 6


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

then the tab at time 57 = 2


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

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


Do Parent Stack At Unchanged 56
if the following are true:
  • expression state at time 56 = "return"
  • parent stack at time 56 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then parent stack at time 57 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]


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

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


Do Class Defs At Unchanged 56
if the following are true:
  • expression state at time 56 = "return"
  • Class Map at time 56 = [ 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 57 = [ 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 56
if the following are true:
  • expression state at time 56 = "return"
  • Python Object Store at time 56 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 0, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


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

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


Get Iterate End State 57
if the following are true:
  • expression state at time 57 = "iterate_args"
  • arguments stack at time 57 = [ [ ], [ [ ], [ ] ] ]
  • parent stack at time 57 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then expression state at time 58 = "call_function_begin"


Get Iterate End Expr 57
if the following are true:
  • expression state at time 57 = "iterate_args"
  • arguments stack at time 57 = [ [ ], [ [ ], [ ] ] ]
  • parent stack at time 57 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then the expression at time 58 = __add__(self.x, 5)


Get Iterate End Parent 57
if the following are true:
  • expression state at time 57 = "iterate_args"
  • arguments stack at time 57 = [ [ ], [ [ ], [ ] ] ]
  • parent stack at time 57 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

then parent stack at time 58 = [ self."x" = __add__(self.x, 5), [ ] ]


Get Iterate End Params 57
if the following are true:
  • expression state at time 57 = "iterate_args"
  • arguments stack at time 57 = [ [ ], [ [ ], [ ] ] ]
  • parent stack at time 57 = [ __add__(self.x, 5), [ self."x" = __add__(self.x, 5), [ ] ] ]

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


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

then Value Stack at time 58 = [ [ 5, [ 0, [ ] ] ], [ [ ], [ ] ] ]


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

then the line at time 58 = 6


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

then the tab at time 58 = 2


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

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


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

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


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

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


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

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


Do Class Defs At Unchanged 57
if the following are true:
  • expression state at time 57 = "iterate_args"
  • Class Map at time 57 = [ 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 58 = [ 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 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • the expression at time 58 = __add__(self.x, 5)
  • Python Object Store at time 58 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 0, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


Write Call Function Begin Add Return Val 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • Value Stack at time 58 = [ [ 5, [ 0, [ ] ] ], [ [ ], [ ] ] ]
  • the expression at time 58 = __add__(self.x, 5)

then Return Value at time 59 = 5


Write Call Function Begin Next State 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • parent stack at time 58 = [ self."x" = __add__(self.x, 5), [ ] ]
  • the expression at time 58 = __add__(self.x, 5)

then expression state at time 59 = "return"


Write Call Function Begin Value Stack 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • Value Stack at time 58 = [ [ 5, [ 0, [ ] ] ], [ [ ], [ ] ] ]
  • the expression at time 58 = __add__(self.x, 5)

then Value Stack at time 59 = [ [ ], [ ] ]


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

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


Do Parent Stack At Unchanged 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • parent stack at time 58 = [ self."x" = __add__(self.x, 5), [ ] ]

then parent stack at time 59 = [ self."x" = __add__(self.x, 5), [ ] ]


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

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


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

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


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

then the line at time 59 = 6


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

then the tab at time 59 = 2


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

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


Do Class Defs At Unchanged 58
if the following are true:
  • expression state at time 58 = "call_function_begin"
  • Class Map at time 58 = [ 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 59 = [ 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, [ ] ] ] ], [ ] ] ]


Get New State 59
if expression state at time 59 = "return", then expression state at time 60 = "iterate_args"

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

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


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

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


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

then the line at time 60 = 6


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

then the tab at time 60 = 2


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

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


Do Parent Stack At Unchanged 59
if the following are true:
  • expression state at time 59 = "return"
  • parent stack at time 59 = [ self."x" = __add__(self.x, 5), [ ] ]

then parent stack at time 60 = [ self."x" = __add__(self.x, 5), [ ] ]


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

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


Do Class Defs At Unchanged 59
if the following are true:
  • expression state at time 59 = "return"
  • Class Map at time 59 = [ 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 60 = [ 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 59
if the following are true:
  • expression state at time 59 = "return"
  • Python Object Store at time 59 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 0, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


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

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


Get Iterate End State 60
if the following are true:
  • expression state at time 60 = "iterate_args"
  • arguments stack at time 60 = [ [ ], [ ] ]
  • parent stack at time 60 = [ self."x" = __add__(self.x, 5), [ ] ]

then expression state at time 61 = "call_function_begin"


Get Iterate End Expr 60
if the following are true:
  • expression state at time 60 = "iterate_args"
  • arguments stack at time 60 = [ [ ], [ ] ]
  • parent stack at time 60 = [ self."x" = __add__(self.x, 5), [ ] ]

then the expression at time 61 = self."x" = __add__(self.x, 5)


Get Iterate End Parent 60
if the following are true:
  • expression state at time 60 = "iterate_args"
  • arguments stack at time 60 = [ [ ], [ ] ]
  • parent stack at time 60 = [ self."x" = __add__(self.x, 5), [ ] ]

then parent stack at time 61 = [ ]


Get Iterate End Params 60
if the following are true:
  • expression state at time 60 = "iterate_args"
  • arguments stack at time 60 = [ [ ], [ ] ]
  • parent stack at time 60 = [ self."x" = __add__(self.x, 5), [ ] ]

then arguments stack at time 61 = [ ]


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

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


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

then the line at time 61 = 6


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

then the tab at time 61 = 2


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

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


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

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


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

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


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

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


Do Class Defs At Unchanged 60
if the following are true:
  • expression state at time 60 = "iterate_args"
  • Class Map at time 60 = [ 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 61 = [ 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 61 0
reverse and insert [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ] to the beginning of [ ] = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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

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

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


Pages: 185 186 187 ... 193