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 Set Key Value 0 0
result of storing [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ] at key: "Person" in map: [ ] = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ]

Class Statement Property Example
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Class Map at time 0 = [ ]

then Class Map at time 1 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Do Set Key Value 0 1
result of storing (pair ("class", "Person")) at key: 0 in map: [ ] = [ entry 0: (pair ("class", "Person")), [ ] ]

Class Statement Control Property Example
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Control Map at time 0 = [ ]

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


Class Statement Line Property Example
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:

then the line at time 1 = 2


Write Stmt Variables At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Variables Map at time 0 = [ ]

then Variables Map at time 1 = [ ]


Write Stmt Stack At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • stack at time 0 = [ ]

then stack at time 1 = [ ]


Class Statement Tab Property Example
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:

then the tab at time 1 = 1


Write Stmt Object Store At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Python Object Store at time 0 = [ ]

then Python Object Store at time 1 = [ ]


Do Get Key Value 1 0
value at "Person" in map [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ] = [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ]

Get Key Value Class Defs At 1
if Class Map at time 1 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ], then value at "Person" in map (Class Map at time 1) = [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ]

Do Get Key Value 1 1
value at "methods" in map [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ] = [ ]

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

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

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

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

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


Method Definition Line Property Example
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):

then the line at time 2 = 3


Write Stmt Variables At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • Variables Map at time 1 = [ ]

then Variables Map at time 2 = [ ]


Write Stmt Stack At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • stack at time 1 = [ ]

then stack at time 2 = [ ]


Method Definition Tab Property Example
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):

then the tab at time 2 = 1


Write Stmt Object Store At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • Python Object Store at time 1 = [ ]

then Python Object Store at time 2 = [ ]


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

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


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

then the line at time 3 = 4


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

then the tab at time 3 = 1


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

then Variables Map at time 3 = [ ]


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

then stack at time 3 = [ ]


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

then Python Object Store at time 3 = [ ]


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

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


Write Skip Line Class Defs At 2
if the following are true:
  • the line at time 2 = 3
  • the tab at time 2 = 1
  • statement at line 3, tab 2 = self.first_name = first_name
  • Class Map at time 2 = [ 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 3 = [ 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 2
if the following are true:
  • the line at time 2 = 3
  • the tab at time 2 = 1
  • statement at line 3, tab 2 = self.first_name = first_name

then expression state at time 3 = "not_expr"


Write Skip Line Line 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 the line at time 4 = 5


Write Skip Line Tab 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 the tab at time 4 = 1


Write Skip Line Variables 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
  • Variables Map at time 3 = [ ]

then Variables Map at time 4 = [ ]


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 Set Key Value 0 0
result of storing [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ] at key: "Person" in map: [ ] = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ]

Write Class Def 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Class Map at time 0 = [ ]

then Class Map at time 1 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ]


Do Set Key Value 0 1
result of storing (pair ("class", "Person")) at key: 0 in map: [ ] = [ entry 0: (pair ("class", "Person")), [ ] ]

Write Class Def Control Map 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Control Map at time 0 = [ ]

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


Write Increment T And Val Line At 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:

then the line at time 1 = 2


Write Stmt Variables At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Variables Map at time 0 = [ ]

then Variables Map at time 1 = [ ]


Write Stmt Stack At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • stack at time 0 = [ ]

then stack at time 1 = [ ]


Write Increment T And Val Tab At 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:

then the tab at time 1 = 1


Write Stmt Object Store At Unchanged 0
if the following are true:
  • the line at time 0 = 1
  • the tab at time 0 = 0
  • statement at line 1, tab 0 = class Person:
  • Python Object Store at time 0 = [ ]

then Python Object Store at time 1 = [ ]


Do Get Key Value 1 0
value at "Person" in map [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ] = [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ]

Get Key Value Class Defs At 1
if Class Map at time 1 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ], [ ] ], then value at "Person" in map (Class Map at time 1) = [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ]

Do Get Key Value 1 1
value at "methods" in map [ entry "bases": [ ], [ entry "methods": [ ], [ entry "line": 1, [ ] ] ] ] = [ ]

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

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

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

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

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


Write Increment T And Val Line At 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):

then the line at time 2 = 3


Write Stmt Variables At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • Variables Map at time 1 = [ ]

then Variables Map at time 2 = [ ]


Write Stmt Stack At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • stack at time 1 = [ ]

then stack at time 2 = [ ]


Write Set Name Tab At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):

then the tab at time 2 = 1


Write Stmt Object Store At Unchanged 1
if the following are true:
  • the line at time 1 = 2
  • the tab at time 1 = 1
  • statement at line 2, tab 1 = def __init__(self, first_name, last_name, age):
  • Python Object Store at time 1 = [ ]

then Python Object Store at time 2 = [ ]


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

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


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

then the line at time 3 = 4


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

then the tab at time 3 = 1


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

then Variables Map at time 3 = [ ]


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

then stack at time 3 = [ ]


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

then Python Object Store at time 3 = [ ]


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

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


Write Skip Line Class Defs At 2
if the following are true:
  • the line at time 2 = 3
  • the tab at time 2 = 1
  • statement at line 3, tab 2 = self.first_name = first_name
  • Class Map at time 2 = [ 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 3 = [ 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 2
if the following are true:
  • the line at time 2 = 3
  • the tab at time 2 = 1
  • statement at line 3, tab 2 = self.first_name = first_name

then expression state at time 3 = "not_expr"


Write Skip Line Line 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 the line at time 4 = 5


Write Skip Line Tab 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 the tab at time 4 = 1


Write Skip Line Variables 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
  • Variables Map at time 3 = [ ]

then Variables Map at time 4 = [ ]



Pages: 168 169 170 ... 193