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 33 = "begin_expr"
- Python Object Store at time 33 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 34 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 33 = "begin_expr"
- Control Map at time 33 = [ ]
then Control Map at time 34 = [ ]
- expression state at time 33 = "begin_expr"
- Variables Map at time 33 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 34 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 33 = "begin_expr"
- Class Map at time 33 = [ ]
then Class Map at time 34 = [ ]
- expression state at time 34 = "return"
- Value Stack at time 34 = [ [ Python reference 0, [ ] ], [ ] ]
- Return Value at time 34 = "ES"
then Value Stack at time 35 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
- expression state at time 34 = "return"
- Variables Map at time 34 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 35 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 34 = "return"
- the line at time 34 = 2
then the line at time 35 = 2
- expression state at time 34 = "return"
- the tab at time 34 = 0
then the tab at time 35 = 0
- expression state at time 34 = "return"
- arguments stack at time 34 = [ [ "Spain", [ ] ], [ ] ]
then arguments stack at time 35 = [ [ "Spain", [ ] ], [ ] ]
- expression state at time 34 = "return"
- parent stack at time 34 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 35 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 34 = "return"
- stack at time 34 = [ ]
then stack at time 35 = [ ]
- expression state at time 34 = "return"
- Class Map at time 34 = [ ]
then Class Map at time 35 = [ ]
- expression state at time 34 = "return"
- Python Object Store at time 34 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 35 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 34 = "return"
- Control Map at time 34 = [ ]
then Control Map at time 35 = [ ]
- expression state at time 35 = "iterate_args"
- arguments stack at time 35 = [ [ "Spain", [ ] ], [ ] ]
then the expression at time 36 = "Spain"
- expression state at time 35 = "iterate_args"
- arguments stack at time 35 = [ [ "Spain", [ ] ], [ ] ]
then arguments stack at time 36 = [ [ ], [ ] ]
- expression state at time 35 = "iterate_args"
- arguments stack at time 35 = [ [ "Spain", [ ] ], [ ] ]
then expression state at time 36 = "begin_expr"
- expression state at time 35 = "iterate_args"
- arguments stack at time 35 = [ [ "Spain", [ ] ], [ ] ]
- parent stack at time 35 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 36 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 35 = "iterate_args"
- Value Stack at time 35 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
then Value Stack at time 36 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
- expression state at time 35 = "iterate_args"
- the line at time 35 = 2
then the line at time 36 = 2
- expression state at time 35 = "iterate_args"
- the tab at time 35 = 0
then the tab at time 36 = 0
- expression state at time 35 = "iterate_args"
- stack at time 35 = [ ]
then stack at time 36 = [ ]
- expression state at time 35 = "iterate_args"
- Python Object Store at time 35 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 36 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 35 = "iterate_args"
- Control Map at time 35 = [ ]
then Control Map at time 36 = [ ]
- expression state at time 35 = "iterate_args"
- Variables Map at time 35 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 36 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 35 = "iterate_args"
- Class Map at time 35 = [ ]
then Class Map at time 36 = [ ]
- the expression at time 36 = "Spain"
- expression state at time 36 = "begin_expr"
- "Spain" is constant
- parent stack at time 36 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then expression state at time 37 = "return"
- the expression at time 36 = "Spain"
- expression state at time 36 = "begin_expr"
- "Spain" is constant
- Value Stack at time 36 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
then Value Stack at time 37 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
- the expression at time 36 = "Spain"
- expression state at time 36 = "begin_expr"
- "Spain" is constant
- arguments stack at time 36 = [ [ ], [ ] ]
then arguments stack at time 37 = [ [ ], [ ] ]
- expression state at time 36 = "begin_expr"
- the expression at time 36 = "Spain"
- "Spain" is constant
then Return Value at time 37 = "Spain"
- expression state at time 36 = "begin_expr"
- the expression at time 36 = "Spain"
- "Spain" is constant
- parent stack at time 36 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 37 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 36 = "begin_expr"
- the line at time 36 = 2
then the line at time 37 = 2
- expression state at time 36 = "begin_expr"
- the tab at time 36 = 0
then the tab at time 37 = 0
- expression state at time 36 = "begin_expr"
- stack at time 36 = [ ]
then stack at time 37 = [ ]
- expression state at time 36 = "begin_expr"
- Python Object Store at time 36 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 37 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 36 = "begin_expr"
- Control Map at time 36 = [ ]
then Control Map at time 37 = [ ]
- expression state at time 36 = "begin_expr"
- Variables Map at time 36 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 37 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 36 = "begin_expr"
- Class Map at time 36 = [ ]
then Class Map at time 37 = [ ]
- expression state at time 37 = "return"
- Value Stack at time 37 = [ [ "ES", [ Python reference 0, [ ] ] ], [ ] ]
- Return Value at time 37 = "Spain"
then Value Stack at time 38 = [ [ "Spain", [ "ES", [ Python reference 0, [ ] ] ] ], [ ] ]
- expression state at time 37 = "return"
- Variables Map at time 37 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 38 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 37 = "return"
- the line at time 37 = 2
then the line at time 38 = 2
- expression state at time 37 = "return"
- the tab at time 37 = 0
then the tab at time 38 = 0
- expression state at time 37 = "return"
- arguments stack at time 37 = [ [ ], [ ] ]
then arguments stack at time 38 = [ [ ], [ ] ]
- expression state at time 37 = "return"
- parent stack at time 37 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 38 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 37 = "return"
- stack at time 37 = [ ]
then stack at time 38 = [ ]
- expression state at time 37 = "return"
- Class Map at time 37 = [ ]
then Class Map at time 38 = [ ]
- expression state at time 37 = "return"
- Python Object Store at time 37 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 38 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 37 = "return"
- Control Map at time 37 = [ ]
then Control Map at time 38 = [ ]
- expression state at time 38 = "iterate_args"
- arguments stack at time 38 = [ [ ], [ ] ]
- parent stack at time 38 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then expression state at time 39 = "call_function_begin"
- expression state at time 38 = "iterate_args"
- arguments stack at time 38 = [ [ ], [ ] ]
- parent stack at time 38 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then the expression at time 39 = __setitem__(locations, "ES", "Spain")
- expression state at time 38 = "iterate_args"
- arguments stack at time 38 = [ [ ], [ ] ]
- parent stack at time 38 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 39 = [ ]
- expression state at time 38 = "iterate_args"
- arguments stack at time 38 = [ [ ], [ ] ]
- parent stack at time 38 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then arguments stack at time 39 = [ ]
- expression state at time 38 = "iterate_args"
- Value Stack at time 38 = [ [ "Spain", [ "ES", [ Python reference 0, [ ] ] ] ], [ ] ]
then Value Stack at time 39 = [ [ "Spain", [ "ES", [ Python reference 0, [ ] ] ] ], [ ] ]
- expression state at time 38 = "iterate_args"
- the line at time 38 = 2
then the line at time 39 = 2
- expression state at time 38 = "iterate_args"
- the tab at time 38 = 0
then the tab at time 39 = 0
- expression state at time 38 = "iterate_args"
- stack at time 38 = [ ]
then stack at time 39 = [ ]
- expression state at time 38 = "iterate_args"
- Python Object Store at time 38 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 39 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 38 = "iterate_args"
- Control Map at time 38 = [ ]
then Control Map at time 39 = [ ]
- expression state at time 38 = "iterate_args"
- Variables Map at time 38 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 39 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 38 = "iterate_args"
- Class Map at time 38 = [ ]
then Class Map at time 39 = [ ]
{"ES": "Spain", "MX": "Mexico"}
, [ ] ] to the beginning of [ ] = [ {"ES": "Spain", "MX": "Mexico"}
, [ ] ]{"ES": "Spain", "MX": "Mexico"}
at index 0 of stack [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ] = [ {"ES": "Spain", "MX": "Mexico"}
, [ ] ]{"ES": "Estonia", "MX": "Mexico"}
, [ ] ] = {"ES": "Estonia", "MX": "Mexico"}
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ], then the element at index 0 of stack (Python Object Store at time 39) = {"ES": "Estonia", "MX": "Mexico"}
{"ES": "Spain", "MX": "Mexico"}
at key: locations in map: [ entry locations: (Python reference 0), [ ] ] = [ entry locations: {"ES": "Spain", "MX": "Mexico"}
, [ ] ]- expression state at time 39 = "call_function_begin"
- Value Stack at time 39 = [ [ "Spain", [ "ES", [ Python reference 0, [ ] ] ] ], [ ] ]
- the expression at time 39 =
__setitem__(locations, "ES", "Spain")
- Python Object Store at time 39 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ] - the element at index 0 of stack (Python Object Store at time 39) =
{"ES": "Estonia", "MX": "Mexico"}
then Python Object Store at time 40 = [ {"ES": "Spain", "MX": "Mexico"}
, [ ] ]
- expression state at time 39 = "call_function_begin"
- parent stack at time 39 = [ ]
- the expression at time 39 =
__setitem__(locations, "ES", "Spain")
then expression state at time 40 = "end_expr"
- expression state at time 39 = "call_function_begin"
- Value Stack at time 39 = [ [ "Spain", [ "ES", [ Python reference 0, [ ] ] ] ], [ ] ]
- the expression at time 39 =
__setitem__(locations, "ES", "Spain")
then Value Stack at time 40 = [ ]
- expression state at time 39 = "call_function_begin"
- arguments stack at time 39 = [ ]
then arguments stack at time 40 = [ ]
- expression state at time 39 = "call_function_begin"
- parent stack at time 39 = [ ]
then parent stack at time 40 = [ ]
- expression state at time 39 = "call_function_begin"
- Control Map at time 39 = [ ]
then Control Map at time 40 = [ ]
- expression state at time 39 = "call_function_begin"
- Variables Map at time 39 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 40 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 39 = "call_function_begin"
- the line at time 39 = 2
then the line at time 40 = 2
- expression state at time 39 = "call_function_begin"
- the tab at time 39 = 0
then the tab at time 40 = 0
- expression state at time 39 = "call_function_begin"
- stack at time 39 = [ ]
then stack at time 40 = [ ]
- expression state at time 39 = "call_function_begin"
- Class Map at time 39 = [ ]
then Class Map at time 40 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 40 = "end_expr"
then the line at time 41 = 3
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 40 = "end_expr"
then the tab at time 41 = 0
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 40 = "end_expr"
- Python Object Store at time 40 = [
{"ES": "Spain", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 41 = [ {"ES": "Spain", "MX": "Mexico"}
, [ ] ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 40 = "end_expr"
- stack at time 40 = [ ]
then stack at time 41 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 40 = "end_expr"
- Variables Map at time 40 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 41 = [ entry locations: (Python reference 0), [ ] ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- Control Map at time 40 = [ ]
then Control Map at time 41 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- Class Map at time 40 = [ ]
then Class Map at time 41 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then the expression at time 1 = [1, 2, 3]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then expression state at time 1 = "begin_expr"
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then the line at time 1 = 1
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then the tab at time 1 = 0
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then Value Stack at time 1 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then parent stack at time 1 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
then arguments stack at time 1 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
- 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 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
- 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 =
numbers = [1, 2, 3]
- expression state at time 0 = "not_expr"
- Python Object Store at time 0 = [ ]
then Python Object Store at time 1 = [ ]
- the line at time 0 = 1
- the tab at time 0 = 0
- statement at line 1, tab 0 =
numbers = [1, 2, 3]
- 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 =
numbers = [1, 2, 3]
- Class Map at time 0 = [ ]
then Class Map at time 1 = [ ]
- expression state at time 1 = "begin_expr"
- the expression at time 1 =
[1, 2, 3]
- Value Stack at time 1 = [ ]
then Value Stack at time 2 = [ [ ], [ ] ]