Definition Evar_env'LU : Ensemble var_env' := Evar_env' L U.Definition Evar_env''LU : Ensemble var_env'' := Evar_env'' L U.Definition Evar_env'LSU : Ensemble var_env' := Evar_env' L (S U).Definition Evar_env''LSU : Ensemble var_env'' := Evar_env'' L (S U).Definition f1 : var_env' -> var_env' := Evar_env'ntoSn U.Definition f1' : var_env'' -> var_env'' := Evar_env''ntoSn U.Definition imagef1 : Ensemble var_env' := Im _ _ Evar_env'LU f1.Definition imagef1' : Ensemble var_env'' := Im _ _ Evar_env''LU f1'.Definition f2 (x : var_env') : var_env' := x.Definition f2' (x : var_env'') : var_env'' := x.Definition imagef2 : Ensemble var_env' := Im _ _ Evar_env'LU f2.Definition imagef2' : Ensemble var_env'' := Im _ _ Evar_env''LU f2'.Definition imagef1orf2 : Ensemble var_env' := Union _ imagef1 imagef2.Definition imagef1'orf2' : Ensemble var_env'' := Union _ imagef1' imagef2'.

(* Specifications: *)
Lemma var_env''M0 : forall ve : var_env'', U - L = 0 -> In _ Evar_env''LU ve -> ve = M0 _.
Lemma same_set_same_cardinal : forall (U : Type) (X Y : Ensemble U) (n m : nat), cardinal U X n -> cardinal U Y m -> Same_set U X Y -> n = m.
Lemma same_set_finite : forall (U : Type) (X Y : Ensemble U), Finite U X -> Same_set U X Y -> Finite U Y.
Lemma singleton_add_empty : forall (U : Type) (x : U), Same_set _ (Singleton _ x) (Add _ (Empty_set _) x).
Lemma singleton_cardinal_one : forall (U : Type) (x : U), cardinal _ (Singleton _ x) 1.
Lemma M0inEvar_env'' : In (Map unit) Evar_env''LU (M0 unit).
Lemma var_env''singleton : U - L = 0 -> Same_set _ Evar_env''LU (Singleton _ (M0 _)).
Lemma var_env''cardinal_one : U - L = 0 -> cardinal _ Evar_env''LU 1.
Lemma imagef1lemma' : forall ve : var_env'', In _ Evar_env''LSU ve -> in_dom _ (N_of_nat U) ve = true -> exists ve' : var_env'', In _ Evar_env''LU ve' /\ f1' ve' = ve.
Lemma imagef2lemma' : forall ve : var_env'', In _ Evar_env''LSU ve -> in_dom _ (N_of_nat U) ve = false -> exists ve' : var_env'', In _ Evar_env''LU ve' /\ f2' ve' = ve.
Lemma imagef1'orf2'lemma : forall ve : var_env'', In _ Evar_env''LSU ve -> In _ imagef1'orf2' ve.
Lemma card_imagef1'lemma : forall m : nat, cardinal _ imagef1' m -> m <= n.
Lemma card_imagef2'lemma : forall m : nat, cardinal _ imagef2' m -> m <= n.
Lemma imagef1'finite : Finite _ imagef1'.
Lemma imagef2'finite : Finite _ imagef2'.
Lemma card_imagef1'orf2'lemma : forall m : nat, cardinal _ imagef1'orf2' m -> m <= 2 * n.
Lemma imagef1'orf2'finite : Finite _ imagef1'orf2'.
Lemma card_Evar_env''LSU_lemma : forall m : nat, cardinal _ Evar_env''LSU m -> m <= 2 * n.
Lemma Evar_env''LSU_finite : Finite _ Evar_env''LSU.
Lemma Evar_env''LSULU : forall L U : nat, Evar_env''LSU L U = Evar_env''LU L (S U).
Lemma Eenv_var''LU_finite : forall n L U : nat, n = U - L -> Finite _ (Evar_env''LU L U).
Lemma Eenv_var''LU_card : forall n L U c : nat, n = U - L -> cardinal _ (Evar_env''LU L U) c -> c <= two_power n.
Lemma Eenv''_var''finite : forall L U : nat, Finite _ (Evar_env'' L U).
Lemma Eenv''_var''card : forall L U n : nat, cardinal _ (Evar_env''LU L U) n -> n <= two_power (U - L).
Lemma minusUL0_var_lu : forall L U : nat, U - L = 0 -> forall x : ad, var_lu L U x = false.