Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Let x1 of type ι be given.
Assume H0: x1omega.
Claim L1: SNo x1
Apply omega_SNo with x1.
The subproof is completed by applying H0.
Apply nat_ind with λ x2 . x0add_SNo x1 x2or (x0x1) (add_SNo x0 (minus_SNo x1)x2) leaving 2 subgoals.
Apply add_SNo_0R with x1, λ x2 x3 . x0x3or (x0x1) (add_SNo x0 (minus_SNo x1)0) leaving 2 subgoals.
The subproof is completed by applying L1.
The subproof is completed by applying orIL with x0x1, add_SNo x0 (minus_SNo x1)0.
Let x2 of type ι be given.
Assume H2: nat_p x2.
Assume H3: x0add_SNo x1 x2or (x0x1) (add_SNo x0 (minus_SNo x1)x2).
Apply add_SNo_1_ordsucc with x2, λ x3 x4 . x0add_SNo x1 x3or (x0x1) (add_SNo x0 (minus_SNo x1)ordsucc x2) leaving 2 subgoals.
Apply nat_p_omega with x2.
The subproof is completed by applying H2.
Apply add_SNo_assoc with x1, x2, 1, λ x3 x4 . x0x4or (x0x1) (add_SNo x0 (minus_SNo x1)ordsucc x2) leaving 4 subgoals.
The subproof is completed by applying L1.
Apply nat_p_SNo with x2.
The subproof is completed by applying H2.
The subproof is completed by applying SNo_1.
Apply add_SNo_1_ordsucc with add_SNo x1 x2, λ x3 x4 . x0x4or (x0x1) (add_SNo x0 (minus_SNo x1)ordsucc x2) leaving 2 subgoals.
Apply add_SNo_In_omega with x1, x2 leaving 2 subgoals.
The subproof is completed by applying H0.
Apply nat_p_omega with x2.
The subproof is completed by applying H2.
Assume H4: x0ordsucc (add_SNo x1 x2).
Apply ordsuccE with add_SNo x1 x2, x0, or (x0x1) (add_SNo x0 (minus_SNo x1)ordsucc x2) leaving 3 subgoals.
The subproof is completed by applying H4.
Assume H5: x0add_SNo x1 x2.
Apply H3 with or (x0x1) (add_SNo x0 (minus_SNo x1)ordsucc x2) leaving 3 subgoals.
The subproof is completed by applying H5.
The subproof is completed by applying orIL with x0x1, add_SNo x0 (minus_SNo x1)ordsucc x2.
Assume H6: add_SNo x0 (minus_SNo x1)x2.
Apply orIR with x0x1, add_SNo x0 (minus_SNo x1)ordsucc x2.
Apply ordsuccI1 with x2, add_SNo x0 (minus_SNo x1).
The subproof is completed by applying H6.
Assume H5: x0 = add_SNo x1 x2.
Apply orIR with x0x1, add_SNo x0 (minus_SNo x1)ordsucc x2.
Apply H5 with λ x3 x4 . add_SNo x4 (minus_SNo x1)ordsucc x2.
Apply add_SNo_com with add_SNo x1 x2, minus_SNo x1, λ x3 x4 . x4ordsucc x2 leaving 3 subgoals.
Apply SNo_add_SNo with x1, x2 leaving 2 subgoals.
The subproof is completed by applying L1.
Apply nat_p_SNo with x2.
The subproof is completed by applying H2.
Apply SNo_minus_SNo with x1.
The subproof is completed by applying L1.
Apply add_SNo_minus_L2 with x1, x2, λ x3 x4 . x4ordsucc x2 leaving 3 subgoals.
The subproof is completed by applying L1.
Apply nat_p_SNo with x2.
The subproof is completed by applying H2.
The subproof is completed by applying ordsuccI2 with x2.