Let x0 of type ι be given.
Let x1 of type ι be given.
Apply nat_ind with
λ x2 . mul_SNo (exp_SNo_nat x0 x1) (exp_SNo_nat x0 x2) = exp_SNo_nat x0 (add_SNo x1 x2) leaving 2 subgoals.
Apply exp_SNo_nat_0 with
x0,
λ x2 x3 . mul_SNo (exp_SNo_nat x0 x1) x3 = exp_SNo_nat x0 (add_SNo x1 0) leaving 2 subgoals.
The subproof is completed by applying H0.
Apply add_SNo_0R with
x1,
λ x2 x3 . mul_SNo (exp_SNo_nat x0 x1) 1 = exp_SNo_nat x0 x3 leaving 2 subgoals.
Apply nat_p_SNo with
x1.
The subproof is completed by applying H1.
Apply mul_SNo_oneR with
exp_SNo_nat x0 x1.
Apply SNo_exp_SNo_nat with
x0,
x1 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
Let x2 of type ι be given.
Apply exp_SNo_nat_S with
x0,
x2,
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) x4 = exp_SNo_nat x0 (add_SNo x1 (ordsucc x2)) leaving 3 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.
Apply add_nat_add_SNo with
x1,
ordsucc x2,
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) (mul_SNo x0 (exp_SNo_nat x0 x2)) = exp_SNo_nat x0 x3 leaving 3 subgoals.
Apply nat_p_omega with
x1.
The subproof is completed by applying H1.
Apply omega_ordsucc with
x2.
Apply nat_p_omega with
x2.
The subproof is completed by applying H2.
Apply add_nat_SR with
x1,
x2,
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) (mul_SNo x0 (exp_SNo_nat x0 x2)) = exp_SNo_nat x0 x4 leaving 2 subgoals.
The subproof is completed by applying H2.
Apply exp_SNo_nat_S with
x0,
add_nat x1 x2,
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) (mul_SNo x0 (exp_SNo_nat x0 x2)) = x4 leaving 3 subgoals.
The subproof is completed by applying H0.
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 add_nat_add_SNo with
x1,
x2,
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) (mul_SNo x0 (exp_SNo_nat x0 x2)) = mul_SNo x0 (exp_SNo_nat x0 x4) leaving 3 subgoals.
Apply nat_p_omega with
x1.
The subproof is completed by applying H1.
Apply nat_p_omega with
x2.
The subproof is completed by applying H2.
Apply H3 with
λ x3 x4 . mul_SNo (exp_SNo_nat x0 x1) (mul_SNo x0 (exp_SNo_nat x0 x2)) = mul_SNo x0 x3.
Apply mul_SNo_assoc with
exp_SNo_nat x0 x1,
x0,
exp_SNo_nat x0 x2,
λ x3 x4 . x4 = mul_SNo x0 (mul_SNo (exp_SNo_nat x0 x1) (exp_SNo_nat x0 x2)) leaving 4 subgoals.
Apply SNo_exp_SNo_nat 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 SNo_exp_SNo_nat with
x0,
x2 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.
Apply mul_SNo_com with
exp_SNo_nat x0 x1,
x0,
λ x3 x4 . mul_SNo x4 (exp_SNo_nat x0 x2) = mul_SNo x0 (mul_SNo (exp_SNo_nat x0 x1) (exp_SNo_nat x0 x2)) leaving 3 subgoals.
Apply SNo_exp_SNo_nat 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.
Let x3 of type ι → ι → ο be given.
Apply mul_SNo_assoc with
x0,
exp_SNo_nat x0 x1,
exp_SNo_nat x0 x2,
λ x4 x5 . x3 x5 x4 leaving 3 subgoals.
The subproof is completed by applying H0.
Apply SNo_exp_SNo_nat with
x0,
x1 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
Apply SNo_exp_SNo_nat with
x0,
x2 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.