Let V be given.
We prove the intermediate
claim HUSubX:
U ⊆ X.
Let x be given.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ apply_fun g x0 ∈ V) x HxU).
Let x0 be given.
We will
prove ∃W : set, W ∈ Tx ∧ x0 ∈ W ∧ W ⊆ U.
We prove the intermediate
claim Hx0X:
x0 ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx1 : set ⇒ apply_fun g x1 ∈ V) x0 Hx0U).
We prove the intermediate
claim Hgx0V:
apply_fun g x0 ∈ V.
An
exact proof term for the current goal is
(SepE2 X (λx1 : set ⇒ apply_fun g x1 ∈ V) x0 Hx0U).
We prove the intermediate
claim Hgx0Y:
apply_fun g x0 ∈ Y.
An exact proof term for the current goal is (Hgfun x0 Hx0X).
Apply Hexr to the current goal.
Let r be given.
We prove the intermediate
claim HrR:
r ∈ R.
We prove the intermediate
claim Hrpos:
r ∈ R ∧ Rlt 0 r.
Apply andI to the current goal.
An exact proof term for the current goal is HrR.
Apply HexW to the current goal.
Let W be given.
Assume HWpack.
We use W to witness the existential quantifier.
We prove the intermediate
claim HWcore:
W ∈ Tx ∧ x0 ∈ W.
We prove the intermediate
claim HWT:
W ∈ Tx.
An
exact proof term for the current goal is
(andEL (W ∈ Tx) (x0 ∈ W) HWcore).
We prove the intermediate
claim Hx0W:
x0 ∈ W.
An
exact proof term for the current goal is
(andER (W ∈ Tx) (x0 ∈ W) HWcore).
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HWT.
An exact proof term for the current goal is Hx0W.
Let x1 be given.
We prove the intermediate
claim Hx1X:
x1 ∈ X.
Apply (SepI X (λx2 : set ⇒ apply_fun g x2 ∈ V) x1 Hx1X) to the current goal.
An exact proof term for the current goal is (Htail g Hgcl x1 Hx1X Hx1W).
We prove the intermediate
claim Hgx1Y:
apply_fun g x1 ∈ Y.
An exact proof term for the current goal is (Hgfun x1 Hx1X).
We prove the intermediate
claim Hgx0Y:
apply_fun g x0 ∈ Y.
An exact proof term for the current goal is (Hgfun x0 Hx0X).
rewrite the current goal using Hsym (from left to right).
An exact proof term for the current goal is Hineq.
An
exact proof term for the current goal is
(HballSubV (apply_fun g x1) Hball).
∎