Proof: Do Reverse 20 0

Let's prove the following theorem:

reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ]

Proof:

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

Proof Table
# Claim Reason
1 reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ] reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ]
2 reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ]
3 reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ]
4 reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ] reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ]
5 reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] if reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ] and reverse of remaining stack [ 25, [ "Smith", [ "John", [ ] ] ] ] and already reversed stack [ ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ], then reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ]
6 reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] if reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] and reverse of remaining stack [ "Smith", [ "John", [ ] ] ] and already reversed stack [ 25, [ ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ], then reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ]
7 reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ] if reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] and reverse of remaining stack [ "John", [ ] ] and already reversed stack [ "Smith", [ 25, [ ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ], then reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ]

Comments

Please log in to add comments