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
- 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, [ ] ] ] ], [ ] ]
- 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")), [ ] ]
- 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
- 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 = [ ]
- 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 = [ ]
- 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
- 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 = [ ]
- 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, [ ] ] ] ], [ ] ]
- 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
- 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 = [ ]
- 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 = [ ]
- 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
- 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 = [ ]
- 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")), [ ] ]
- 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
- 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
- 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 = [ ]
- 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 = [ ]
- 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 = [ ]
- 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")), [ ] ]
- 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, [ ] ] ] ], [ ] ]
- 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"
- 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
- 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
- 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 = [ ]
- 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 = [ ]
- 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 = [ ]
- 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")), [ ] ]
- 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, [ ] ] ] ], [ ] ]
- 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"
- 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
- 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
- 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 = [ ]
- 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 = [ ]
- 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 = [ ]
- 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")), [ ] ]
- 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, [ ] ] ] ], [ ] ]
- 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"
- 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, [ ] ] ] ], [ ] ]
- 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
- 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 = [ ]
- 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 = [ ]
- 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
- 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 = [ ]
- 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")), [ ] ]
- 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
- 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
- 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 = [ ]
- 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 = [ ]
- 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 = [ ]
- 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")), [ ] ]
- 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, [ ] ] ] ], [ ] ]
- 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"
- 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, [ ] ] ] ], [ ] ]
- 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")), [ ] ]
- 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
- 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 = [ ]
- 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 = [ ]
- 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
- 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 = [ ]
- 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, [ ] ] ] ], [ ] ]
- 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
- 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 = [ ]
- 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 = [ ]
- 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
- 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 = [ ]
- 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")), [ ] ]
- 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
- 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
- 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 = [ ]
- 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 = [ ]
- 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 = [ ]
- 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")), [ ] ]
- 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, [ ] ] ] ], [ ] ]
- 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"
- 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
- 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
- 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 = [ ]