Let Lx, Rx, Ly and Ry be given.
Assume HLRx HLRy.
Let x and y be given.
Assume Hx Hy.
Set P1 to be the term
λu ⇒ ∃v ∈ Lx, ∃w ∈ Ly, u + v * w ≤ v * y + x * w of type
set → prop.
Set P2 to be the term
λu ⇒ ∃v ∈ Rx, ∃w ∈ Ry, u + v * w ≤ v * y + x * w of type
set → prop.
Set P to be the term
λu ⇒ P1 u ∨ P2 u of type
set → prop.
Apply HLRx to the current goal.
Assume H.
Apply H to the current goal.
Assume HLx HRx HLRx'.
Apply HLRy to the current goal.
Assume H.
Apply H to the current goal.
Assume HLy HRy HLRy'.
rewrite the current goal using Hx (from right to left).
rewrite the current goal using Hy (from right to left).
We prove the intermediate
claim Lxy:
SNo (x * y).
An
exact proof term for the current goal is
SNo_mul_SNo x y Hx1 Hy1.
Let u be given.
Apply dneg to the current goal.
We prove the intermediate
claim L1:
∀v ∈ Lx, ∀w ∈ Ly, v * y + x * w < u + v * w.
Let v be given.
Assume Hv.
Let w be given.
Assume Hw.
We prove the intermediate
claim Lv1:
SNo v.
An exact proof term for the current goal is HLx v Hv.
We prove the intermediate
claim Lw1:
SNo w.
An exact proof term for the current goal is HLy w Hw.
Assume H.
An exact proof term for the current goal is H.
Assume H.
Apply HNC to the current goal.
Apply orIL to the current goal.
We use v to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hv.
We use w to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hw.
An exact proof term for the current goal is H.
We prove the intermediate
claim L2:
∀v ∈ Rx, ∀w ∈ Ry, v * y + x * w < u + v * w.
Let v be given.
Assume Hv.
Let w be given.
Assume Hw.
We prove the intermediate
claim Lv1:
SNo v.
An exact proof term for the current goal is HRx v Hv.
We prove the intermediate
claim Lw1:
SNo w.
An exact proof term for the current goal is HRy w Hw.
Assume H.
An exact proof term for the current goal is H.
Assume H.
Apply HNC to the current goal.
Apply orIR to the current goal.
We use v to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hv.
We use w to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hw.
An exact proof term for the current goal is H.
Apply SNoLtLe_tra u (x * y) u Hu1 Lxy Hu1 Hu3 to the current goal.
Apply mul_SNoCut_abs Lx Rx Ly Ry x y HLRx HLRy Hx Hy to the current goal.
Let LxLy', RxRy', LxRy' and RxLy' be given.
Assume LxLy'E LxLy'I RxRy'E RxRy'I LxRy'E LxRy'I RxLy'E RxLy'I.
rewrite the current goal using HE (from left to right).
We will
prove SNoCut (LxLy' ∪ RxRy') (LxRy' ∪ RxLy') ≤ u.
rewrite the current goal using
SNo_eta u Hu1 (from left to right).
Let z be given.
rewrite the current goal using
SNo_eta u Hu1 (from right to left).
Apply LxLy'E z Hz to the current goal.
Let w0 be given.
Assume Hw0.
Let w1 be given.
Assume Hw1.
Assume Hw0a Hw1a Hw0x Hw1y Hze.
rewrite the current goal using Hze (from left to right).
We will
prove w0 * y + x * w1 + - w0 * w1 < u.
We will
prove w0 * y + x * w1 < u + w0 * w1.
Assume H.
An exact proof term for the current goal is H.
Apply HNC to the current goal.
We will
prove P1 u ∨ P2 u.
Apply orIL to the current goal.
We use w0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hw0.
We use w1 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hw1.
An exact proof term for the current goal is H.
Apply RxRy'E z Hz to the current goal.
Let z0 be given.
Assume Hz0.
Let z1 be given.
Assume Hz1.
Assume Hz0a Hz1a Hz0x Hz1y Hze.
rewrite the current goal using Hze (from left to right).
We will
prove z0 * y + x * z1 + - z0 * z1 < u.
We will
prove z0 * y + x * z1 < u + z0 * z1.
Assume H.
An exact proof term for the current goal is H.
Apply HNC to the current goal.
We will
prove P1 u ∨ P2 u.
Apply orIR to the current goal.
We use z0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hz0.
We use z1 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hz1.
An exact proof term for the current goal is H.
Let z be given.
rewrite the current goal using HE (from right to left).
Apply SNoR_E u Hu1 z Hz to the current goal.
We prove the intermediate claim LPz: P z.
Apply IH z to the current goal.
An exact proof term for the current goal is Hz1.
An exact proof term for the current goal is Hu1.
An exact proof term for the current goal is Hz2.
An exact proof term for the current goal is H1.
Apply LPz to the current goal.
Assume H2: P1 z.
Apply H2 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Assume H2.
Apply H2 to the current goal.
Let w be given.
Assume H2.
Apply H2 to the current goal.
We prove the intermediate
claim Lv1:
SNo v.
An exact proof term for the current goal is HLx v Hv.
We prove the intermediate
claim Lw1:
SNo w.
An exact proof term for the current goal is HLy w Hw.
We prove the intermediate
claim Lvw:
SNo (v * w).
An
exact proof term for the current goal is
SNo_mul_SNo v w Lv1 Lw1.
We prove the intermediate
claim L3:
z + v * w < u + v * w.
We will
prove v * y + x * w < u + v * w.
An exact proof term for the current goal is L1 v Hv w Hw.
We prove the intermediate
claim L4:
z < u.
An
exact proof term for the current goal is
SNoLt_tra u z u Hu1 Hz1 Hu1 Hz3 L4.
Assume H2: P2 z.
Apply H2 to the current goal.
Let v be given.
Assume H2.
Apply H2 to the current goal.
Assume H2.
Apply H2 to the current goal.
Let w be given.
Assume H2.
Apply H2 to the current goal.
We prove the intermediate
claim Lv1:
SNo v.
An exact proof term for the current goal is HRx v Hv.
We prove the intermediate
claim Lw1:
SNo w.
An exact proof term for the current goal is HRy w Hw.
We prove the intermediate
claim Lvw:
SNo (v * w).
An
exact proof term for the current goal is
SNo_mul_SNo v w Lv1 Lw1.
We prove the intermediate
claim L5:
z + v * w < u + v * w.
We will
prove v * y + x * w < u + v * w.
An exact proof term for the current goal is L2 v Hv w Hw.
We prove the intermediate
claim L6:
z < u.
An
exact proof term for the current goal is
SNoLt_tra u z u Hu1 Hz1 Hu1 Hz3 L6.
rewrite the current goal using H1 (from right to left).
An exact proof term for the current goal is Hz2.
An exact proof term for the current goal is H1.
Let u be given.
Apply SNoL_E (x * y) Lxy u Hu to the current goal.
An exact proof term for the current goal is LI u Hu1 Hu2 Hu3.
∎