Proof: Get Iterate Parent 13

Let's prove the following theorem:

if the following are true:
  • expression state at time 13 = "iterate_args"
  • arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
  • parent stack at time 13 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ]

Proof:

View as a tree | View dependent proofs | Try proving it

Given
1 expression state at time 13 = "iterate_args"
2 arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
3 parent stack at time 13 = [ Person("John", "Smith", 25), [ ] ]
Proof Table
# Claim Reason
1 parent stack at time (13 + 1) = parent stack at time 13 if expression state at time 13 = "iterate_args" and arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ], then parent stack at time (13 + 1) = parent stack at time 13
2 parent stack at time (13 + 1) = [ Person("John", "Smith", 25), [ ] ] if parent stack at time (13 + 1) = parent stack at time 13 and parent stack at time 13 = [ Person("John", "Smith", 25), [ ] ], then parent stack at time (13 + 1) = [ Person("John", "Smith", 25), [ ] ]
3 13 + 1 = 14 13 + 1 = 14
4 parent stack at time (13 + 1) = parent stack at time 14 if 13 + 1 = 14, then parent stack at time (13 + 1) = parent stack at time 14
5 parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ] if parent stack at time (13 + 1) = parent stack at time 14 and parent stack at time (13 + 1) = [ Person("John", "Smith", 25), [ ] ], then parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ]

Comments

Please log in to add comments