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

Write Skip Line Stack At 3
if the following are true:
  • the line at time 3 = 4
  • the tab at time 3 = 1
  • statement at line 4, tab 2 = self.last_name = last_name
  • stack at time 3 = [ ]

then stack at time 4 = [ ]


Write Skip Line Object Store At 3
if the following are true:
  • the line at time 3 = 4
  • the tab at time 3 = 1
  • statement at line 4, tab 2 = self.last_name = last_name
  • Python Object Store at time 3 = [ ]

then Python Object Store at time 4 = [ ]


Write Skip Line Control Map At 3
if the following are true:
  • the line at time 3 = 4
  • the tab at time 3 = 1
  • statement at line 4, tab 2 = self.last_name = last_name
  • Control Map at time 3 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Skip Line Class Defs At 3
if the following are true:
  • the line at time 3 = 4
  • the tab at time 3 = 1
  • statement at line 4, tab 2 = self.last_name = last_name
  • Class Map at time 3 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 4 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Write Skip Line State 3
if the following are true:
  • the line at time 3 = 4
  • the tab at time 3 = 1
  • statement at line 4, tab 2 = self.last_name = last_name

then expression state at time 4 = "not_expr"


Write Skip Line Line 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age

then the line at time 5 = 6


Write Skip Line Tab 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age

then the tab at time 5 = 1


Write Skip Line Variables At 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age
  • Variables Map at time 4 = [ ]

then Variables Map at time 5 = [ ]


Write Skip Line Stack At 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age
  • stack at time 4 = [ ]

then stack at time 5 = [ ]


Write Skip Line Object Store At 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age
  • Python Object Store at time 4 = [ ]

then Python Object Store at time 5 = [ ]


Write Skip Line Control Map At 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age
  • Control Map at time 4 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Skip Line Class Defs At 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age
  • Class Map at time 4 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 5 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Write Skip Line State 4
if the following are true:
  • the line at time 4 = 5
  • the tab at time 4 = 1
  • statement at line 5, tab 2 = self.age = age

then expression state at time 5 = "not_expr"


Do Get Key Value 5 0
value at "Person" in map [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ] = [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ]

Get Key Value Class Defs At 5
if Class Map at time 5 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ], then value at "Person" in map (Class Map at time 5) = [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ]

Do Get Key Value 5 1
value at "methods" in map [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ] = [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ]

Do Set Key Value 5 0
result of storing [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ] at key: "age_in_months" in map: [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ] = [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ]

Do Set Key Value 5 1
result of storing [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ] at key: "methods" in map: [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ] = [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ]

Do Set Key Value 5 2
result of storing [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ] at key: "Person" in map: [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ] = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

Write Method Def 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):
  • value at "Person" in map (Class Map at time 5) = [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ]
  • value at "methods" in map [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ] = [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ]
  • Class Map at time 5 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 6 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Write Increment T And Val Line At 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):

then the line at time 6 = 7


Write Stmt Variables At Unchanged 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):
  • Variables Map at time 5 = [ ]

then Variables Map at time 6 = [ ]


Write Stmt Stack At Unchanged 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):
  • stack at time 5 = [ ]

then stack at time 6 = [ ]


Write Set Name Tab At Unchanged 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):

then the tab at time 6 = 1


Write Stmt Object Store At Unchanged 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):
  • Python Object Store at time 5 = [ ]

then Python Object Store at time 6 = [ ]


Write Stmt Control Map At Unchanged 5
if the following are true:
  • the line at time 5 = 6
  • the tab at time 5 = 1
  • statement at line 6, tab 1 = def age_in_months(self):
  • Control Map at time 5 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Skip Line Line 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12

then the line at time 7 = 8


Write Skip Line Tab 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12

then the tab at time 7 = 1


Write Skip Line Variables At 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12
  • Variables Map at time 6 = [ ]

then Variables Map at time 7 = [ ]


Write Skip Line Stack At 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12
  • stack at time 6 = [ ]

then stack at time 7 = [ ]


Write Skip Line Object Store At 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12
  • Python Object Store at time 6 = [ ]

then Python Object Store at time 7 = [ ]


Write Skip Line Control Map At 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12
  • Control Map at time 6 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Skip Line Class Defs At 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12
  • Class Map at time 6 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 7 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Write Skip Line State 6
if the following are true:
  • the line at time 6 = 7
  • the tab at time 6 = 1
  • statement at line 7, tab 2 = return self.age * 12

then expression state at time 7 = "not_expr"


Do Get Key Value 7 0
value at 0 in map [ entry 0: (pair ("class", "Person")), [ ] ] = pair ("class", "Person")

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

Write Class Def End Tab 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]

then the tab at time 8 = 0


Write Class Def End Control Map At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Decrement Tab Expr State 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)

then expression state at time 8 = "not_expr"


Write Block End Unchanged Line At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]

then the line at time 8 = 8


Write Block End Unchanged Variables At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
  • Variables Map at time 7 = [ ]

then Variables Map at time 8 = [ ]


Write Block End Unchanged Stack At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
  • stack at time 7 = [ ]

then stack at time 8 = [ ]


Write Block End Unchanged Object Store At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
  • Python Object Store at time 7 = [ ]

then Python Object Store at time 8 = [ ]


Write Block End Unchanged Class Defs At 7
if the following are true:
  • the line at time 7 = 8
  • the tab at time 7 = 1
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
  • Class Map at time 7 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 8 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Assign Constructor Initial Expression Property Example
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then the expression at time 9 = Person("John", "Smith", 25)


Assign Constructor Initial State Property Example
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then expression state at time 9 = "begin_expr"


Write Set Name Line At on State 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then the line at time 9 = 8


Write Set Name Tab At on State 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then the tab at time 9 = 0


Write Set Name Value Stack At on State 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then Value Stack at time 9 = [ ]


Write Set Name Parent Stack At on State 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then parent stack at time 9 = [ ]


Write Set Name Arg Stack At on State 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"

then arguments stack at time 9 = [ ]


Write Stmt Variables At Unchanged Expr8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"
  • Variables Map at time 8 = [ ]

then Variables Map at time 9 = [ ]


Write Stmt Stack At Unchanged Expr8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"
  • stack at time 8 = [ ]

then stack at time 9 = [ ]


Write Stmt Object Store At Unchanged Expr8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • expression state at time 8 = "not_expr"
  • Python Object Store at time 8 = [ ]

then Python Object Store at time 9 = [ ]


Write Stmt Control Map At Unchanged 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Control Map at time 8 = [ entry 0: (pair ("class", "Person")), [ ] ]

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


Write Stmt Class Defs At Unchanged 8
if the following are true:
  • the line at time 8 = 8
  • the tab at time 8 = 0
  • statement at line 8, tab 0 = p = Person("John", "Smith", 25)
  • Class Map at time 8 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 9 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Get Begin Expr Value 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • the expression at time 9 = Person("John", "Smith", 25)
  • Value Stack at time 9 = [ ]

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


Begin Constructor Parent Property Example
if the following are true:
  • expression state at time 9 = "begin_expr"
  • the expression at time 9 = Person("John", "Smith", 25)
  • parent stack at time 9 = [ ]

then parent stack at time 10 = [ Person("John", "Smith", 25), [ ] ]


Begin Constructor Arguments Property Example
if the following are true:
  • expression state at time 9 = "begin_expr"
  • the expression at time 9 = Person("John", "Smith", 25)
  • arguments stack at time 9 = [ ]

then arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]


Get Begin Expr Call State 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • the expression at time 9 = Person("John", "Smith", 25)

then expression state at time 10 = "iterate_args"


Do Expr At Unchanged 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • the expression at time 9 = Person("John", "Smith", 25)

then the expression at time 10 = Person("John", "Smith", 25)


Do Variables At Unchanged 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • Variables Map at time 9 = [ ]

then Variables Map at time 10 = [ ]


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

then the line at time 10 = 8


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

then the tab at time 10 = 0


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

then stack at time 10 = [ ]


Do Object Store At Unchanged 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • Python Object Store at time 9 = [ ]

then Python Object Store at time 10 = [ ]


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

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


Do Class Defs At Unchanged 9
if the following are true:
  • expression state at time 9 = "begin_expr"
  • Class Map at time 9 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 10 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Get Iterate Expr 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]

then the expression at time 11 = "John"


Get Iterate Params 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]

then arguments stack at time 11 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]


Get Iterate State 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]

then expression state at time 11 = "begin_expr"


Get Iterate Parent 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
  • parent stack at time 10 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 11 = [ Person("John", "Smith", 25), [ ] ]


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

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


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

then the line at time 11 = 8


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

then the tab at time 11 = 0


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

then stack at time 11 = [ ]


Do Object Store At Unchanged 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • Python Object Store at time 10 = [ ]

then Python Object Store at time 11 = [ ]


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

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


Do Variables At Unchanged 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • Variables Map at time 10 = [ ]

then Variables Map at time 11 = [ ]


Do Class Defs At Unchanged 10
if the following are true:
  • expression state at time 10 = "iterate_args"
  • Class Map at time 10 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 11 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Get Begin Expr State 11
if the following are true:
  • the expression at time 11 = "John"
  • expression state at time 11 = "begin_expr"
  • "John" is constant
  • parent stack at time 11 = [ Person("John", "Smith", 25), [ ] ]

then expression state at time 12 = "return"


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

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


Get Begin Expr Params Unchanged11
if the following are true:
  • the expression at time 11 = "John"
  • expression state at time 11 = "begin_expr"
  • "John" is constant
  • arguments stack at time 11 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]

then arguments stack at time 12 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]


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

then Return Value at time 12 = "John"


Get Begin Expr Const Parent 11
if the following are true:
  • expression state at time 11 = "begin_expr"
  • the expression at time 11 = "John"
  • "John" is constant
  • parent stack at time 11 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 12 = [ Person("John", "Smith", 25), [ ] ]


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

then the line at time 12 = 8


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

then the tab at time 12 = 0


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

then stack at time 12 = [ ]


Do Object Store At Unchanged 11
if the following are true:
  • expression state at time 11 = "begin_expr"
  • Python Object Store at time 11 = [ ]

then Python Object Store at time 12 = [ ]


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

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


Do Variables At Unchanged 11
if the following are true:
  • expression state at time 11 = "begin_expr"
  • Variables Map at time 11 = [ ]

then Variables Map at time 12 = [ ]


Do Class Defs At Unchanged 11
if the following are true:
  • expression state at time 11 = "begin_expr"
  • Class Map at time 11 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]

then Class Map at time 12 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Get New State 12
if expression state at time 12 = "return", then expression state at time 13 = "iterate_args"

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

then Value Stack at time 13 = [ [ "John", [ ] ], [ ] ]


Do Variables At Unchanged 12
if the following are true:
  • expression state at time 12 = "return"
  • Variables Map at time 12 = [ ]

then Variables Map at time 13 = [ ]


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

then the line at time 13 = 8


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

then the tab at time 13 = 0


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

then arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]


Do Parent Stack At Unchanged 12
if the following are true:
  • expression state at time 12 = "return"
  • parent stack at time 12 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 13 = [ Person("John", "Smith", 25), [ ] ]


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

then stack at time 13 = [ ]



Pages: 169 170 171 ... 193