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
- expression state at time 12 = "return"
- 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, [ ] ] ] ], [ ] ]
then Class Map at time 13 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 12 = "return"
- Python Object Store at time 12 = [ ]
then Python Object Store at time 13 = [ ]
- expression state at time 12 = "return"
- Control Map at time 12 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 13 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 13 = "iterate_args"
- arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
then the expression at time 14 = "Smith"
- expression state at time 13 = "iterate_args"
- arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
then arguments stack at time 14 = [ [ 25, [ ] ], [ ] ]
- expression state at time 13 = "iterate_args"
- arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
then expression state at time 14 = "begin_expr"
- expression state at time 13 = "iterate_args"
- arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
- parent stack at time 13 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 14 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 13 = "iterate_args"
- Value Stack at time 13 = [ [ "John", [ ] ], [ ] ]
then Value Stack at time 14 = [ [ "John", [ ] ], [ ] ]
- expression state at time 13 = "iterate_args"
- the line at time 13 = 8
then the line at time 14 = 8
- expression state at time 13 = "iterate_args"
- the tab at time 13 = 0
then the tab at time 14 = 0
- expression state at time 13 = "iterate_args"
- stack at time 13 = [ ]
then stack at time 14 = [ ]
- expression state at time 13 = "iterate_args"
- Python Object Store at time 13 = [ ]
then Python Object Store at time 14 = [ ]
- expression state at time 13 = "iterate_args"
- Control Map at time 13 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 14 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 13 = "iterate_args"
- Variables Map at time 13 = [ ]
then Variables Map at time 14 = [ ]
- expression state at time 13 = "iterate_args"
- Class Map at time 13 = [ 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 14 = [ 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 expression at time 14 = "Smith"
- expression state at time 14 = "begin_expr"
- "Smith" is constant
- parent stack at time 14 = [
Person("John", "Smith", 25)
, [ ] ]
then expression state at time 15 = "return"
- the expression at time 14 = "Smith"
- expression state at time 14 = "begin_expr"
- "Smith" is constant
- Value Stack at time 14 = [ [ "John", [ ] ], [ ] ]
then Value Stack at time 15 = [ [ "John", [ ] ], [ ] ]
- the expression at time 14 = "Smith"
- expression state at time 14 = "begin_expr"
- "Smith" is constant
- arguments stack at time 14 = [ [ 25, [ ] ], [ ] ]
then arguments stack at time 15 = [ [ 25, [ ] ], [ ] ]
- expression state at time 14 = "begin_expr"
- the expression at time 14 = "Smith"
- "Smith" is constant
then Return Value at time 15 = "Smith"
- expression state at time 14 = "begin_expr"
- the expression at time 14 = "Smith"
- "Smith" is constant
- parent stack at time 14 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 15 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 14 = "begin_expr"
- the line at time 14 = 8
then the line at time 15 = 8
- expression state at time 14 = "begin_expr"
- the tab at time 14 = 0
then the tab at time 15 = 0
- expression state at time 14 = "begin_expr"
- stack at time 14 = [ ]
then stack at time 15 = [ ]
- expression state at time 14 = "begin_expr"
- Python Object Store at time 14 = [ ]
then Python Object Store at time 15 = [ ]
- expression state at time 14 = "begin_expr"
- Control Map at time 14 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 15 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 14 = "begin_expr"
- Variables Map at time 14 = [ ]
then Variables Map at time 15 = [ ]
- expression state at time 14 = "begin_expr"
- Class Map at time 14 = [ 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 15 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 15 = "return"
- Value Stack at time 15 = [ [ "John", [ ] ], [ ] ]
- Return Value at time 15 = "Smith"
then Value Stack at time 16 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
- expression state at time 15 = "return"
- Variables Map at time 15 = [ ]
then Variables Map at time 16 = [ ]
- expression state at time 15 = "return"
- the line at time 15 = 8
then the line at time 16 = 8
- expression state at time 15 = "return"
- the tab at time 15 = 0
then the tab at time 16 = 0
- expression state at time 15 = "return"
- arguments stack at time 15 = [ [ 25, [ ] ], [ ] ]
then arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
- expression state at time 15 = "return"
- parent stack at time 15 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 16 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 15 = "return"
- stack at time 15 = [ ]
then stack at time 16 = [ ]
- expression state at time 15 = "return"
- Class Map at time 15 = [ 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 16 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 15 = "return"
- Python Object Store at time 15 = [ ]
then Python Object Store at time 16 = [ ]
- expression state at time 15 = "return"
- Control Map at time 15 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 16 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 16 = "iterate_args"
- arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
then the expression at time 17 = 25
- expression state at time 16 = "iterate_args"
- arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
then arguments stack at time 17 = [ [ ], [ ] ]
- expression state at time 16 = "iterate_args"
- arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
then expression state at time 17 = "begin_expr"
- expression state at time 16 = "iterate_args"
- arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
- parent stack at time 16 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 17 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 16 = "iterate_args"
- Value Stack at time 16 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
then Value Stack at time 17 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
- expression state at time 16 = "iterate_args"
- the line at time 16 = 8
then the line at time 17 = 8
- expression state at time 16 = "iterate_args"
- the tab at time 16 = 0
then the tab at time 17 = 0
- expression state at time 16 = "iterate_args"
- stack at time 16 = [ ]
then stack at time 17 = [ ]
- expression state at time 16 = "iterate_args"
- Python Object Store at time 16 = [ ]
then Python Object Store at time 17 = [ ]
- expression state at time 16 = "iterate_args"
- Control Map at time 16 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 17 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 16 = "iterate_args"
- Variables Map at time 16 = [ ]
then Variables Map at time 17 = [ ]
- expression state at time 16 = "iterate_args"
- Class Map at time 16 = [ 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 17 = [ 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 expression at time 17 = 25
- expression state at time 17 = "begin_expr"
- 25 is constant
- parent stack at time 17 = [
Person("John", "Smith", 25)
, [ ] ]
then expression state at time 18 = "return"
- the expression at time 17 = 25
- expression state at time 17 = "begin_expr"
- 25 is constant
- Value Stack at time 17 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
then Value Stack at time 18 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
- the expression at time 17 = 25
- expression state at time 17 = "begin_expr"
- 25 is constant
- arguments stack at time 17 = [ [ ], [ ] ]
then arguments stack at time 18 = [ [ ], [ ] ]
- expression state at time 17 = "begin_expr"
- the expression at time 17 = 25
- 25 is constant
then Return Value at time 18 = 25
- expression state at time 17 = "begin_expr"
- the expression at time 17 = 25
- 25 is constant
- parent stack at time 17 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 18 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 17 = "begin_expr"
- the line at time 17 = 8
then the line at time 18 = 8
- expression state at time 17 = "begin_expr"
- the tab at time 17 = 0
then the tab at time 18 = 0
- expression state at time 17 = "begin_expr"
- stack at time 17 = [ ]
then stack at time 18 = [ ]
- expression state at time 17 = "begin_expr"
- Python Object Store at time 17 = [ ]
then Python Object Store at time 18 = [ ]
- expression state at time 17 = "begin_expr"
- Control Map at time 17 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 18 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 17 = "begin_expr"
- Variables Map at time 17 = [ ]
then Variables Map at time 18 = [ ]
- expression state at time 17 = "begin_expr"
- Class Map at time 17 = [ 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 18 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 18 = "return"
- Value Stack at time 18 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]
- Return Value at time 18 = 25
then Value Stack at time 19 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
- expression state at time 18 = "return"
- Variables Map at time 18 = [ ]
then Variables Map at time 19 = [ ]
- expression state at time 18 = "return"
- the line at time 18 = 8
then the line at time 19 = 8
- expression state at time 18 = "return"
- the tab at time 18 = 0
then the tab at time 19 = 0
- expression state at time 18 = "return"
- arguments stack at time 18 = [ [ ], [ ] ]
then arguments stack at time 19 = [ [ ], [ ] ]
- expression state at time 18 = "return"
- parent stack at time 18 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 19 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 18 = "return"
- stack at time 18 = [ ]
then stack at time 19 = [ ]
- expression state at time 18 = "return"
- Class Map at time 18 = [ 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 19 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 18 = "return"
- Python Object Store at time 18 = [ ]
then Python Object Store at time 19 = [ ]
- expression state at time 18 = "return"
- Control Map at time 18 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 19 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 19 = "iterate_args"
- arguments stack at time 19 = [ [ ], [ ] ]
- parent stack at time 19 = [
Person("John", "Smith", 25)
, [ ] ]
then expression state at time 20 = "call_function_begin"
- expression state at time 19 = "iterate_args"
- arguments stack at time 19 = [ [ ], [ ] ]
- parent stack at time 19 = [
Person("John", "Smith", 25)
, [ ] ]
then the expression at time 20 = Person("John", "Smith", 25)
- expression state at time 19 = "iterate_args"
- arguments stack at time 19 = [ [ ], [ ] ]
- parent stack at time 19 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 20 = [ ]
- expression state at time 19 = "iterate_args"
- arguments stack at time 19 = [ [ ], [ ] ]
- parent stack at time 19 = [
Person("John", "Smith", 25)
, [ ] ]
then arguments stack at time 20 = [ ]
- expression state at time 19 = "iterate_args"
- Value Stack at time 19 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
then Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
- expression state at time 19 = "iterate_args"
- the line at time 19 = 8
then the line at time 20 = 8
- expression state at time 19 = "iterate_args"
- the tab at time 19 = 0
then the tab at time 20 = 0
- expression state at time 19 = "iterate_args"
- stack at time 19 = [ ]
then stack at time 20 = [ ]
- expression state at time 19 = "iterate_args"
- Python Object Store at time 19 = [ ]
then Python Object Store at time 20 = [ ]
- expression state at time 19 = "iterate_args"
- Control Map at time 19 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 20 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 19 = "iterate_args"
- Variables Map at time 19 = [ ]
then Variables Map at time 20 = [ ]
- expression state at time 19 = "iterate_args"
- Class Map at time 19 = [ 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 20 = [ 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, [ ] ] ] ], [ ] ]
- expression state at time 20 = "call_function_begin"
- the expression at time 20 =
Person("John", "Smith", 25)
then the expression at time 21 = Person("John", "Smith", 25)
- expression state at time 20 = "call_function_begin"
- Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
- the expression at time 20 =
Person("John", "Smith", 25)
then expression state at time 21 = "call_build_args"
- expression state at time 20 = "call_function_begin"
- the expression at time 20 =
Person("John", "Smith", 25)
- method parameters where the Class Map is (Class Map at time 20), class name is "Person", and method name is "__init__" = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]
then Parameters List at time 21 = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]
- expression state at time 20 = "call_function_begin"
- Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
- the expression at time 20 =
Person("John", "Smith", 25)
then Argument Values at time 21 = [ "John", [ "Smith", [ 25, [ ] ] ] ]
- expression state at time 20 = "call_function_begin"
- the expression at time 20 =
Person("John", "Smith", 25)
- Python Object Store at time 20 = [ ]
then Python Object Store at time 21 = [ ]
- expression state at time 20 = "call_function_begin"
- Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
- the expression at time 20 =
Person("John", "Smith", 25)
then Value Stack at time 21 = [ ]