Set P to be the term
λx y z ⇒ x + (y + z) = (x + y) + z of type
set → set → set → prop.
Apply SNoLev_ind3 to the current goal.
Let x, y and z be given.
Assume Hx: SNo x.
Assume Hy: SNo y.
Assume Hz: SNo z.
We will
prove x + (y + z) = (x + y) + z.
We prove the intermediate
claim Lxy:
SNo (x + y).
An
exact proof term for the current goal is
SNo_add_SNo x y Hx Hy.
We prove the intermediate
claim Lyz:
SNo (y + z).
An
exact proof term for the current goal is
SNo_add_SNo y z Hy Hz.
Set Lxyz1 to be the term
{w + (y + z)|w ∈ SNoL x}.
Set Lxyz2 to be the term
{x + w|w ∈ SNoL (y + z)}.
Set Rxyz1 to be the term
{w + (y + z)|w ∈ SNoR x}.
Set Rxyz2 to be the term
{x + w|w ∈ SNoR (y + z)}.
Set Lxyz3 to be the term
{w + z|w ∈ SNoL (x + y)}.
Set Lxyz4 to be the term
{(x + y) + w|w ∈ SNoL z}.
Set Rxyz3 to be the term
{w + z|w ∈ SNoR (x + y)}.
Set Rxyz4 to be the term
{(x + y) + w|w ∈ SNoR z}.
rewrite the current goal using
add_SNo_eq x Hx (y + z) Lyz (from left to right).
rewrite the current goal using
add_SNo_eq (x + y) Lxy z Hz (from left to right).
We will prove (SNoCut (Lxyz1 ∪ Lxyz2) (Rxyz1 ∪ Rxyz2)) = (SNoCut (Lxyz3 ∪ Lxyz4) (Rxyz3 ∪ Rxyz4)).
We prove the intermediate claim Lxyz12: SNoCutP (Lxyz1 ∪ Lxyz2) (Rxyz1 ∪ Rxyz2).
We prove the intermediate claim Lxyz34: SNoCutP (Lxyz3 ∪ Lxyz4) (Rxyz3 ∪ Rxyz4).
Apply SNoCut_ext to the current goal.
An exact proof term for the current goal is Lxyz12.
An exact proof term for the current goal is Lxyz34.
We will
prove ∀w ∈ Lxyz1 ∪ Lxyz2, w < SNoCut (Lxyz3 ∪ Lxyz4) (Rxyz3 ∪ Rxyz4).
rewrite the current goal using
add_SNo_eq (x + y) Lxy z Hz (from right to left).
We will
prove ∀w ∈ Lxyz1 ∪ Lxyz2, w < (x + y) + z.
Let w be given.
Apply binunionE Lxyz1 Lxyz2 w Hw to the current goal.
Apply ReplE_impred (SNoL x) (λw ⇒ w + (y + z)) w Hw to the current goal.
Let u be given.
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hu1: SNo u.
Assume Hu3: u < x.
We will
prove w < (x + y) + z.
rewrite the current goal using Hwu (from left to right).
We will
prove u + (y + z) < (x + y) + z.
We prove the intermediate
claim IH1u:
u + (y + z) = (u + y) + z.
An exact proof term for the current goal is IH1 u (SNoL_SNoS_ x u Hu).
rewrite the current goal using IH1u (from left to right).
We will
prove (u + y) + z < (x + y) + z.
We will
prove u + y < x + y.
We will prove u < x.
An exact proof term for the current goal is Hu3.
Apply ReplE_impred (SNoL (y + z)) (λw ⇒ x + w) w Hw to the current goal.
Let u be given.
Apply SNoL_E (y + z) Lyz u Hu to the current goal.
Assume Hu1: SNo u.
rewrite the current goal using Hwu (from left to right).
We will
prove x + u < (x + y) + z.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: v < y.
We prove the intermediate
claim IH2v:
x + (v + z) = (x + v) + z.
An exact proof term for the current goal is IH2 v (SNoL_SNoS_ y v Hv).
We will
prove x + u < (x + y) + z.
We will
prove x + u ≤ x + (v + z).
An exact proof term for the current goal is H2.
We will
prove x + (v + z) < (x + y) + z.
rewrite the current goal using IH2v (from left to right).
We will
prove (x + v) + z < (x + y) + z.
We will
prove x + v < x + y.
We will prove v < y.
An exact proof term for the current goal is Hv3.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoL_E z Hz v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: v < z.
We prove the intermediate
claim IH3v:
x + (y + v) = (x + y) + v.
An exact proof term for the current goal is IH3 v (SNoL_SNoS_ z v Hv).
We will
prove x + u < (x + y) + z.
We will
prove x + u ≤ x + (y + v).
An exact proof term for the current goal is H2.
We will
prove x + (y + v) < (x + y) + z.
rewrite the current goal using IH3v (from left to right).
We will
prove (x + y) + v < (x + y) + z.
Apply add_SNo_Lt2 (x + y) v z Lxy Hv1 Hz to the current goal.
We will prove v < z.
An exact proof term for the current goal is Hv3.
We will
prove ∀v ∈ Rxyz1 ∪ Rxyz2, SNoCut (Lxyz3 ∪ Lxyz4) (Rxyz3 ∪ Rxyz4) < v.
rewrite the current goal using
add_SNo_eq (x + y) Lxy z Hz (from right to left).
We will
prove ∀v ∈ Rxyz1 ∪ Rxyz2, (x + y) + z < v.
Let v be given.
Apply binunionE Rxyz1 Rxyz2 v Hv to the current goal.
Apply ReplE_impred (SNoR x) (λw ⇒ w + (y + z)) v Hv to the current goal.
Let u be given.
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hu1: SNo u.
Assume Hu3: x < u.
We will
prove (x + y) + z < v.
rewrite the current goal using Hvu (from left to right).
We will
prove (x + y) + z < u + (y + z).
We prove the intermediate
claim IH1u:
u + (y + z) = (u + y) + z.
An exact proof term for the current goal is IH1 u (SNoR_SNoS_ x u Hu).
rewrite the current goal using IH1u (from left to right).
We will
prove (x + y) + z < (u + y) + z.
We will
prove x + y < u + y.
We will prove x < u.
An exact proof term for the current goal is Hu3.
Apply ReplE_impred (SNoR (y + z)) (λw ⇒ x + w) v Hv to the current goal.
Let u be given.
Apply SNoR_E (y + z) Lyz u Hu to the current goal.
Assume Hu1: SNo u.
rewrite the current goal using Hvu (from left to right).
We will
prove (x + y) + z < x + u.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: y < v.
We prove the intermediate
claim IH2v:
x + (v + z) = (x + v) + z.
An exact proof term for the current goal is IH2 v (SNoR_SNoS_ y v Hv).
We will
prove (x + y) + z < x + u.
We will
prove (x + y) + z < x + (v + z).
rewrite the current goal using IH2v (from left to right).
We will
prove (x + y) + z < (x + v) + z.
We will
prove x + y < x + v.
We will prove y < v.
An exact proof term for the current goal is Hv3.
We will
prove x + (v + z) ≤ x + u.
An exact proof term for the current goal is H2.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoR_E z Hz v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: z < v.
We prove the intermediate
claim IH3v:
x + (y + v) = (x + y) + v.
An exact proof term for the current goal is IH3 v (SNoR_SNoS_ z v Hv).
We will
prove (x + y) + z < x + u.
We will
prove (x + y) + z < x + (y + v).
rewrite the current goal using IH3v (from left to right).
We will
prove (x + y) + z < (x + y) + v.
Apply add_SNo_Lt2 (x + y) z v Lxy Hz Hv1 to the current goal.
We will prove z < v.
An exact proof term for the current goal is Hv3.
We will
prove x + (y + v) ≤ x + u.
An exact proof term for the current goal is H2.
We will
prove ∀w ∈ Lxyz3 ∪ Lxyz4, w < SNoCut (Lxyz1 ∪ Lxyz2) (Rxyz1 ∪ Rxyz2).
rewrite the current goal using
add_SNo_eq x Hx (y + z) Lyz (from right to left).
We will
prove ∀w ∈ Lxyz3 ∪ Lxyz4, w < x + (y + z).
Let w be given.
Apply binunionE Lxyz3 Lxyz4 w Hw to the current goal.
Apply ReplE_impred (SNoL (x + y)) (λw ⇒ w + z) w Hw to the current goal.
Let u be given.
Apply SNoL_E (x + y) Lxy u Hu to the current goal.
Assume Hu1: SNo u.
rewrite the current goal using Hwu (from left to right).
We will
prove u + z < x + (y + z).
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoL_E x Hx v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: v < x.
We prove the intermediate
claim IH1v:
v + (y + z) = (v + y) + z.
An exact proof term for the current goal is IH1 v (SNoL_SNoS_ x v Hv).
We will
prove u + z < x + (y + z).
We will
prove u + z ≤ (v + y) + z.
An exact proof term for the current goal is H2.
We will
prove (v + y) + z < x + (y + z).
rewrite the current goal using IH1v (from right to left).
We will
prove v + (y + z) < x + (y + z).
Apply add_SNo_Lt1 v (y + z) x Hv1 Lyz Hx to the current goal.
We will prove v < x.
An exact proof term for the current goal is Hv3.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: v < y.
We prove the intermediate
claim IH2v:
x + (v + z) = (x + v) + z.
An exact proof term for the current goal is IH2 v (SNoL_SNoS_ y v Hv).
We will
prove u + z < x + (y + z).
We will
prove u + z ≤ (x + v) + z.
An exact proof term for the current goal is H2.
We will
prove (x + v) + z < x + (y + z).
rewrite the current goal using IH2v (from right to left).
We will
prove x + (v + z) < x + (y + z).
We will
prove v + z < y + z.
We will prove v < y.
An exact proof term for the current goal is Hv3.
Apply ReplE_impred (SNoL z) (λw ⇒ (x + y) + w) w Hw to the current goal.
Let u be given.
Apply SNoL_E z Hz u Hu to the current goal.
Assume Hu1: SNo u.
Assume Hu3: u < z.
We will
prove w < x + (y + z).
rewrite the current goal using Hwu (from left to right).
We will
prove (x + y) + u < x + (y + z).
We prove the intermediate
claim IH3u:
x + (y + u) = (x + y) + u.
An exact proof term for the current goal is IH3 u (SNoL_SNoS_ z u Hu).
rewrite the current goal using IH3u (from right to left).
We will
prove x + (y + u) < x + (y + z).
We will
prove y + u < y + z.
We will prove u < z.
An exact proof term for the current goal is Hu3.
We will
prove ∀v ∈ Rxyz3 ∪ Rxyz4, SNoCut (Lxyz1 ∪ Lxyz2) (Rxyz1 ∪ Rxyz2) < v.
rewrite the current goal using
add_SNo_eq x Hx (y + z) Lyz (from right to left).
We will
prove ∀v ∈ Rxyz3 ∪ Rxyz4, x + (y + z) < v.
Let v be given.
Apply binunionE Rxyz3 Rxyz4 v Hv to the current goal.
Apply ReplE_impred (SNoR (x + y)) (λw ⇒ w + z) v Hv to the current goal.
Let u be given.
Apply SNoR_E (x + y) Lxy u Hu to the current goal.
Assume Hu1: SNo u.
rewrite the current goal using Hvu (from left to right).
We will
prove x + (y + z) < u + z.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoR_E x Hx v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: x < v.
We prove the intermediate
claim IH1v:
v + (y + z) = (v + y) + z.
An exact proof term for the current goal is IH1 v (SNoR_SNoS_ x v Hv).
We will
prove x + (y + z) < u + z.
We will
prove x + (y + z) < (v + y) + z.
rewrite the current goal using IH1v (from right to left).
We will
prove x + (y + z) < v + (y + z).
Apply add_SNo_Lt1 x (y + z) v Hx Lyz Hv1 to the current goal.
We will prove x < v.
An exact proof term for the current goal is Hv3.
We will
prove (v + y) + z ≤ u + z.
An exact proof term for the current goal is H2.
Apply H1 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hv1: SNo v.
Assume Hv3: y < v.
We prove the intermediate
claim IH2v:
x + (v + z) = (x + v) + z.
An exact proof term for the current goal is IH2 v (SNoR_SNoS_ y v Hv).
We will
prove x + (y + z) < u + z.
We will
prove x + (y + z) < (x + v) + z.
rewrite the current goal using IH2v (from right to left).
We will
prove x + (y + z) < x + (v + z).
We will
prove y + z < v + z.
We will prove y < v.
An exact proof term for the current goal is Hv3.
We will
prove (x + v) + z ≤ u + z.
An exact proof term for the current goal is H2.
Apply ReplE_impred (SNoR z) (λw ⇒ (x + y) + w) v Hv to the current goal.
Let u be given.
Apply SNoR_E z Hz u Hu to the current goal.
Assume Hu1: SNo u.
Assume Hu3: z < u.
We will
prove x + (y + z) < v.
rewrite the current goal using Hvu (from left to right).
We will
prove x + (y + z) < (x + y) + u.
We prove the intermediate
claim IH3u:
x + (y + u) = (x + y) + u.
An exact proof term for the current goal is IH3 u (SNoR_SNoS_ z u Hu).
rewrite the current goal using IH3u (from right to left).
We will
prove x + (y + z) < x + (y + u).
We will
prove y + z < y + u.
We will prove z < u.
An exact proof term for the current goal is Hu3.
∎