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 Get Key Value 69 4
value at "Dog" in map [ 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, [ ] ] ] ], [ ] ] ] = [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ]

Do Get Key Value 69 1
value at "methods" in map [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ] = [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ]

Do Get Key Value 69 2
value at "jump" in map [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

Do Get Key Value 69 3
value at "params" in map [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ] = [ self, [ ] ]

Prove Find Method Def 69
definition of method "jump" of class "Dog" in [ 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, [ ] ] ] ], [ ] ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

Prove Find Method Def At 69
if Class Map at time 69 = [ 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 definition of method "jump" of class "Dog" in (Class Map at time 69) = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

Prove Find Method Params 69
if Class Map at time 69 = [ 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 method parameters where the Class Map is (Class Map at time 69), class name is "Dog", and method name is "jump" = [ self, [ ] ]

Write Call Function Begin Method Call Params 69
if the following are true:
  • expression state at time 69 = "call_function_begin"
  • the expression at time 69 = joe.jump()
  • value at joe in map (Variables Map at time 69) = Python reference 0
  • the element at index 0 of stack (Python Object Store at time 69) = Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ]
  • method parameters where the Class Map is (Class Map at time 69), class name is "Dog", and method name is "jump" = [ self, [ ] ]

then Parameters List at time 70 = [ self, [ ] ]


Do Reverse 69 0
reverse of "[]" = reverse of remaining stack "[]" and already reversed stack [ ]

Write Call Method Begin Values 69
if the following are true:
  • expression state at time 69 = "call_function_begin"
  • Value Stack at time 69 = [ [ ], [ ] ]
  • the expression at time 69 = joe.jump()
  • value at joe in map (Variables Map at time 69) = Python reference 0
  • the element at index 0 of stack (Python Object Store at time 69) = Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ]
  • definition of method "jump" of class "Dog" in (Class Map at time 69) = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

then Argument Values at time 70 = [ Python reference 0, [ ] ]


Write Call Function Begin Method Call Object Store 69
if the following are true:
  • expression state at time 69 = "call_function_begin"
  • the expression at time 69 = joe.jump()
  • value at joe in map (Variables Map at time 69) = Python reference 0
  • the element at index 0 of stack (Python Object Store at time 69) = Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ]
  • method parameters where the Class Map is (Class Map at time 69), class name is "Dog", and method name is "jump" = [ self, [ ] ]
  • Python Object Store at time 69 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


Write Call Function Begin Value Stack 69
if the following are true:
  • expression state at time 69 = "call_function_begin"
  • Value Stack at time 69 = [ [ ], [ ] ]
  • the expression at time 69 = joe.jump()

then Value Stack at time 70 = [ ]


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

then arguments stack at time 70 = [ ]


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

then parent stack at time 70 = [ ]


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

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


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

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


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

then the line at time 70 = 12


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

then the tab at time 70 = 0


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

then stack at time 70 = [ ]


Do Class Defs At Unchanged 69
if the following are true:
  • expression state at time 69 = "call_function_begin"
  • Class Map at time 69 = [ 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 70 = [ 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 Set Key Value 70 0
result of storing (Python reference 0) at key: self in map: [ ] = [ entry self: (Python reference 0), [ ] ]

Write Call Function Build Tmp 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Function Variables Map at time 70 = [ ]
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]

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


Write Call Function Build Func Args 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]

then Parameters List at time 71 = [ ]


Write Call Function Build Values 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]

then Argument Values at time 71 = [ ]


Write Call Function Build State 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]

then expression state at time 71 = "call_build_args"


Write Call Function Build Variables 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]
  • Variables Map at time 70 = [ entry joe: (Python reference 0), [ ] ]

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


Write Call Function Build Stack 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]
  • stack at time 70 = [ ]

then stack at time 71 = [ ]


Write Call Function Build Object Store 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]
  • Python Object Store at time 70 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


Write Call Function Build Control Map 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • Argument Values at time 70 = [ Python reference 0, [ ] ]
  • Control Map at time 70 = [ entry 0: (pair ("class", "Dog")), [ ] ]

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


Write Call Function Build Line At 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • the line at time 70 = 12

then the line at time 71 = 12


Write Call Function Build Tab At 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Parameters List at time 70 = [ self, [ ] ]
  • the tab at time 70 = 0

then the tab at time 71 = 0


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

then Value Stack at time 71 = [ ]


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

then arguments stack at time 71 = [ ]


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

then parent stack at time 71 = [ ]


Do Expr At Unchanged 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • the expression at time 70 = joe.jump()

then the expression at time 71 = joe.jump()


Do Class Defs At Unchanged 70
if the following are true:
  • expression state at time 70 = "call_build_args"
  • Class Map at time 70 = [ 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 71 = [ 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 Function Build End Stack 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • stack at time 71 = [ ]
  • Variables Map at time 71 = [ entry joe: (Python reference 0), [ ] ]
  • parent stack at time 71 = [ ]
  • arguments stack at time 71 = [ ]
  • Value Stack at time 71 = [ ]
  • the line at time 71 = 12
  • the tab at time 71 = 0
  • Control Map at time 71 = [ entry 0: (pair ("class", "Dog")), [ ] ]

then stack at time 72 = [ 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 Call Function Build End Variables 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • Function Variables Map at time 71 = [ entry self: (Python reference 0), [ ] ]

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


Do Get Key Value 71 0
value at "Dog" in map [ 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, [ ] ] ] ], [ ] ] ] = [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ]

Do Get Key Value 71 1
value at "methods" in map [ entry "bases": [ "Animal", [ ] ], [ entry "methods": [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ], [ entry "line": 7, [ ] ] ] ] = [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ]

Do Get Key Value 71 2
value at "jump" in map [ entry "jump": [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ], [ ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

Do Get Key Value 71 3
value at "line" in map [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ] = 8

Prove Find Method Def 71
definition of method "jump" of class "Dog" in [ 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, [ ] ] ] ], [ ] ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 8, [ ] ] ]

Prove Find Method Line 71
if Class Map at time 71 = [ 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 line number of method "jump" of class "Dog" in (Class Map at time 71) = 8

Write Call Function Build End Line Method 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • the expression at time 71 = joe.jump()
  • line number of method "jump" of class "Dog" in (Class Map at time 71) = 8

then the line at time 72 = 9


Write Call Function Build End Method Tab 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • the expression at time 71 = joe.jump()
  • line number of method "jump" of class "Dog" in (Class Map at time 71) = 8

then the tab at time 72 = 2


Write Call Function Build End State 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]

then expression state at time 72 = "not_expr"


Write Call Function Build End Object Store 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • Python Object Store at time 71 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


Write Call Function Build End Control Map 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Parameters List at time 71 = [ ]
  • the expression at time 71 = joe.jump()
  • line number of method "jump" of class "Dog" in (Class Map at time 71) = 8

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


Do Class Defs At Unchanged 71
if the following are true:
  • expression state at time 71 = "call_build_args"
  • Class Map at time 71 = [ 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 72 = [ 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 Convert Stmt 72
if statement at line 9, tab 2 = self.y = 5, then statement at line 9, tab 2 = self."y" = 5

Write Set Name Expr At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

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


Write Set Name Expr State At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then expression state at time 73 = "begin_expr"


Write Set Name Line At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then the line at time 73 = 9


Write Set Name Tab At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then the tab at time 73 = 2


Write Set Name Value Stack At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then Value Stack at time 73 = [ ]


Write Set Name Parent Stack At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then parent stack at time 73 = [ ]


Write Set Name Arg Stack At on State 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • expression state at time 72 = "not_expr"

then arguments stack at time 73 = [ ]


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

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


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

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


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

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


Write Stmt Stack At Unchanged 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • stack at time 72 = [ 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 73 = [ 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 72
if the following are true:
  • the line at time 72 = 9
  • the tab at time 72 = 2
  • statement at line 9, tab 2 = self."y" = 5
  • Class Map at time 72 = [ 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 73 = [ 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 Value 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • the expression at time 73 = self."y" = 5
  • Value Stack at time 73 = [ ]

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


Get Begin Expr Parent 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • the expression at time 73 = self."y" = 5
  • parent stack at time 73 = [ ]

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


Get Begin Expr Params 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • the expression at time 73 = self."y" = 5
  • arguments stack at time 73 = [ ]

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


Get Begin Expr Call State 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • the expression at time 73 = self."y" = 5

then expression state at time 74 = "iterate_args"


Do Expr At Unchanged 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • the expression at time 73 = self."y" = 5

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


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

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


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

then the line at time 74 = 9


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

then the tab at time 74 = 2


Do Stack At Unchanged 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • stack at time 73 = [ 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 74 = [ 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 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • Python Object Store at time 73 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


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

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


Do Class Defs At Unchanged 73
if the following are true:
  • expression state at time 73 = "begin_expr"
  • Class Map at time 73 = [ 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 74 = [ 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 Iterate Expr 74
if the following are true:
  • expression state at time 74 = "iterate_args"
  • arguments stack at time 74 = [ [ 5, [ ] ], [ ] ]

then the expression at time 75 = 5


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

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


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

then expression state at time 75 = "begin_expr"


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

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


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

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


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

then the line at time 75 = 9


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

then the tab at time 75 = 2


Do Stack At Unchanged 74
if the following are true:
  • expression state at time 74 = "iterate_args"
  • stack at time 74 = [ 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 75 = [ 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 74
if the following are true:
  • expression state at time 74 = "iterate_args"
  • Python Object Store at time 74 = [ Python object: [ entry "__class_name__": "Dog", [ entry "x": 5, [ entry "y": 0, [ ] ] ] ], [ ] ]

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


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

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


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

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


Do Class Defs At Unchanged 74
if the following are true:
  • expression state at time 74 = "iterate_args"
  • Class Map at time 74 = [ 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 75 = [ 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 75
if the following are true:
  • the expression at time 75 = 5
  • expression state at time 75 = "begin_expr"
  • 5 is constant
  • parent stack at time 75 = [ self."y" = 5, [ ] ]

then expression state at time 76 = "return"


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

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


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

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


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

then Return Value at time 76 = 5


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

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


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

then the line at time 76 = 9


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

then the tab at time 76 = 2


Do Stack At Unchanged 75
if the following are true:
  • expression state at time 75 = "begin_expr"
  • stack at time 75 = [ 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 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")), [ ] ], [ ] ]


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

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


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

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


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

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


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


Get New State 76
if expression state at time 76 = "return", then expression state at time 77 = "iterate_args"


Pages: 187 188 189 ... 193