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 63 = "return"
- arguments stack at time 63 = [ [ 4, [ ] ], [ ] ]
then arguments stack at time 64 = [ [ 4, [ ] ], [ ] ]
- expression state at time 63 = "return"
- parent stack at time 63 = [
__mul__(value, 4)
, [ ] ]
then parent stack at time 64 = [ __mul__(value, 4)
, [ ] ]
- expression state at time 63 = "return"
- stack at time 63 = [ ]
then stack at time 64 = [ ]
- expression state at time 63 = "return"
- Class Map at time 63 = [ ]
then Class Map at time 64 = [ ]
- expression state at time 63 = "return"
- Python Object Store at time 63 = [
[4, 7]
, [ ] ]
then Python Object Store at time 64 = [ [4, 7]
, [ ] ]
- expression state at time 63 = "return"
- Control Map at time 63 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 64 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 64 = "iterate_args"
- arguments stack at time 64 = [ [ 4, [ ] ], [ ] ]
then the expression at time 65 = 4
- expression state at time 64 = "iterate_args"
- arguments stack at time 64 = [ [ 4, [ ] ], [ ] ]
then arguments stack at time 65 = [ [ ], [ ] ]
- expression state at time 64 = "iterate_args"
- arguments stack at time 64 = [ [ 4, [ ] ], [ ] ]
then expression state at time 65 = "begin_expr"
- expression state at time 64 = "iterate_args"
- arguments stack at time 64 = [ [ 4, [ ] ], [ ] ]
- parent stack at time 64 = [
__mul__(value, 4)
, [ ] ]
then parent stack at time 65 = [ __mul__(value, 4)
, [ ] ]
- expression state at time 64 = "iterate_args"
- Value Stack at time 64 = [ [ 7, [ ] ], [ ] ]
then Value Stack at time 65 = [ [ 7, [ ] ], [ ] ]
- expression state at time 64 = "iterate_args"
- the line at time 64 = 5
then the line at time 65 = 5
- expression state at time 64 = "iterate_args"
- the tab at time 64 = 1
then the tab at time 65 = 1
- expression state at time 64 = "iterate_args"
- stack at time 64 = [ ]
then stack at time 65 = [ ]
- expression state at time 64 = "iterate_args"
- Python Object Store at time 64 = [
[4, 7]
, [ ] ]
then Python Object Store at time 65 = [ [4, 7]
, [ ] ]
- expression state at time 64 = "iterate_args"
- Control Map at time 64 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 65 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 64 = "iterate_args"
- Variables Map at time 64 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 65 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 64 = "iterate_args"
- Class Map at time 64 = [ ]
then Class Map at time 65 = [ ]
- the expression at time 65 = 4
- expression state at time 65 = "begin_expr"
- 4 is constant
- parent stack at time 65 = [
__mul__(value, 4)
, [ ] ]
then expression state at time 66 = "return"
- the expression at time 65 = 4
- expression state at time 65 = "begin_expr"
- 4 is constant
- Value Stack at time 65 = [ [ 7, [ ] ], [ ] ]
then Value Stack at time 66 = [ [ 7, [ ] ], [ ] ]
- the expression at time 65 = 4
- expression state at time 65 = "begin_expr"
- 4 is constant
- arguments stack at time 65 = [ [ ], [ ] ]
then arguments stack at time 66 = [ [ ], [ ] ]
- expression state at time 65 = "begin_expr"
- the expression at time 65 = 4
- 4 is constant
then Return Value at time 66 = 4
- expression state at time 65 = "begin_expr"
- the expression at time 65 = 4
- 4 is constant
- parent stack at time 65 = [
__mul__(value, 4)
, [ ] ]
then parent stack at time 66 = [ __mul__(value, 4)
, [ ] ]
- expression state at time 65 = "begin_expr"
- the line at time 65 = 5
then the line at time 66 = 5
- expression state at time 65 = "begin_expr"
- the tab at time 65 = 1
then the tab at time 66 = 1
- expression state at time 65 = "begin_expr"
- stack at time 65 = [ ]
then stack at time 66 = [ ]
- expression state at time 65 = "begin_expr"
- Python Object Store at time 65 = [
[4, 7]
, [ ] ]
then Python Object Store at time 66 = [ [4, 7]
, [ ] ]
- expression state at time 65 = "begin_expr"
- Control Map at time 65 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 66 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 65 = "begin_expr"
- Variables Map at time 65 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 66 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 65 = "begin_expr"
- Class Map at time 65 = [ ]
then Class Map at time 66 = [ ]
- expression state at time 66 = "return"
- Value Stack at time 66 = [ [ 7, [ ] ], [ ] ]
- Return Value at time 66 = 4
then Value Stack at time 67 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- expression state at time 66 = "return"
- Variables Map at time 66 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 67 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 66 = "return"
- the line at time 66 = 5
then the line at time 67 = 5
- expression state at time 66 = "return"
- the tab at time 66 = 1
then the tab at time 67 = 1
- expression state at time 66 = "return"
- arguments stack at time 66 = [ [ ], [ ] ]
then arguments stack at time 67 = [ [ ], [ ] ]
- expression state at time 66 = "return"
- parent stack at time 66 = [
__mul__(value, 4)
, [ ] ]
then parent stack at time 67 = [ __mul__(value, 4)
, [ ] ]
- expression state at time 66 = "return"
- stack at time 66 = [ ]
then stack at time 67 = [ ]
- expression state at time 66 = "return"
- Class Map at time 66 = [ ]
then Class Map at time 67 = [ ]
- expression state at time 66 = "return"
- Python Object Store at time 66 = [
[4, 7]
, [ ] ]
then Python Object Store at time 67 = [ [4, 7]
, [ ] ]
- expression state at time 66 = "return"
- Control Map at time 66 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 67 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 67 = "iterate_args"
- arguments stack at time 67 = [ [ ], [ ] ]
- parent stack at time 67 = [
__mul__(value, 4)
, [ ] ]
then expression state at time 68 = "call_function_begin"
- expression state at time 67 = "iterate_args"
- arguments stack at time 67 = [ [ ], [ ] ]
- parent stack at time 67 = [
__mul__(value, 4)
, [ ] ]
then the expression at time 68 = __mul__(value, 4)
- expression state at time 67 = "iterate_args"
- arguments stack at time 67 = [ [ ], [ ] ]
- parent stack at time 67 = [
__mul__(value, 4)
, [ ] ]
then parent stack at time 68 = [ ]
- expression state at time 67 = "iterate_args"
- arguments stack at time 67 = [ [ ], [ ] ]
- parent stack at time 67 = [
__mul__(value, 4)
, [ ] ]
then arguments stack at time 68 = [ ]
- expression state at time 67 = "iterate_args"
- Value Stack at time 67 = [ [ 4, [ 7, [ ] ] ], [ ] ]
then Value Stack at time 68 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- expression state at time 67 = "iterate_args"
- the line at time 67 = 5
then the line at time 68 = 5
- expression state at time 67 = "iterate_args"
- the tab at time 67 = 1
then the tab at time 68 = 1
- expression state at time 67 = "iterate_args"
- stack at time 67 = [ ]
then stack at time 68 = [ ]
- expression state at time 67 = "iterate_args"
- Python Object Store at time 67 = [
[4, 7]
, [ ] ]
then Python Object Store at time 68 = [ [4, 7]
, [ ] ]
- expression state at time 67 = "iterate_args"
- Control Map at time 67 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 68 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 67 = "iterate_args"
- Variables Map at time 67 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 68 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 67 = "iterate_args"
- Class Map at time 67 = [ ]
then Class Map at time 68 = [ ]
- expression state at time 68 = "call_function_begin"
- the expression at time 68 =
__mul__(value, 4)
- Python Object Store at time 68 = [
[4, 7]
, [ ] ]
then Python Object Store at time 69 = [ [4, 7]
, [ ] ]
- expression state at time 68 = "call_function_begin"
- Value Stack at time 68 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- the expression at time 68 =
__mul__(value, 4)
then Return Value at time 69 = 28
- expression state at time 68 = "call_function_begin"
- parent stack at time 68 = [ ]
- the expression at time 68 =
__mul__(value, 4)
then expression state at time 69 = "end_expr"
- expression state at time 68 = "call_function_begin"
- Value Stack at time 68 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- the expression at time 68 =
__mul__(value, 4)
then Value Stack at time 69 = [ ]
- expression state at time 68 = "call_function_begin"
- arguments stack at time 68 = [ ]
then arguments stack at time 69 = [ ]
- expression state at time 68 = "call_function_begin"
- parent stack at time 68 = [ ]
then parent stack at time 69 = [ ]
- expression state at time 68 = "call_function_begin"
- Control Map at time 68 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 69 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- expression state at time 68 = "call_function_begin"
- Variables Map at time 68 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 69 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 68 = "call_function_begin"
- the line at time 68 = 5
then the line at time 69 = 5
- expression state at time 68 = "call_function_begin"
- the tab at time 68 = 1
then the tab at time 69 = 1
- expression state at time 68 = "call_function_begin"
- stack at time 68 = [ ]
then stack at time 69 = [ ]
- expression state at time 68 = "call_function_begin"
- Class Map at time 68 = [ ]
then Class Map at time 69 = [ ]
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- expression state at time 69 = "end_expr"
- Variables Map at time 69 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- Return Value at time 69 = 28
then Variables Map at time 70 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- expression state at time 69 = "end_expr"
then the line at time 70 = 6
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- expression state at time 69 = "end_expr"
then the tab at time 70 = 1
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- expression state at time 69 = "end_expr"
- Python Object Store at time 69 = [
[4, 7]
, [ ] ]
then Python Object Store at time 70 = [ [4, 7]
, [ ] ]
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- stack at time 69 = [ ]
- expression state at time 69 = "end_expr"
then stack at time 70 = [ ]
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- Control Map at time 69 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- the line at time 69 = 5
- the tab at time 69 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- Class Map at time 69 = [ ]
then Class Map at time 70 = [ ]
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then the line at time 71 = 4
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then the tab at time 71 = 0
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Variables Map at time 70 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 71 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- stack at time 70 = [ ]
then stack at time 71 = [ ]
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Python Object Store at time 70 = [
[4, 7]
, [ ] ]
then Python Object Store at time 71 = [ [4, 7]
, [ ] ]
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- the line at time 70 = 6
- the tab at time 70 = 1
- number of lines = 5
- Control Map at time 70 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Class Map at time 70 = [ ]
then Class Map at time 71 = [ ]
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then the line at time 72 = 5
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then the tab at time 72 = 0
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then expression state at time 72 = "not_expr"
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- stack at time 71 = [ ]
then stack at time 72 = [ ]
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Python Object Store at time 71 = [
[4, 7]
, [ ] ]
then Python Object Store at time 72 = [ [4, 7]
, [ ] ]
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Variables Map at time 71 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 72 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- Class Map at time 71 = [ ]
then Class Map at time 72 = [ ]
- the line at time 71 = 4
- the tab at time 71 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 71 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 72 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
then the line at time 73 = 6
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
then the tab at time 73 = 0
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
- Variables Map at time 72 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 73 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
- stack at time 72 = [ ]
then stack at time 73 = [ ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
- Python Object Store at time 72 = [
[4, 7]
, [ ] ]
then Python Object Store at time 73 = [ [4, 7]
, [ ] ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
- Control Map at time 72 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
then Control Map at time 73 = [ entry 0: (trio ("for", 4, [ ])), [ ] ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
- Class Map at time 72 = [ ]
then Class Map at time 73 = [ ]
- the line at time 72 = 5
- the tab at time 72 = 0
- statement at line 5, tab 1 =
x = value * 4
then expression state at time 73 = "not_expr"