Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Assume H0: SNo x0.
Let x1 of type ι be given.
Assume H1: nat_p x1.
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.
Assume H2: nat_p x2.
Assume H3: mul_SNo (exp_SNo_nat x0 x1) (exp_SNo_nat x0 x2) = exp_SNo_nat x0 (add_SNo x1 x2).
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.