Definition fct_CompleteSpace_mixin :=
CompleteSpace.Mixin _ lim_fct complete_cauchy_fct close_lim_fct.
Canonical fct_CompleteSpace :=
CompleteSpace.Pack (T -> U) (CompleteSpace.Class _ _ fct_CompleteSpace_mixin) (T -> U).
End fct_CompleteSpace.
(** ** Limit switching *)
Section Filterlim_switch.
Context {T1 T2 : Type}.

(* Specifications: *)
Lemma filterlim_switch_1 {U : UniformSpace}
F1 (FF1 : ProperFilter F1) F2 (FF2 : Filter F2) (f : T1 -> T2 -> U) g h (l : U) :
filterlim f F1 (locally g) ->
(forall x, filterlim (f x) F2 (locally (h x))) ->
filterlim h F1 (locally l) -> filterlim g F2 (locally l).
Lemma filterlim_switch_2 {U : CompleteSpace}
F1 (FF1 : ProperFilter F1) F2 (FF2 : ProperFilter F2) (f : T1 -> T2 -> U) g h :
filterlim f F1 (locally g) ->
(forall x, filterlim (f x) F2 (locally (h x))) ->
exists l : U, filterlim h F1 (locally l).
Lemma filterlim_switch {U : CompleteSpace}
F1 (FF1 : ProperFilter F1) F2 (FF2 : ProperFilter F2) (f : T1 -> T2 -> U) g h :
filterlim f F1 (locally g) ->
(forall x, filterlim (f x) F2 (locally (h x))) ->
exists l : U, filterlim h F1 (locally l) /\ filterlim g F2 (locally l).