Proof: Do Stack At Unchanged 78
Let's prove the following theorem:
if the following are true:
- expression state at time 78 = "call_function_begin"
- stack at time 78 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]
then stack at time 79 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ]
Proof:
Given
1 | expression state at time 78 = "call_function_begin" |
---|---|
2 | stack at time 78 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ] |
# | Claim | Reason |
---|---|---|
1 | stack at time (78 + 1) = stack at time 78 | if expression state at time 78 = "call_function_begin", then stack at time (78 + 1) = stack at time 78 |
2 | stack at time (78 + 1) = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ] | if stack at time (78 + 1) = stack at time 78 and stack at time 78 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ], then stack at time (78 + 1) = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ] |
3 | 78 + 1 = 79 | 78 + 1 = 79 |
4 | stack at time (78 + 1) = stack at time 79 | if 78 + 1 = 79, then stack at time (78 + 1) = stack at time 79 |
5 | stack at time 79 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ] | if stack at time (78 + 1) = stack at time 79 and stack at time (78 + 1) = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ], then stack at time 79 = [ program context with variables: [ entry joe: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 12 tab: 0) and control map: [ entry 0: (pair ("class", "Dog")), [ ] ], [ ] ] |
Comments
Please log in to add comments