Section ee_sub_proof.
Variable F G : Ens.
Hypothesis f : is_a_function F.
Hypothesis g : is_a_function G.
Hypothesis s : SUB (Domain F) (Domain G).
Hypothesis e : Extensionally_equivalent F G.
Variable M : Ens.
Hypothesis i : IN M F.
Let step1 : is_a_relation F.
Proof function_is_a_relation F f.
Let step2 : is_a_pair M.
Proof step1 M i.
Let X := PR1 M.
Let Y := PR2 M.
Let step3 : EQ M (PAIR X Y).
Proof PAIR_proj_th1 M step2.
Let step4 : EQ (PAIR X Y) M.
Proof EQ_symm M (PAIR X Y) step3.
Let step5 : IN (PAIR X Y) F.
Proof Extensionality (PAIR X Y) M F step4 i.
Let V := EV F X.
Let step6 : EQ Y V.
Proof function_th1 F f X Y step5.
Let step7 : IN X (Domain F).
Proof Domain_th1 F X Y step5.
Let step8 : IN X (Domain G).
Proof s X step7.
Let W := EV G X.
Let step9 : EQ V W.
Proof e X step7 step8.
Let step10 : EQ Y W.
Proof EQ_trans Y V W step6 step9.
Let step10a : EQ W Y.
Proof EQ_symm Y W step10.
Let step11 : IN (PAIR X W) G.
Proof EV_th1 G X step8.
Let step12 : IN (PAIR X Y) G.
Proof
Big_Extensionality (fun Y1 : Ens => IN (PAIR X Y1) G) W Y step11 step10a.
Proof Extensionality M (PAIR X Y) G step3 step12.
End ee_sub_proof.

Theorem ex_eq_sub :
forall (F G : Ens) (f : is_a_function F) (s : SUB (Domain F) (Domain G))
(e : Extensionally_equivalent F G), SUB F G.