Let a1, a2, b1 and b2 be given.
Let c1 be given.
Assume Hc1rest.
Apply Hc1rest to the current goal.
Let c2 be given.
Assume Hc2rest.
Apply Hc2rest to the current goal.
Let d1 be given.
Assume Hd1rest.
Apply Hd1rest to the current goal.
Let d2 be given.
We prove the intermediate
claim Heqs:
(a1,a2) = (c1,c2) ∧ (b1,b2) = (d1,d2).
An
exact proof term for the current goal is
(andEL ((a1,a2) = (c1,c2) ∧ (b1,b2) = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hpack).
We prove the intermediate
claim Hdisj:
Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2).
An
exact proof term for the current goal is
(andER ((a1,a2) = (c1,c2) ∧ (b1,b2) = (d1,d2)) (Rlt c1 d1 ∨ (c1 = d1 ∧ Rlt c2 d2)) Hpack).
We prove the intermediate
claim HacEq:
(a1,a2) = (c1,c2).
An
exact proof term for the current goal is
(andEL ((a1,a2) = (c1,c2)) ((b1,b2) = (d1,d2)) Heqs).
We prove the intermediate
claim HbdEq:
(b1,b2) = (d1,d2).
An
exact proof term for the current goal is
(andER ((a1,a2) = (c1,c2)) ((b1,b2) = (d1,d2)) Heqs).
We prove the intermediate
claim Hacoords:
a1 = c1 ∧ a2 = c2.
An
exact proof term for the current goal is
(tuple_eq_coords a1 a2 c1 c2 HacEq).
We prove the intermediate
claim Hbcoords:
b1 = d1 ∧ b2 = d2.
An
exact proof term for the current goal is
(tuple_eq_coords b1 b2 d1 d2 HbdEq).
We prove the intermediate
claim Ha1eq:
a1 = c1.
An
exact proof term for the current goal is
(andEL (a1 = c1) (a2 = c2) Hacoords).
We prove the intermediate
claim Ha2eq:
a2 = c2.
An
exact proof term for the current goal is
(andER (a1 = c1) (a2 = c2) Hacoords).
We prove the intermediate
claim Hb1eq:
b1 = d1.
An
exact proof term for the current goal is
(andEL (b1 = d1) (b2 = d2) Hbcoords).
We prove the intermediate
claim Hb2eq:
b2 = d2.
An
exact proof term for the current goal is
(andER (b1 = d1) (b2 = d2) Hbcoords).
Apply Hdisj to the current goal.
Apply orIL to the current goal.
rewrite the current goal using Ha1eq (from left to right) at position 1.
rewrite the current goal using Hb1eq (from left to right) at position 1.
An exact proof term for the current goal is Hc1ltd1.
Apply Hc1eqAnd to the current goal.
Assume Hc1eqd1 Hc2ltd2.
Apply orIR to the current goal.
We will
prove a1 = b1 ∧ Rlt a2 b2.
Apply andI to the current goal.
rewrite the current goal using Ha1eq (from left to right) at position 1.
rewrite the current goal using Hb1eq (from left to right) at position 1.
An exact proof term for the current goal is Hc1eqd1.
rewrite the current goal using Ha2eq (from left to right) at position 1.
rewrite the current goal using Hb2eq (from left to right) at position 1.
An exact proof term for the current goal is Hc2ltd2.
∎