Search for blocks/addresses/...

Proofgold Proof

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