fact: Definition GeneralizedSetoidFunctionalChoice_on := forall R : A -> A -> Prop, forall S : B -> B -> Prop, forall T : A -> B -> Prop, Equivalence R -> Equivalence S -> (forall x x' y y', R x x' -> S y y' -> T x y -> T x' y') -> (forall x, exists y, T x y) -> exists f : A -> B, forall x : A, T x (f x) /\ (forall x' : A, R x x' -> S (f x) (f x')).
imports: RelationClasses Logic