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 . mul_nat (mul_nat x0 x1) x2 = mul_nat x0 (mul_nat x1 x2) leaving 2 subgoals.
Apply mul_nat_0R with x1, λ x2 x3 . mul_nat (mul_nat x0 x1) 0 = mul_nat x0 x3.
Apply mul_nat_0R with x0, λ x2 x3 . mul_nat (mul_nat x0 x1) 0 = x3.
The subproof is completed by applying mul_nat_0R with mul_nat x0 x1.
Let x2 of type ι be given.
Assume H2: nat_p x2.
Assume H3: mul_nat (mul_nat x0 x1) x2 = mul_nat x0 (mul_nat x1 x2).
Apply mul_nat_SR with mul_nat x0 x1, x2, λ x3 x4 . x4 = mul_nat x0 (mul_nat x1 (ordsucc x2)) leaving 2 subgoals.
The subproof is completed by applying H2.
Apply mul_nat_SR with x1, x2, λ x3 x4 . add_nat (mul_nat x0 x1) (mul_nat (mul_nat x0 x1) x2) = mul_nat x0 x4 leaving 2 subgoals.
The subproof is completed by applying H2.
Apply mul_add_nat_distrL with x0, x1, mul_nat x1 x2, λ x3 x4 . add_nat (mul_nat x0 x1) (mul_nat (mul_nat x0 x1) x2) = x4 leaving 4 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
Apply mul_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 . add_nat (mul_nat x0 x1) x4 = add_nat (mul_nat x0 x1) (mul_nat x0 (mul_nat x1 x2)).
Let x3 of type ιιο be given.
Assume H4: x3 (add_nat (mul_nat x0 x1) (mul_nat x0 (mul_nat x1 x2))) (add_nat (mul_nat x0 x1) (mul_nat x0 (mul_nat x1 x2))).
The subproof is completed by applying H4.