Let x and y be given.
Assume Hxy.
Let p be given.
Assume Hp.
Apply Hxy to the current goal.
Assume H.
Apply H to the current goal.
Assume H.
Apply H to the current goal.
Assume H.
Apply H to the current goal.
Assume H.
Apply H to the current goal.
Assume H1 H2 H3 H4 H5 _.
An exact proof term for the current goal is Hp H1 H2 H3 H4 H5.
We will
prove ∀x y, SNo x → SNo y → P x y.
Let x and y be given.
Set L to be the term
L1 ∪ L2.
Set R to be the term
R1 ∪ R2.
We prove the intermediate
claim IHLx:
∀w ∈ SNoL x, P w y.
Let w be given.
Apply SNoL_E x Hx w Hw to the current goal.
An
exact proof term for the current goal is
SNoS_I2 w x Hw1 Hx Hw2.
An exact proof term for the current goal is IHx w Lw.
We prove the intermediate
claim IHRx:
∀w ∈ SNoR x, P w y.
Let w be given.
Apply SNoR_E x Hx w Hw to the current goal.
An
exact proof term for the current goal is
SNoS_I2 w x Hw1 Hx Hw2.
An exact proof term for the current goal is IHx w Lw.
We prove the intermediate
claim IHLy:
∀w ∈ SNoL y, P x w.
Let w be given.
Apply SNoL_E y Hy w Hw to the current goal.
An
exact proof term for the current goal is
SNoS_I2 w y Hw1 Hy Hw2.
An exact proof term for the current goal is IHy w Lw.
We prove the intermediate
claim IHRy:
∀w ∈ SNoR y, P x w.
Let w be given.
Apply SNoR_E y Hy w Hw to the current goal.
An
exact proof term for the current goal is
SNoS_I2 w y Hw1 Hy Hw2.
An exact proof term for the current goal is IHy w Lw.
We prove the intermediate
claim LLR:
SNoCutP L R.
Apply and3I to the current goal.
Let w be given.
Apply binunionE L1 L2 w Hw to the current goal.
Let z be given.
Apply LPE z y (IHLx z Hz) to the current goal.
Assume _ _ _ _.
rewrite the current goal using Hwz (from left to right).
An exact proof term for the current goal is H2.
Let z be given.
Apply LPE x z (IHLy z Hz) to the current goal.
Assume _ _ _ _.
rewrite the current goal using Hwz (from left to right).
An exact proof term for the current goal is H2.
Let w be given.
Apply binunionE R1 R2 w Hw to the current goal.
Let z be given.
Apply LPE z y (IHRx z Hz) to the current goal.
Assume _ _ _ _.
rewrite the current goal using Hwz (from left to right).
An exact proof term for the current goal is H2.
Let z be given.
Apply LPE x z (IHRy z Hz) to the current goal.
Assume _ _ _ _.
rewrite the current goal using Hwz (from left to right).
An exact proof term for the current goal is H2.
Let w be given.
Let z be given.
Apply binunionE L1 L2 w Hw to the current goal.
Let u be given.
Apply SNoL_E x Hx u Hu to the current goal.
An
exact proof term for the current goal is
SNoS_I2 u x Hu1 Hx Hu2.
Apply LPE u y (IHLx u Hu) to the current goal.
rewrite the current goal using Hwu (from left to right).
Apply binunionE R1 R2 z Hz to the current goal.
Let v be given.
Apply SNoR_E x Hx v Hv to the current goal.
Apply LPE v y (IHRx v Hv) to the current goal.
rewrite the current goal using Hzv (from left to right).
We will
prove u + y < v + y.
We prove the intermediate
claim Luv:
u < v.
An
exact proof term for the current goal is
SNoLt_tra u x v Hu1 Hx Hv1 Hu3 Hv3.
Apply SNoLtE u v Hu1 Hv1 Luv to the current goal.
Let q be given.
Assume _ _.
Assume _ _.
Assume Hq2u Hq2v.
An
exact proof term for the current goal is
LLxa (SNoLev u) Hu2 (SNoLev q) Hq2u.
An
exact proof term for the current goal is
SNoS_I2 q x Hq1 Hx Lqx.
We prove the intermediate
claim Lqy:
SNo (q + y).
Apply LPE q y (IHx q Lqx2) to the current goal.
Assume IHq1 _ _ _ _.
An exact proof term for the current goal is IHq1.
Apply SNoLt_tra (u + y) (q + y) (v + y) IHu1 Lqy IHv1 to the current goal.
We will
prove u + y < q + y.
Apply IHu3 to the current goal.
We will
prove q ∈ SNoR u.
An
exact proof term for the current goal is
SNoR_I u Hu1 q Hq1 Hq2u Hq5.
We will
prove q + y < v + y.
Apply IHv2 to the current goal.
We will
prove q ∈ SNoL v.
An
exact proof term for the current goal is
SNoL_I v Hv1 q Hq1 Hq2v Hq6.
Assume _ _.
We will
prove u + y < v + y.
Apply IHv2 to the current goal.
We will
prove u ∈ SNoL v.
An
exact proof term for the current goal is
SNoL_I v Hv1 u Hu1 Huv Luv.
Assume _ _.
We will
prove u + y < v + y.
Apply IHu3 to the current goal.
We will
prove v ∈ SNoR u.
An
exact proof term for the current goal is
SNoR_I u Hu1 v Hv1 Hvu Luv.
Let v be given.
Apply SNoR_E y Hy v Hv to the current goal.
An
exact proof term for the current goal is
SNoS_I2 v y Hv1 Hy Hv2.
Apply LPE x v (IHRy v Hv) to the current goal.
rewrite the current goal using Hzv (from left to right).
We will
prove u + y < x + v.
Apply LPE u v (IHxy u Lux v Lvy) to the current goal.
Assume _ _ _ _.
We will
prove u + y < x + v.
Apply SNoLt_tra (u + y) (u + v) (x + v) IHu1 IHuv1 IHv1 to the current goal.
We will
prove u + y < u + v.
Apply IHu5 to the current goal.
We will
prove v ∈ SNoR y.
An
exact proof term for the current goal is
SNoR_I y Hy v Hv1 Hv2 Hv3.
We will
prove u + v < x + v.
Apply IHv2 to the current goal.
We will
prove u ∈ SNoL x.
An
exact proof term for the current goal is
SNoL_I x Hx u Hu1 Hu2 Hu3.
Let u be given.
Apply SNoL_E y Hy u Hu to the current goal.
An
exact proof term for the current goal is
SNoS_I2 u y Hu1 Hy Hu2.
Apply LPE x u (IHLy u Hu) to the current goal.
rewrite the current goal using Hwu (from left to right).
Apply binunionE R1 R2 z Hz to the current goal.
Let v be given.
Apply SNoR_E x Hx v Hv to the current goal.
An
exact proof term for the current goal is
SNoS_I2 v x Hv1 Hx Hv2.
Apply LPE v y (IHRx v Hv) to the current goal.
rewrite the current goal using Hzv (from left to right).
We will
prove x + u < v + y.
Apply LPE v u (IHxy v Lvx u Luy) to the current goal.
Assume _ _ _ _.
We will
prove x + u < v + y.
Apply SNoLt_tra (x + u) (v + u) (v + y) IHu1 IHvu1 IHv1 to the current goal.
We will
prove x + u < v + u.
Apply IHu3 to the current goal.
We will
prove v ∈ SNoR x.
An
exact proof term for the current goal is
SNoR_I x Hx v Hv1 Hv2 Hv3.
We will
prove v + u < v + y.
Apply IHv4 to the current goal.
We will
prove u ∈ SNoL y.
An
exact proof term for the current goal is
SNoL_I y Hy u Hu1 Hu2 Hu3.
Let v be given.
Apply SNoR_E y Hy v Hv to the current goal.
Apply LPE x v (IHRy v Hv) to the current goal.
rewrite the current goal using Hzv (from left to right).
We will
prove x + u < x + v.
We prove the intermediate
claim Luv:
u < v.
An
exact proof term for the current goal is
SNoLt_tra u y v Hu1 Hy Hv1 Hu3 Hv3.
Apply SNoLtE u v Hu1 Hv1 Luv to the current goal.
Let q be given.
Assume _ _.
Assume _ _.
Assume Hq2u Hq2v.
An
exact proof term for the current goal is
LLya (SNoLev v) Hv2 (SNoLev q) Hq2v.
An
exact proof term for the current goal is
SNoS_I2 q y Hq1 Hy Lqy.
We prove the intermediate
claim Lxq:
SNo (x + q).
Apply LPE x q (IHy q Lqy2) to the current goal.
Assume IHq1 _ _ _ _.
An exact proof term for the current goal is IHq1.
We will
prove x + u < x + v.
Apply SNoLt_tra (x + u) (x + q) (x + v) IHu1 Lxq IHv1 to the current goal.
We will
prove x + u < x + q.
Apply IHu5 to the current goal.
We will
prove q ∈ SNoR u.
An
exact proof term for the current goal is
SNoR_I u Hu1 q Hq1 Hq2u Hq5.
We will
prove x + q < x + v.
Apply IHv4 to the current goal.
We will
prove q ∈ SNoL v.
An
exact proof term for the current goal is
SNoL_I v Hv1 q Hq1 Hq2v Hq6.
Assume _ _.
We will
prove x + u < x + v.
Apply IHv4 to the current goal.
We will
prove u ∈ SNoL v.
An
exact proof term for the current goal is
SNoL_I v Hv1 u Hu1 Huv Luv.
Assume _ _.
We will
prove x + u < x + v.
Apply IHu5 to the current goal.
We will
prove v ∈ SNoR u.
An
exact proof term for the current goal is
SNoR_I u Hu1 v Hv1 Hvu Luv.
We will prove P x y.
We prove the intermediate
claim LNLR:
SNo (SNoCut L R).
Apply andI to the current goal.
rewrite the current goal using
add_SNo_eq x Hx y Hy (from left to right).
Apply and5I to the current goal.
An exact proof term for the current goal is LNLR.
Let u be given.
Apply SNoL_E x Hx u Hu to the current goal.
We prove the intermediate
claim LuyL:
u + y ∈ L.
We will
prove u + y ∈ L1 ∪ L2.
Apply ReplI (SNoL x) (λw ⇒ w + y) u to the current goal.
We will
prove u ∈ SNoL x.
An exact proof term for the current goal is Hu.
Let u be given.
Apply SNoR_E x Hx u Hu to the current goal.
We prove the intermediate
claim LuyR:
u + y ∈ R.
We will
prove u + y ∈ R1 ∪ R2.
Apply ReplI (SNoR x) (λw ⇒ w + y) u to the current goal.
We will
prove u ∈ SNoR x.
An exact proof term for the current goal is Hu.
Let u be given.
Apply SNoL_E y Hy u Hu to the current goal.
We prove the intermediate
claim LxuL:
x + u ∈ L.
We will
prove x + u ∈ L1 ∪ L2.
Apply ReplI (SNoL y) (λw ⇒ x + w) u to the current goal.
We will
prove u ∈ SNoL y.
An exact proof term for the current goal is Hu.
Let u be given.
Apply SNoR_E y Hy u Hu to the current goal.
We prove the intermediate
claim LxuR:
x + u ∈ R.
We will
prove x + u ∈ R1 ∪ R2.
Apply ReplI (SNoR y) (λz ⇒ x + z) u to the current goal.
We will
prove u ∈ SNoR y.
An exact proof term for the current goal is Hu.
An exact proof term for the current goal is LLR.
∎