Let n be given.
We prove the intermediate
claim Ln1:
nat_p n.
An
exact proof term for the current goal is
omega_nat_p n Hn.
We prove the intermediate
claim Ln2:
ordinal n.
We prove the intermediate
claim Ln3:
SNo n.
An
exact proof term for the current goal is
ordinal_SNo n Ln2.
We prove the intermediate
claim L1:
∀m, nat_p m → add_nat n m = n + m.
rewrite the current goal using
add_SNo_0R n Ln3 (from left to right).
An
exact proof term for the current goal is
add_nat_0R n.
Let m be given.
rewrite the current goal using IH (from right to left).
An
exact proof term for the current goal is
add_nat_SR n m Hm.
Let m be given.
An
exact proof term for the current goal is
L1 m (omega_nat_p m Hm).
∎