(************* restricted_to ***********)

Definition restricted_to (A F : Ens) :=
  Set_Of F (fun M : Ens => IN (PR1 M) A).

(* Specifications: *)
Theorem restricted_to_th1 : forall (A F U : Ens) (i : IN U F) (j : IN (PR1 U) A), IN U (restricted_to A F).
Theorem restricted_to_th2 : forall (A F U : Ens) (i : IN U (restricted_to A F)), IN (PR1 U) A.
Theorem restricted_to_th3 : forall (A F U : Ens) (i : IN U (restricted_to A F)), IN U F.
Theorem restricted_to_th4 : forall A F : Ens, SUB (restricted_to A F) F.
Lemma (*Fact*) res_to_1a_Out : IN X (intersection A (Domain F)).
Lemma (*Fact*) res_to_1b_Out : IN X (Domain (restricted_to A F)).
Lemma res_to_1_Out : EQ (intersection A (Domain F)) (Domain (restricted_to A F)).
Theorem restricted_to_th5 : forall A F : Ens, EQ (intersection A (Domain F)) (Domain (restricted_to A F)).
Lemma res_to_2_Out : IN U (restricted_to A F).
Theorem restricted_to_th6 : forall (A F : Ens) (f : is_a_function F) (s : SUB (Domain F) A), SUB F (restricted_to A F).
Theorem restricted_to_th7 : forall (A F : Ens) (f : is_a_function F) (s : SUB (Domain F) A), EQ F (restricted_to A F).
Lemma res_to_3_Out : EQ Y Z.
Theorem restricted_to_th8 : forall (A F : Ens) (f : is_a_function F) (X : Ens) (i : IN X (intersection A (Domain F))), EQ (EV F X) (EV (restricted_to A F) X).
Theorem restricted_to_th9 : forall (A F : Ens) (f : is_a_function F) (X : Ens) (i : IN X A) (j : IN X (Domain F)), EQ (EV F X) (EV (restricted_to A F) X).
Lemma emptyfn1_Out : is_a_pair X.
Theorem empty_function_relation : is_a_relation Zero.
Lemma emptyfn2_Out : EQ Y Z.
Theorem empty_function_well_definedness : well_definedness Zero.
Theorem empty_function_function : is_a_function Zero.
Lemma efdom_Out : False.
Theorem empty_function_domain_empty : Its_empty (Domain Zero).
Theorem empty_function_domain : EQ Zero (Domain Zero).