Search for blocks/addresses/...

Proofgold Proof

pf
Apply nat_ind with λ x0 . ∀ x1 . x1ordsucc (ordsucc x0)ordsucc (mul_nat x1 x1)mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc x0)) leaving 2 subgoals.
Let x0 of type ι be given.
Assume H0: x02.
Apply mul_nat_SR with 2, 1, λ x1 x2 . ordsucc (mul_nat x0 x0)x2 leaving 2 subgoals.
The subproof is completed by applying nat_1.
Apply mul_nat_1R with 2, λ x1 x2 . ordsucc (mul_nat x0 x0)add_nat 2 x2.
Apply add_nat_SR with 2, 1, λ x1 x2 . ordsucc (mul_nat x0 x0)x2 leaving 2 subgoals.
The subproof is completed by applying nat_1.
Apply add_nat_SR with 2, 0, λ x1 x2 . ordsucc (mul_nat x0 x0)ordsucc x2 leaving 2 subgoals.
The subproof is completed by applying nat_0.
Apply add_nat_0R with 2, λ x1 x2 . ordsucc (mul_nat x0 x0)ordsucc (ordsucc x2).
Apply cases_2 with x0, λ x1 . ordsucc (mul_nat x1 x1)4 leaving 3 subgoals.
The subproof is completed by applying H0.
Apply mul_nat_0R with 0, λ x1 x2 . ordsucc x24.
The subproof is completed by applying In_1_4.
Apply mul_nat_1R with 1, λ x1 x2 . ordsucc x24.
The subproof is completed by applying In_2_4.
Let x0 of type ι be given.
Assume H0: nat_p x0.
Assume H1: ∀ x1 . x1ordsucc (ordsucc x0)ordsucc (mul_nat x1 x1)mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc x0)).
Let x1 of type ι be given.
Assume H2: x1ordsucc (ordsucc (ordsucc x0)).
Claim L3: ...
...
Claim L4: ...
...
Claim L5: ...
...
Claim L6: ...
...
Apply mul_nat_SL with ordsucc (ordsucc x0), ordsucc (ordsucc (ordsucc x0)), λ x2 x3 . ordsucc (mul_nat x1 x1)x3 leaving 3 subgoals.
The subproof is completed by applying L4.
Apply nat_ordsucc with ordsucc (ordsucc x0).
The subproof is completed by applying L4.
Apply add_nat_SR with mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc (ordsucc x0))), ordsucc (ordsucc x0), λ x2 x3 . ordsucc (mul_nat x1 x1)x3 leaving 2 subgoals.
The subproof is completed by applying L4.
Apply ordsuccE with ordsucc (ordsucc x0), x1, ordsucc (mul_nat x1 x1)ordsucc (add_nat (mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc (ordsucc x0)))) (ordsucc (ordsucc x0))) leaving 3 subgoals.
The subproof is completed by applying H2.
Assume H7: x1ordsucc (ordsucc x0).
Apply ordsuccI1 with add_nat (mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc (ordsucc x0)))) (ordsucc (ordsucc x0)), ordsucc (mul_nat x1 x1).
Apply add_nat_Subq_L with mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc (ordsucc x0))), ordsucc (ordsucc x0), ordsucc (mul_nat x1 x1) leaving 3 subgoals.
The subproof is completed by applying L6.
The subproof is completed by applying L4.
Apply mul_nat_SR with ordsucc (ordsucc x0), ordsucc (ordsucc x0), λ x2 x3 . ordsucc (mul_nat x1 x1)x3 leaving 2 subgoals.
The subproof is completed by applying L4.
Apply add_nat_com with ordsucc (ordsucc x0), mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc x0)), λ x2 x3 . ordsucc (mul_nat x1 x1)x3 leaving 3 subgoals.
The subproof is completed by applying L4.
The subproof is completed by applying L5.
Apply add_nat_Subq_L with mul_nat (ordsucc (ordsucc x0)) (ordsucc (ordsucc x0)), ordsucc (ordsucc x0), ordsucc (mul_nat x1 x1) leaving 3 subgoals.
The subproof is completed by applying L5.
The subproof is completed by applying L4.
Apply H1 with x1.
The subproof is completed by applying H7.
Assume H7: x1 = ordsucc (ordsucc x0).
...