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 4 = "return"
- Control Map at time 4 = [ ]
then Control Map at time 5 = [ ]
- expression state at time 5 = "iterate_args"
- Control Map at time 5 = [ ]
then Control Map at time 6 = [ ]
- expression state at time 6 = "begin_expr"
- Control Map at time 6 = [ ]
then Control Map at time 7 = [ ]
- expression state at time 7 = "return"
- Control Map at time 7 = [ ]
then Control Map at time 8 = [ ]
- expression state at time 8 = "iterate_args"
- Control Map at time 8 = [ ]
then Control Map at time 9 = [ ]
- expression state at time 9 = "call_function_begin"
- Control Map at time 9 = [ ]
then Control Map at time 10 = [ ]
- the line at time 10 = 1
- the tab at time 10 = 0
- statement at line 1, tab 0 =
if __eq__(3, 3):
- expression state at time 10 = "end_expr"
- Return Value at time 10 = True
- Control Map at time 10 = [ ]
then Control Map at time 11 = [ entry 0: (pair ("if", True)), [ ] ]
- the line at time 11 = 2
- the tab at time 11 = 1
- statement at line 2, tab 1 =
a = 7
- Control Map at time 11 = [ entry 0: (pair ("if", True)), [ ] ]
then Control Map at time 12 = [ entry 0: (pair ("if", True)), [ ] ]
- the line at time 12 = 3
- the tab at time 12 = 1
- statement at line 3, tab 0 =
else:
- Control Map at time 12 = [ entry 0: (pair ("if", True)), [ ] ]
then Control Map at time 13 = [ entry 0: (pair ("if", True)), [ ] ]
- the line at time 13 = 3
- the tab at time 13 = 0
- statement at line 3, tab 0 =
else:
- Control Map at time 13 = [ entry 0: (pair ("if", True)), [ ] ]
then Control Map at time 14 = [ entry 0: (pair ("if", True)), [ ] ]
- the line at time 14 = 4
- the tab at time 14 = 0
- statement at line 4, tab 1 =
a = 9
- Control Map at time 14 = [ entry 0: (pair ("if", True)), [ ] ]
then Control Map at time 15 = [ entry 0: (pair ("if", True)), [ ] ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
if __eq__(1, 3):
- expression state at time 0 = "not_expr"
- Control Map at time 0 = [ ]
then Control Map at time 1 = [ ]
- expression state at time 1 = "begin_expr"
- Control Map at time 1 = [ ]
then Control Map at time 2 = [ ]
- expression state at time 2 = "iterate_args"
- Control Map at time 2 = [ ]
then Control Map at time 3 = [ ]
- expression state at time 3 = "begin_expr"
- Control Map at time 3 = [ ]
then Control Map at time 4 = [ ]
- expression state at time 4 = "return"
- Control Map at time 4 = [ ]
then Control Map at time 5 = [ ]
- expression state at time 5 = "iterate_args"
- Control Map at time 5 = [ ]
then Control Map at time 6 = [ ]
- expression state at time 6 = "begin_expr"
- Control Map at time 6 = [ ]
then Control Map at time 7 = [ ]
- expression state at time 7 = "return"
- Control Map at time 7 = [ ]
then Control Map at time 8 = [ ]
- expression state at time 8 = "iterate_args"
- Control Map at time 8 = [ ]
then Control Map at time 9 = [ ]
- expression state at time 9 = "call_function_begin"
- Control Map at time 9 = [ ]
then Control Map at time 10 = [ ]
- the line at time 10 = 1
- the tab at time 10 = 0
- statement at line 1, tab 0 =
if __eq__(1, 3):
- expression state at time 10 = "end_expr"
- Return Value at time 10 = False
- Control Map at time 10 = [ ]
then Control Map at time 11 = [ entry 0: (pair ("if", False)), [ ] ]
- the line at time 11 = 2
- the tab at time 11 = 0
- statement at line 2, tab 1 =
a = 7
- Control Map at time 11 = [ entry 0: (pair ("if", False)), [ ] ]
then Control Map at time 12 = [ entry 0: (pair ("if", False)), [ ] ]
- the line at time 12 = 3
- the tab at time 12 = 0
- statement at line 3, tab 0 =
else:
- Control Map at time 12 = [ entry 0: (pair ("if", False)), [ ] ]
then Control Map at time 13 = [ entry 0: (pair ("if", False)), [ ] ]
- the line at time 13 = 4
- the tab at time 13 = 1
- statement at line 4, tab 1 =
a = 9
- Control Map at time 13 = [ entry 0: (pair ("if", False)), [ ] ]
then Control Map at time 14 = [ entry 0: (pair ("if", False)), [ ] ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
def add_three(x):
- Control Map at time 0 = [ ]
then Control Map at time 1 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
def add_three(x):
- Class Map at time 0 = [ ]
then Class Map at time 1 = [ ]
- the line at time 1 = 2
- the tab at time 1 = 0
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Variables Map at time 1 = [ ]
then Variables Map at time 2 = [ ]
- the line at time 1 = 2
- the tab at time 1 = 0
- statement at line 2, tab 1 =
z = __add__(x, 3)
- stack at time 1 = [ ]
then stack at time 2 = [ ]
- the line at time 1 = 2
- the tab at time 1 = 0
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Python Object Store at time 1 = [ ]
then Python Object Store at time 2 = [ ]
- the line at time 1 = 2
- the tab at time 1 = 0
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Control Map at time 1 = [ ]
then Control Map at time 2 = [ ]
- the line at time 1 = 2
- the tab at time 1 = 0
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Class Map at time 1 = [ ]
then Class Map at time 2 = [ ]
- the line at time 2 = 3
- the tab at time 2 = 0
- statement at line 3, tab 1 =
return z
- Variables Map at time 2 = [ ]
then Variables Map at time 3 = [ ]
- the line at time 2 = 3
- the tab at time 2 = 0
- statement at line 3, tab 1 =
return z
- stack at time 2 = [ ]
then stack at time 3 = [ ]
- the line at time 2 = 3
- the tab at time 2 = 0
- statement at line 3, tab 1 =
return z
- Python Object Store at time 2 = [ ]
then Python Object Store at time 3 = [ ]
- the line at time 2 = 3
- the tab at time 2 = 0
- statement at line 3, tab 1 =
return z
- Control Map at time 2 = [ ]
then Control Map at time 3 = [ ]
- the line at time 2 = 3
- the tab at time 2 = 0
- statement at line 3, tab 1 =
return z
- Class Map at time 2 = [ ]
then Class Map at time 3 = [ ]
- the line at time 3 = 4
- the tab at time 3 = 0
- statement at line 4, tab 0 =
a = 5
- Control Map at time 3 = [ ]
then Control Map at time 4 = [ ]
- the line at time 3 = 4
- the tab at time 3 = 0
- statement at line 4, tab 0 =
a = 5
- Class Map at time 3 = [ ]
then Class Map at time 4 = [ ]
- the line at time 4 = 5
- the tab at time 4 = 0
- statement at line 5, tab 0 =
b = add_three(a)
- Control Map at time 4 = [ ]
then Control Map at time 5 = [ ]
- the line at time 4 = 5
- the tab at time 4 = 0
- statement at line 5, tab 0 =
b = add_three(a)
- Class Map at time 4 = [ ]
then Class Map at time 5 = [ ]
- expression state at time 5 = "begin_expr"
- Control Map at time 5 = [ ]
then Control Map at time 6 = [ ]
- expression state at time 5 = "begin_expr"
- Class Map at time 5 = [ ]
then Class Map at time 6 = [ ]
- expression state at time 6 = "iterate_args"
- Control Map at time 6 = [ ]
then Control Map at time 7 = [ ]
- expression state at time 6 = "iterate_args"
- Class Map at time 6 = [ ]
then Class Map at time 7 = [ ]
- expression state at time 7 = "begin_expr"
- Control Map at time 7 = [ ]
then Control Map at time 8 = [ ]
- expression state at time 7 = "begin_expr"
- Class Map at time 7 = [ ]
then Class Map at time 8 = [ ]
- expression state at time 8 = "return"
- Class Map at time 8 = [ ]
then Class Map at time 9 = [ ]
- expression state at time 8 = "return"
- Control Map at time 8 = [ ]
then Control Map at time 9 = [ ]
- expression state at time 9 = "iterate_args"
- Control Map at time 9 = [ ]
then Control Map at time 10 = [ ]
- expression state at time 9 = "iterate_args"
- Class Map at time 9 = [ ]
then Class Map at time 10 = [ ]
- expression state at time 10 = "call_function_begin"
- Control Map at time 10 = [ ]
then Control Map at time 11 = [ ]
- expression state at time 10 = "call_function_begin"
- Class Map at time 10 = [ ]
then Class Map at time 11 = [ ]
- expression state at time 11 = "call_build_args"
- Parameters List at time 11 = [ x, [ ] ]
- Argument Values at time 11 = [ 5, [ ] ]
- Control Map at time 11 = [ ]
then Control Map at time 12 = [ ]
- expression state at time 11 = "call_build_args"
- Parameters List at time 11 = [ x, [ ] ]
- the line at time 11 = 5
then the line at time 12 = 5
- expression state at time 11 = "call_build_args"
- Parameters List at time 11 = [ x, [ ] ]
- the tab at time 11 = 0
then the tab at time 12 = 0
- expression state at time 11 = "call_build_args"
- Class Map at time 11 = [ ]
then Class Map at time 12 = [ ]
- expression state at time 12 = "call_build_args"
- Parameters List at time 12 = [ ]
- the expression at time 12 =
add_three(a)
- there is a function named "add_three" with parameters [ x, [ ] ] at line 1
then Control Map at time 13 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 12 = "call_build_args"
- Class Map at time 12 = [ ]
then Class Map at time 13 = [ ]
- the line at time 13 = 2
- the tab at time 13 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Control Map at time 13 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 14 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- the line at time 13 = 2
- the tab at time 13 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Class Map at time 13 = [ ]
then Class Map at time 14 = [ ]
- expression state at time 14 = "begin_expr"
- Control Map at time 14 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 15 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 14 = "begin_expr"
- Class Map at time 14 = [ ]
then Class Map at time 15 = [ ]
- expression state at time 15 = "iterate_args"
- Control Map at time 15 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 16 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 15 = "iterate_args"
- Class Map at time 15 = [ ]
then Class Map at time 16 = [ ]
- expression state at time 16 = "begin_expr"
- Control Map at time 16 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 17 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 16 = "begin_expr"
- Class Map at time 16 = [ ]
then Class Map at time 17 = [ ]
- expression state at time 17 = "return"
- Class Map at time 17 = [ ]
then Class Map at time 18 = [ ]
- expression state at time 17 = "return"
- Control Map at time 17 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 18 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 18 = "iterate_args"
- Control Map at time 18 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 19 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 18 = "iterate_args"
- Class Map at time 18 = [ ]
then Class Map at time 19 = [ ]
- expression state at time 19 = "begin_expr"
- Control Map at time 19 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 20 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 19 = "begin_expr"
- Class Map at time 19 = [ ]
then Class Map at time 20 = [ ]
- expression state at time 20 = "return"
- Class Map at time 20 = [ ]
then Class Map at time 21 = [ ]
- expression state at time 20 = "return"
- Control Map at time 20 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 21 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 21 = "iterate_args"
- Control Map at time 21 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 22 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 21 = "iterate_args"
- Class Map at time 21 = [ ]
then Class Map at time 22 = [ ]
- expression state at time 22 = "call_function_begin"
- Control Map at time 22 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 23 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- expression state at time 22 = "call_function_begin"
- Class Map at time 22 = [ ]
then Class Map at time 23 = [ ]
- the line at time 23 = 2
- the tab at time 23 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- expression state at time 23 = "end_expr"
then the line at time 24 = 3
- the line at time 23 = 2
- the tab at time 23 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- expression state at time 23 = "end_expr"
then the tab at time 24 = 1
- the line at time 23 = 2
- the tab at time 23 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- expression state at time 23 = "end_expr"
- Python Object Store at time 23 = [ ]
then Python Object Store at time 24 = [ ]
- the line at time 23 = 2
- the tab at time 23 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Control Map at time 23 = [ entry 0: (pair ("function", "add_three")), [ ] ]
then Control Map at time 24 = [ entry 0: (pair ("function", "add_three")), [ ] ]
- the line at time 23 = 2
- the tab at time 23 = 1
- statement at line 2, tab 1 =
z = __add__(x, 3)
- Class Map at time 23 = [ ]
then Class Map at time 24 = [ ]
- the line at time 24 = 3
- the tab at time 24 = 1
- statement at line 3, tab 1 =
return z
- Class Map at time 24 = [ ]
then Class Map at time 25 = [ ]
- the line at time 24 = 3
- the tab at time 24 = 1
- statement at line 3, tab 1 =
return z
- z is a variable
- Python Object Store at time 24 = [ ]
then Python Object Store at time 25 = [ ]
- the line at time 24 = 3
- the tab at time 24 = 1
- statement at line 3, tab 1 =
return z
- z is a variable
- stack at time 24 = [ program context with variables: [ entry a: 5, [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 5 tab: 0) and control map: [ ], [ ] ]
then Control Map at time 25 = [ ]