Apply int_SNo_cases to the current goal.
Let m be given.
Assume Hm: m ω.
Let p be given.
Assume Hneg H0 Hpos.
We prove the intermediate claim L1: ∀k, nat_p km = ordsucc kp.
Let k be given.
Assume Hk HmSk.
An exact proof term for the current goal is Hpos k (nat_p_omega k Hk) HmSk.
An exact proof term for the current goal is nat_inv_impred (λk ⇒ m = kp) H0 L1 m (omega_nat_p m Hm) (λq H ⇒ H).
Let m be given.
Assume Hm: m ω.
Let p be given.
Assume Hneg: kω, - m = - ordsucc kp.
Assume H0: - m = 0p.
Assume Hpos: kω, - m = ordsucc kp.
We prove the intermediate claim L2: m = 0p.
Assume Hm0.
Apply H0 to the current goal.
rewrite the current goal using Hm0 (from left to right).
An exact proof term for the current goal is minus_SNo_0.
We prove the intermediate claim L3: ∀k, nat_p km = ordsucc kp.
Let k be given.
Assume Hk HmSk.
Apply Hneg k (nat_p_omega k Hk) to the current goal.
We will prove - m = - ordsucc k.
Use f_equal.
An exact proof term for the current goal is HmSk.
Apply nat_inv_impred (λk ⇒ m = kp) L2 L3 m (omega_nat_p m Hm) (λq H ⇒ H) to the current goal.