Let x0 of type ι be given.
Let x1 of type ι be given.
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.
The subproof is completed by applying H2.
Let x2 of type ι be given.
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.
The subproof is completed by applying H4.