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 9 = "begin_expr"
- stack at time 9 = [ ]
then stack at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Python Object Store at time 9 = [ ]
then Python Object Store at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Control Map at time 9 = [ ]
then Control Map at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Variables Map at time 9 = [ ]
then Variables Map at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Class Map at time 9 = [ ]
then Class Map at time 10 = [ ]
- expression state at time 10 = "return"
- Value Stack at time 10 = [ [ 2, [ 1, [ ] ] ], [ ] ]
- Return Value at time 10 = 3
then Value Stack at time 11 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
- expression state at time 10 = "return"
- Variables Map at time 10 = [ ]
then Variables Map at time 11 = [ ]
- expression state at time 10 = "return"
- the line at time 10 = 1
then the line at time 11 = 1
- expression state at time 10 = "return"
- the tab at time 10 = 0
then the tab at time 11 = 0
- expression state at time 10 = "return"
- arguments stack at time 10 = [ [ ], [ ] ]
then arguments stack at time 11 = [ [ ], [ ] ]
- expression state at time 10 = "return"
- parent stack at time 10 = [
[1, 2, 3]
, [ ] ]
then parent stack at time 11 = [ [1, 2, 3]
, [ ] ]
- expression state at time 10 = "return"
- stack at time 10 = [ ]
then stack at time 11 = [ ]
- expression state at time 10 = "return"
- Class Map at time 10 = [ ]
then Class Map at time 11 = [ ]
- expression state at time 10 = "return"
- Python Object Store at time 10 = [ ]
then Python Object Store at time 11 = [ ]
- expression state at time 10 = "return"
- Control Map at time 10 = [ ]
then Control Map at time 11 = [ ]
- expression state at time 11 = "iterate_args"
- arguments stack at time 11 = [ [ ], [ ] ]
- parent stack at time 11 = [
[1, 2, 3]
, [ ] ]
then expression state at time 12 = "call_function_begin"
- expression state at time 11 = "iterate_args"
- arguments stack at time 11 = [ [ ], [ ] ]
- parent stack at time 11 = [
[1, 2, 3]
, [ ] ]
then the expression at time 12 = [1, 2, 3]
- expression state at time 11 = "iterate_args"
- arguments stack at time 11 = [ [ ], [ ] ]
- parent stack at time 11 = [
[1, 2, 3]
, [ ] ]
then parent stack at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- arguments stack at time 11 = [ [ ], [ ] ]
- parent stack at time 11 = [
[1, 2, 3]
, [ ] ]
then arguments stack at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- Value Stack at time 11 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
then Value Stack at time 12 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
- expression state at time 11 = "iterate_args"
- the line at time 11 = 1
then the line at time 12 = 1
- expression state at time 11 = "iterate_args"
- the tab at time 11 = 0
then the tab at time 12 = 0
- expression state at time 11 = "iterate_args"
- stack at time 11 = [ ]
then stack at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- Python Object Store at time 11 = [ ]
then Python Object Store at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- Control Map at time 11 = [ ]
then Control Map at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- Variables Map at time 11 = [ ]
then Variables Map at time 12 = [ ]
- expression state at time 11 = "iterate_args"
- Class Map at time 11 = [ ]
then Class Map at time 12 = [ ]
[1, 2, 3]
, [ ] ] = [ [1, 2, 3]
, [ ] ][1, 2, 3]
to [ ] = [ [1, 2, 3]
, [ ] ]- expression state at time 12 = "call_function_begin"
- Value Stack at time 12 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
- the expression at time 12 =
[1, 2, 3]
- Python Object Store at time 12 = [ ]
then Python Object Store at time 13 = [ [1, 2, 3]
, [ ] ]
- expression state at time 12 = "call_function_begin"
- Value Stack at time 12 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
- the expression at time 12 =
[1, 2, 3]
- Python Object Store at time 12 = [ ]
then Return Value at time 13 = Python reference 0
- expression state at time 12 = "call_function_begin"
- parent stack at time 12 = [ ]
- the expression at time 12 =
[1, 2, 3]
then expression state at time 13 = "end_expr"
- expression state at time 12 = "call_function_begin"
- Value Stack at time 12 = [ [ 3, [ 2, [ 1, [ ] ] ] ], [ ] ]
- the expression at time 12 =
[1, 2, 3]
then Value Stack at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- arguments stack at time 12 = [ ]
then arguments stack at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- parent stack at time 12 = [ ]
then parent stack at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- Control Map at time 12 = [ ]
then Control Map at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- Variables Map at time 12 = [ ]
then Variables Map at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- the line at time 12 = 1
then the line at time 13 = 1
- expression state at time 12 = "call_function_begin"
- the tab at time 12 = 0
then the tab at time 13 = 0
- expression state at time 12 = "call_function_begin"
- stack at time 12 = [ ]
then stack at time 13 = [ ]
- expression state at time 12 = "call_function_begin"
- Class Map at time 12 = [ ]
then Class Map at time 13 = [ ]
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 13 = "end_expr"
- Variables Map at time 13 = [ ]
- Return Value at time 13 = Python reference 0
then Variables Map at time 14 = [ entry numbers: (Python reference 0), [ ] ]
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 13 = "end_expr"
then the line at time 14 = 2
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 13 = "end_expr"
then the tab at time 14 = 0
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 13 = "end_expr"
- Python Object Store at time 13 = [
[1, 2, 3]
, [ ] ]
then Python Object Store at time 14 = [ [1, 2, 3]
, [ ] ]
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- stack at time 13 = [ ]
- expression state at time 13 = "end_expr"
then stack at time 14 = [ ]
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- Control Map at time 13 = [ ]
then Control Map at time 14 = [ ]
- the line at time 13 = 1
- the tab at time 13 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- Class Map at time 13 = [ ]
then Class Map at time 14 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then the expression at time 15 = numbers
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then expression state at time 15 = "begin_expr"
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then the line at time 15 = 2
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then the tab at time 15 = 0
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then Value Stack at time 15 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then parent stack at time 15 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then arguments stack at time 15 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- Python Object Store at time 14 = [
[1, 2, 3]
, [ ] ] - map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then Python Object Store at time 15 = [ [1, 2, 3]
, [ ] ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- Control Map at time 14 = [ ]
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then Control Map at time 15 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 14 = "not_expr"
- Variables Map at time 14 = [ entry numbers: (Python reference 0), [ ] ]
- map (Control Map at time 14) does not contain a for loop entry at line: 2 and tab: 0
then Variables Map at time 15 = [ entry numbers: (Python reference 0), [ ] ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- stack at time 14 = [ ]
- numbers is a variable
then stack at time 15 = [ ]
- the line at time 14 = 2
- the tab at time 14 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Class Map at time 14 = [ ]
- numbers is a variable
then Class Map at time 15 = [ ]
- expression state at time 15 = "begin_expr"
- Variables Map at time 15 = [ entry numbers: (Python reference 0), [ ] ]
then Variables Map at time 16 = [ entry numbers: (Python reference 0), [ ] ]
- the expression at time 15 = numbers
- expression state at time 15 = "begin_expr"
- numbers is a variable
- parent stack at time 15 = [ ]
then expression state at time 16 = "end_expr"
- the expression at time 15 = numbers
- expression state at time 15 = "begin_expr"
- numbers is a variable
- Value Stack at time 15 = [ ]
then Value Stack at time 16 = [ ]
- the expression at time 15 = numbers
- expression state at time 15 = "begin_expr"
- numbers is a variable
- arguments stack at time 15 = [ ]
then arguments stack at time 16 = [ ]
- expression state at time 15 = "begin_expr"
- the expression at time 15 = numbers
- numbers is a variable
- Variables Map at time 15 = [ entry numbers: (Python reference 0), [ ] ]
then Return Value at time 16 = Python reference 0
- expression state at time 15 = "begin_expr"
- the expression at time 15 = numbers
- numbers is a variable
- parent stack at time 15 = [ ]
then parent stack at time 16 = [ ]
- expression state at time 15 = "begin_expr"
- the line at time 15 = 2
then the line at time 16 = 2
- expression state at time 15 = "begin_expr"
- the tab at time 15 = 0
then the tab at time 16 = 0
- expression state at time 15 = "begin_expr"
- stack at time 15 = [ ]
then stack at time 16 = [ ]
- expression state at time 15 = "begin_expr"
- Python Object Store at time 15 = [
[1, 2, 3]
, [ ] ]
then Python Object Store at time 16 = [ [1, 2, 3]
, [ ] ]
- expression state at time 15 = "begin_expr"
- Control Map at time 15 = [ ]
then Control Map at time 16 = [ ]
- expression state at time 15 = "begin_expr"
- Class Map at time 15 = [ ]
then Class Map at time 16 = [ ]
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
then the line at time 17 = 2
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
then the tab at time 17 = 0
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
- Variables Map at time 16 = [ entry numbers: (Python reference 0), [ ] ]
then Variables Map at time 17 = [ entry numbers: (Python reference 0), [ ] ]
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
- stack at time 16 = [ ]
then stack at time 17 = [ ]
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
- Python Object Store at time 16 = [
[1, 2, 3]
, [ ] ]
then Python Object Store at time 17 = [ [1, 2, 3]
, [ ] ]
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
- Class Map at time 16 = [ ]
then Class Map at time 17 = [ ]
[1, 2, 3]
, [ ] ] = [1, 2, 3]
[1, 2, 3]
, [ ] ], then the element at index 0 of stack (Python Object Store at time 16) = [1, 2, 3]
- the line at time 16 = 2
- the tab at time 16 = 0
- statement at line 2, tab 0 =
for value in numbers:
- expression state at time 16 = "end_expr"
- Return Value at time 16 = Python reference 0
- Control Map at time 16 = [ ]
- the element at index 0 of stack (Python Object Store at time 16) =
[1, 2, 3]
then Control Map at time 17 = [ entry 0: (trio ("for", 2, [ 1, [ 2, [ 3, [ ] ] ] ])), [ ] ]
- the line at time 17 = 2
- the tab at time 17 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 17 = [ entry 0: (trio ("for", 2, [ 1, [ 2, [ 3, [ ] ] ] ])), [ ] ]
then the line at time 18 = 3
- the line at time 17 = 2
- the tab at time 17 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 17 = [ entry 0: (trio ("for", 2, [ 1, [ 2, [ 3, [ ] ] ] ])), [ ] ]
then the tab at time 18 = 1
- the line at time 17 = 2
- the tab at time 17 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 17 = [ entry 0: (trio ("for", 2, [ 1, [ 2, [ 3, [ ] ] ] ])), [ ] ]
then expression state at time 18 = "not_expr"
- the line at time 17 = 2
- the tab at time 17 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 17 = [ entry 0: (trio ("for", 2, [ 1, [ 2, [ 3, [ ] ] ] ])), [ ] ]
- Variables Map at time 17 = [ entry numbers: (Python reference 0), [ ] ]
then Variables Map at time 18 = [ entry numbers: (Python reference 0), [ entry value: 1, [ ] ] ]