Let x0 of type ι be given.
Let x1 of type ι be given.
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.
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.