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 25 = "call_function_begin"
- parent stack at time 25 = [ ]
- the expression at time 25 =
{"ES": "Estonia", "MX": "Mexico"}
then expression state at time 26 = "end_expr"
- expression state at time 25 = "call_function_begin"
- Value Stack at time 25 = [ [ entry "MX": "Mexico", [ entry "ES": "Estonia", [ ] ] ], [ ] ]
- the expression at time 25 =
{"ES": "Estonia", "MX": "Mexico"}
then Value Stack at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- arguments stack at time 25 = [ ]
then arguments stack at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- parent stack at time 25 = [ ]
then parent stack at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- Control Map at time 25 = [ ]
then Control Map at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- Variables Map at time 25 = [ ]
then Variables Map at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- the line at time 25 = 1
then the line at time 26 = 1
- expression state at time 25 = "call_function_begin"
- the tab at time 25 = 0
then the tab at time 26 = 0
- expression state at time 25 = "call_function_begin"
- stack at time 25 = [ ]
then stack at time 26 = [ ]
- expression state at time 25 = "call_function_begin"
- Class Map at time 25 = [ ]
then Class Map at time 26 = [ ]
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- expression state at time 26 = "end_expr"
- Variables Map at time 26 = [ ]
- Return Value at time 26 = Python reference 0
then Variables Map at time 27 = [ entry locations: (Python reference 0), [ ] ]
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- expression state at time 26 = "end_expr"
then the line at time 27 = 2
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- expression state at time 26 = "end_expr"
then the tab at time 27 = 0
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- expression state at time 26 = "end_expr"
- Python Object Store at time 26 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 27 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- stack at time 26 = [ ]
- expression state at time 26 = "end_expr"
then stack at time 27 = [ ]
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- Control Map at time 26 = [ ]
then Control Map at time 27 = [ ]
- the line at time 26 = 1
- the tab at time 26 = 0
- statement at line 1, tab 0 =
locations = {"ES": "Estonia", "MX": "Mexico"}
- Class Map at time 26 = [ ]
then Class Map at time 27 = [ ]
locations["ES"] = "Spain"
, then statement at line 2, tab 0 = __setitem__(locations, "ES", "Spain")
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then the expression at time 28 = __setitem__(locations, "ES", "Spain")
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then expression state at time 28 = "begin_expr"
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then the line at time 28 = 2
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then the tab at time 28 = 0
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then Value Stack at time 28 = [ ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then parent stack at time 28 = [ ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
then arguments stack at time 28 = [ ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
- Python Object Store at time 27 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 28 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- expression state at time 27 = "not_expr"
- Control Map at time 27 = [ ]
then Control Map at time 28 = [ ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- Variables Map at time 27 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 28 = [ entry locations: (Python reference 0), [ ] ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- stack at time 27 = [ ]
then stack at time 28 = [ ]
- the line at time 27 = 2
- the tab at time 27 = 0
- statement at line 2, tab 0 =
__setitem__(locations, "ES", "Spain")
- Class Map at time 27 = [ ]
then Class Map at time 28 = [ ]
- expression state at time 28 = "begin_expr"
- the expression at time 28 =
__setitem__(locations, "ES", "Spain")
- Value Stack at time 28 = [ ]
then Value Stack at time 29 = [ [ ], [ ] ]
- expression state at time 28 = "begin_expr"
- the expression at time 28 =
__setitem__(locations, "ES", "Spain")
- parent stack at time 28 = [ ]
then parent stack at time 29 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 28 = "begin_expr"
- the expression at time 28 =
__setitem__(locations, "ES", "Spain")
- arguments stack at time 28 = [ ]
then arguments stack at time 29 = [ [ locations, [ "ES", [ "Spain", [ ] ] ] ], [ ] ]
- expression state at time 28 = "begin_expr"
- the expression at time 28 =
__setitem__(locations, "ES", "Spain")
then expression state at time 29 = "iterate_args"
- expression state at time 28 = "begin_expr"
- the expression at time 28 =
__setitem__(locations, "ES", "Spain")
then the expression at time 29 = __setitem__(locations, "ES", "Spain")
- expression state at time 28 = "begin_expr"
- Variables Map at time 28 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 29 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 28 = "begin_expr"
- the line at time 28 = 2
then the line at time 29 = 2
- expression state at time 28 = "begin_expr"
- the tab at time 28 = 0
then the tab at time 29 = 0
- expression state at time 28 = "begin_expr"
- stack at time 28 = [ ]
then stack at time 29 = [ ]
- expression state at time 28 = "begin_expr"
- Python Object Store at time 28 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 29 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 28 = "begin_expr"
- Control Map at time 28 = [ ]
then Control Map at time 29 = [ ]
- expression state at time 28 = "begin_expr"
- Class Map at time 28 = [ ]
then Class Map at time 29 = [ ]
- expression state at time 29 = "iterate_args"
- arguments stack at time 29 = [ [ locations, [ "ES", [ "Spain", [ ] ] ] ], [ ] ]
then the expression at time 30 = locations
- expression state at time 29 = "iterate_args"
- arguments stack at time 29 = [ [ locations, [ "ES", [ "Spain", [ ] ] ] ], [ ] ]
then arguments stack at time 30 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
- expression state at time 29 = "iterate_args"
- arguments stack at time 29 = [ [ locations, [ "ES", [ "Spain", [ ] ] ] ], [ ] ]
then expression state at time 30 = "begin_expr"
- expression state at time 29 = "iterate_args"
- arguments stack at time 29 = [ [ locations, [ "ES", [ "Spain", [ ] ] ] ], [ ] ]
- parent stack at time 29 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 30 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 29 = "iterate_args"
- Value Stack at time 29 = [ [ ], [ ] ]
then Value Stack at time 30 = [ [ ], [ ] ]
- expression state at time 29 = "iterate_args"
- the line at time 29 = 2
then the line at time 30 = 2
- expression state at time 29 = "iterate_args"
- the tab at time 29 = 0
then the tab at time 30 = 0
- expression state at time 29 = "iterate_args"
- stack at time 29 = [ ]
then stack at time 30 = [ ]
- expression state at time 29 = "iterate_args"
- Python Object Store at time 29 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 30 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 29 = "iterate_args"
- Control Map at time 29 = [ ]
then Control Map at time 30 = [ ]
- expression state at time 29 = "iterate_args"
- Variables Map at time 29 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 30 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 29 = "iterate_args"
- Class Map at time 29 = [ ]
then Class Map at time 30 = [ ]
- expression state at time 30 = "begin_expr"
- Variables Map at time 30 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 31 = [ entry locations: (Python reference 0), [ ] ]
- the expression at time 30 = locations
- expression state at time 30 = "begin_expr"
- locations is a variable
- parent stack at time 30 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then expression state at time 31 = "return"
- the expression at time 30 = locations
- expression state at time 30 = "begin_expr"
- locations is a variable
- Value Stack at time 30 = [ [ ], [ ] ]
then Value Stack at time 31 = [ [ ], [ ] ]
- the expression at time 30 = locations
- expression state at time 30 = "begin_expr"
- locations is a variable
- arguments stack at time 30 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
then arguments stack at time 31 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
- expression state at time 30 = "begin_expr"
- the expression at time 30 = locations
- locations is a variable
- Variables Map at time 30 = [ entry locations: (Python reference 0), [ ] ]
then Return Value at time 31 = Python reference 0
- expression state at time 30 = "begin_expr"
- the expression at time 30 = locations
- locations is a variable
- parent stack at time 30 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 31 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 30 = "begin_expr"
- the line at time 30 = 2
then the line at time 31 = 2
- expression state at time 30 = "begin_expr"
- the tab at time 30 = 0
then the tab at time 31 = 0
- expression state at time 30 = "begin_expr"
- stack at time 30 = [ ]
then stack at time 31 = [ ]
- expression state at time 30 = "begin_expr"
- Python Object Store at time 30 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 31 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 30 = "begin_expr"
- Control Map at time 30 = [ ]
then Control Map at time 31 = [ ]
- expression state at time 30 = "begin_expr"
- Class Map at time 30 = [ ]
then Class Map at time 31 = [ ]
- expression state at time 31 = "return"
- Value Stack at time 31 = [ [ ], [ ] ]
- Return Value at time 31 = Python reference 0
then Value Stack at time 32 = [ [ Python reference 0, [ ] ], [ ] ]
- expression state at time 31 = "return"
- Variables Map at time 31 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 32 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 31 = "return"
- the line at time 31 = 2
then the line at time 32 = 2
- expression state at time 31 = "return"
- the tab at time 31 = 0
then the tab at time 32 = 0
- expression state at time 31 = "return"
- arguments stack at time 31 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
then arguments stack at time 32 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
- expression state at time 31 = "return"
- parent stack at time 31 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 32 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 31 = "return"
- stack at time 31 = [ ]
then stack at time 32 = [ ]
- expression state at time 31 = "return"
- Class Map at time 31 = [ ]
then Class Map at time 32 = [ ]
- expression state at time 31 = "return"
- Python Object Store at time 31 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 32 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 31 = "return"
- Control Map at time 31 = [ ]
then Control Map at time 32 = [ ]
- expression state at time 32 = "iterate_args"
- arguments stack at time 32 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
then the expression at time 33 = "ES"
- expression state at time 32 = "iterate_args"
- arguments stack at time 32 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
then arguments stack at time 33 = [ [ "Spain", [ ] ], [ ] ]
- expression state at time 32 = "iterate_args"
- arguments stack at time 32 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
then expression state at time 33 = "begin_expr"
- expression state at time 32 = "iterate_args"
- arguments stack at time 32 = [ [ "ES", [ "Spain", [ ] ] ], [ ] ]
- parent stack at time 32 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 33 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 32 = "iterate_args"
- Value Stack at time 32 = [ [ Python reference 0, [ ] ], [ ] ]
then Value Stack at time 33 = [ [ Python reference 0, [ ] ], [ ] ]
- expression state at time 32 = "iterate_args"
- the line at time 32 = 2
then the line at time 33 = 2
- expression state at time 32 = "iterate_args"
- the tab at time 32 = 0
then the tab at time 33 = 0
- expression state at time 32 = "iterate_args"
- stack at time 32 = [ ]
then stack at time 33 = [ ]
- expression state at time 32 = "iterate_args"
- Python Object Store at time 32 = [
{"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
then Python Object Store at time 33 = [ {"ES": "Estonia", "MX": "Mexico"}
, [ ] ]
- expression state at time 32 = "iterate_args"
- Control Map at time 32 = [ ]
then Control Map at time 33 = [ ]
- expression state at time 32 = "iterate_args"
- Variables Map at time 32 = [ entry locations: (Python reference 0), [ ] ]
then Variables Map at time 33 = [ entry locations: (Python reference 0), [ ] ]
- expression state at time 32 = "iterate_args"
- Class Map at time 32 = [ ]
then Class Map at time 33 = [ ]
- the expression at time 33 = "ES"
- expression state at time 33 = "begin_expr"
- "ES" is constant
- parent stack at time 33 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then expression state at time 34 = "return"
- the expression at time 33 = "ES"
- expression state at time 33 = "begin_expr"
- "ES" is constant
- Value Stack at time 33 = [ [ Python reference 0, [ ] ], [ ] ]
then Value Stack at time 34 = [ [ Python reference 0, [ ] ], [ ] ]
- the expression at time 33 = "ES"
- expression state at time 33 = "begin_expr"
- "ES" is constant
- arguments stack at time 33 = [ [ "Spain", [ ] ], [ ] ]
then arguments stack at time 34 = [ [ "Spain", [ ] ], [ ] ]
- expression state at time 33 = "begin_expr"
- the expression at time 33 = "ES"
- "ES" is constant
then Return Value at time 34 = "ES"
- expression state at time 33 = "begin_expr"
- the expression at time 33 = "ES"
- "ES" is constant
- parent stack at time 33 = [
__setitem__(locations, "ES", "Spain")
, [ ] ]
then parent stack at time 34 = [ __setitem__(locations, "ES", "Spain")
, [ ] ]
- expression state at time 33 = "begin_expr"
- the line at time 33 = 2
then the line at time 34 = 2
- expression state at time 33 = "begin_expr"
- the tab at time 33 = 0
then the tab at time 34 = 0
- expression state at time 33 = "begin_expr"
- stack at time 33 = [ ]
then stack at time 34 = [ ]