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