Let X, Tx, Y, Ty, f, A and x be given.
We prove the intermediate
claim Hfun:
function_on f X Y.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ ∀U : set, U ∈ Tx → x0 ∈ U → U ∩ A ≠ Empty) x Hxcl).
We prove the intermediate
claim HfxY:
fx ∈ Y.
An exact proof term for the current goal is (Hfun x HxX).
rewrite the current goal using HdefCl (from left to right).
Apply (SepI Y (λy0 : set ⇒ ∀V : set, V ∈ Ty → y0 ∈ V → V ∩ (Repl A (λa : set ⇒ apply_fun f a)) ≠ Empty) fx HfxY) to the current goal.
Let V be given.
We prove the intermediate
claim Hpre:
preimage_of X f V ∈ Tx.
We prove the intermediate
claim Hxpre:
x ∈ preimage_of X f V.
An
exact proof term for the current goal is
(SepI X (λu : set ⇒ apply_fun f u ∈ V) x HxX HfxV).
We prove the intermediate
claim Hclx:
∀U : set, U ∈ Tx → x ∈ U → U ∩ A ≠ Empty.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ ∀U : set, U ∈ Tx → x0 ∈ U → U ∩ A ≠ Empty) x Hxcl).
An
exact proof term for the current goal is
(Hclx (preimage_of X f V) Hpre Hxpre).
We prove the intermediate
claim Hexa:
∃a : set, a ∈ (preimage_of X f V) ∩ A.
Apply Hexa to the current goal.
Let a be given.
We prove the intermediate
claim HaA:
a ∈ A.
We prove the intermediate
claim HafV:
apply_fun f a ∈ V.
We prove the intermediate
claim HyImg:
y ∈ Repl A (λa0 : set ⇒ apply_fun f a0).
An
exact proof term for the current goal is
(ReplI A (λa0 : set ⇒ apply_fun f a0) a HaA).
We prove the intermediate
claim HyIn:
y ∈ V ∩ (Repl A (λa0 : set ⇒ apply_fun f a0)).
∎