Let V be given.
Set K to be the term
{x}.
We prove the intermediate
claim HKsub:
K ⊆ X.
Let t be given.
We prove the intermediate
claim Hteq:
t = x.
An
exact proof term for the current goal is
(SingE x t Ht).
rewrite the current goal using Hteq (from left to right).
An exact proof term for the current goal is HxX.
We prove the intermediate
claim HKdef:
K = {x}.
We use K to witness the existential quantifier.
We use V to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HKcomp.
An exact proof term for the current goal is HKsub.
An exact proof term for the current goal is HV.
Let f be given.
We prove the intermediate
claim HevalV:
apply_fun eval f ∈ V.
We prove the intermediate
claim HfxV:
apply_fun f x ∈ V.
An exact proof term for the current goal is HevalV.
We prove the intermediate
claim HKpre:
K ⊆ preimage_of X f V.
Let t be given.
We prove the intermediate
claim Hteq:
t = x.
An
exact proof term for the current goal is
(SingE x t HtK).
rewrite the current goal using Hteq (from left to right).
An
exact proof term for the current goal is
(SepI X (λu : set ⇒ apply_fun f u ∈ V) x HxX HfxV).
Let f be given.
We prove the intermediate
claim HKpre:
K ⊆ preimage_of X f V.
We prove the intermediate
claim HxK:
x ∈ K.
An
exact proof term for the current goal is
(SingI x).
We prove the intermediate
claim Hxpre:
x ∈ preimage_of X f V.
An exact proof term for the current goal is (HKpre x HxK).
We prove the intermediate
claim HfxV:
apply_fun f x ∈ V.
An
exact proof term for the current goal is
(SepE2 X (λu : set ⇒ apply_fun f u ∈ V) x Hxpre).
We prove the intermediate
claim HevalV:
apply_fun eval f ∈ V.
An exact proof term for the current goal is HfxV.
rewrite the current goal using HpreEq (from left to right).
∎