Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Assume H0: nat_p x0.
Let x1 of type ι be given.
Assume H1: nat_p x1.
Apply nat_ind with λ x2 . add_nat (add_nat x0 x1) x2 = add_nat x0 (add_nat x1 x2) leaving 2 subgoals.
Apply add_nat_0R with add_nat x0 x1, λ x2 x3 . x3 = add_nat x0 (add_nat x1 0).
Apply add_nat_0R with x1, λ x2 x3 . add_nat x0 x1 = add_nat x0 x3.
Let x2 of type ιιο be given.
Assume H2: x2 (add_nat x0 x1) (add_nat x0 x1).
The subproof is completed by applying H2.
Let x2 of type ι be given.
Assume H2: nat_p x2.
Assume H3: add_nat (add_nat x0 x1) x2 = add_nat x0 (add_nat x1 x2).
Apply add_nat_SR with add_nat x0 x1, x2, λ x3 x4 . x4 = add_nat x0 (add_nat x1 (ordsucc x2)) leaving 2 subgoals.
The subproof is completed by applying H2.
Apply add_nat_SR with x1, x2, λ x3 x4 . ordsucc (add_nat (add_nat x0 x1) x2) = add_nat x0 x4 leaving 2 subgoals.
The subproof is completed by applying H2.
Apply add_nat_SR with x0, add_nat x1 x2, λ x3 x4 . ordsucc (add_nat (add_nat x0 x1) x2) = x4 leaving 2 subgoals.
Apply add_nat_p with x1, x2 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying H2.
Apply H3 with λ x3 x4 . ordsucc x4 = ordsucc (add_nat x0 (add_nat x1 x2)).
Let x3 of type ιιο be given.
Assume H4: x3 (ordsucc (add_nat x0 (add_nat x1 x2))) (ordsucc (add_nat x0 (add_nat x1 x2))).
The subproof is completed by applying H4.