Let n be given.
We prove the intermediate
claim HnO:
n ∈ ω.
An
exact proof term for the current goal is
(setminusE1 ω {0} n HnIn).
We prove the intermediate
claim Hnnot0:
n ∉ {0}.
An
exact proof term for the current goal is
(setminusE2 ω {0} n HnIn).
We prove the intermediate
claim HnNat:
nat_p n.
An
exact proof term for the current goal is
(omega_nat_p n HnO).
An
exact proof term for the current goal is
(nat_inv n HnNat).
Apply FalseE to the current goal.
We prove the intermediate
claim Hnin0:
n ∈ {0}.
rewrite the current goal using Hn0 (from left to right).
An
exact proof term for the current goal is
(SingI 0).
An exact proof term for the current goal is (Hnnot0 Hnin0).
Assume H.
An exact proof term for the current goal is H.
Apply Hexk to the current goal.
Let k be given.
Assume Hkconj.
We prove the intermediate
claim Hkeq:
n = ordsucc k.
We prove the intermediate
claim HkNat:
nat_p k.
We prove the intermediate
claim HkOrd:
ordinal k.
An
exact proof term for the current goal is
(nat_p_ordinal k HkNat).
We prove the intermediate
claim Hpos:
0 < n.
rewrite the current goal using Hkeq (from left to right).
We prove the intermediate
claim HSn:
SNo n.
An
exact proof term for the current goal is
(omega_SNo n HnO).
We prove the intermediate
claim HinvPos:
0 < inv_nat n.
rewrite the current goal using Hposcase (from left to right).
An exact proof term for the current goal is HrecipPos.
We prove the intermediate
claim HinvR:
inv_nat n ∈ R.
An
exact proof term for the current goal is
(inv_nat_real n HnO).
∎