:: ENS_1 semantic presentation

begin

definition
let V be ( ( non empty ) ( non empty ) set ) ;
func Funcs V -> ( ( ) ( ) set ) equals :: ENS_1:def 1
union { (Funcs (A : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) )) : ( ( ) ( functional ) set ) where A, B is ( ( ) ( ) Element of V : ( ( ) ( ) CatStr ) ) : verum } : ( ( ) ( ) set ) ;
end;

registration
let V be ( ( non empty ) ( non empty ) set ) ;
cluster Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( ) set ) -> functional non empty ;
end;

theorem :: ENS_1:1
for V being ( ( non empty ) ( non empty ) set )
for f being ( ( ) ( ) set ) holds
( f : ( ( ) ( ) set ) in Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) iff ex A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) st
( ( B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & f : ( ( ) ( ) set ) is ( ( Function-like quasi_total ) ( Relation-like b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b4 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ) ) ;

theorem :: ENS_1:2
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) holds Funcs (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( functional ) set ) c= Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ;

theorem :: ENS_1:3
for V being ( ( non empty ) ( non empty ) set )
for W being ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) holds Funcs W : ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) : ( ( ) ( functional non empty ) set ) c= Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
func Maps V -> ( ( ) ( ) set ) equals :: ENS_1:def 2
{ [[A : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ) ,f : ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:[:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ,(Funcs V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) where A, B is ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) , f is ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) : ( ( B : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & f : ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) is ( ( Function-like quasi_total ) ( Relation-like b1 : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) -defined b2 : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ) ) } ;
end;

registration
let V be ( ( non empty ) ( non empty ) set ) ;
cluster Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( ) set ) -> non empty ;
end;

theorem :: ENS_1:4
for V being ( ( non empty ) ( non empty ) set )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ex f being ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) ex A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) st
( m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,f : ( ( ) ( Relation-like Function-like ) Element of Funcs b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:[:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(Funcs b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( ) ( functional non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) & ( B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & f : ( ( ) ( Relation-like Function-like ) Element of Funcs b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) is ( ( Function-like quasi_total ) ( Relation-like b4 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b5 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ) ;

theorem :: ENS_1:5
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) )
for f being ( ( Function-like quasi_total ) ( Relation-like b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) st ( B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) holds
[[A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,f : ( ( Function-like quasi_total ) ( Relation-like b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) in Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ;

theorem :: ENS_1:6
for V being ( ( non empty ) ( non empty ) set ) holds Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) c= [:[:V : ( ( non empty ) ( non empty ) set ) ,V : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(Funcs V : ( ( non empty ) ( non empty ) set ) ) : ( ( ) ( functional non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ;

theorem :: ENS_1:7
for V being ( ( non empty ) ( non empty ) set )
for W being ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) holds Maps W : ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) c= Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ;

registration
let V be ( ( non empty ) ( non empty ) set ) ;
let m be ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;
cluster m : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( ) set ) -> Relation-like Function-like ;
end;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let m be ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;
func dom m -> ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) equals :: ENS_1:def 3
(m : ( ( ) ( ) set ) `1) : ( ( ) ( ) set ) `1 : ( ( ) ( ) set ) ;
func cod m -> ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) equals :: ENS_1:def 4
(m : ( ( ) ( ) set ) `1) : ( ( ) ( ) set ) `2 : ( ( ) ( ) set ) ;
end;

theorem :: ENS_1:8
for V being ( ( non empty ) ( non empty ) set )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[(dom m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,(cod m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2) : ( ( ) ( Relation-like Function-like ) set ) ] : ( ( ) ( V15() ) set ) ;

theorem :: ENS_1:9
for V being ( ( non empty ) ( non empty ) set )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
( ( cod m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) <> {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) or dom m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( Relation-like Function-like ) set ) is ( ( Function-like quasi_total ) ( Relation-like dom b2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined cod b2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of dom m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) , cod m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ) ;

theorem :: ENS_1:10
for V being ( ( non empty ) ( non empty ) set )
for f being ( ( Relation-like Function-like ) ( Relation-like Function-like ) Function)
for A, B being ( ( ) ( ) set ) st [[A : ( ( ) ( ) set ) ,B : ( ( ) ( ) set ) ] : ( ( ) ( V15() ) set ) ,f : ( ( Relation-like Function-like ) ( Relation-like Function-like ) Function) ] : ( ( ) ( V15() ) set ) in Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) holds
( ( B : ( ( ) ( ) set ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) set ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & f : ( ( Relation-like Function-like ) ( Relation-like Function-like ) Function) is ( ( Function-like quasi_total ) ( Relation-like b3 : ( ( ) ( ) set ) -defined b4 : ( ( ) ( ) set ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) set ) ,B : ( ( ) ( ) set ) ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let A be ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ;
func id$ A -> ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) equals :: ENS_1:def 5
[[A : ( ( ) ( ) set ) ,A : ( ( ) ( ) set ) ] : ( ( ) ( V15() ) Element of [:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ) ,(id A : ( ( ) ( ) set ) ) : ( ( total ) ( Relation-like A : ( ( ) ( ) set ) -defined A : ( ( ) ( ) set ) -valued Function-like one-to-one total quasi_total ) Element of bool [:A : ( ( ) ( ) set ) ,A : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:[:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ,(bool [:A : ( ( ) ( ) set ) ,A : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like ) set ) ) ;
end;

theorem :: ENS_1:11
for V being ( ( non empty ) ( non empty ) set )
for A being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) holds
( (id$ A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( Relation-like Function-like ) set ) = id A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( total ) ( Relation-like b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like one-to-one total quasi_total ) Element of bool [:b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) & dom (id$ A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & cod (id$ A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let m1, m2 be ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;
assume cod m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) = dom m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ;
func m2 * m1 -> ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) equals :: ENS_1:def 6
[[(dom m1 : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ,(cod m2 : ( ( Function-like quasi_total ) ( Relation-like m1 : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:m1 : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ] : ( ( ) ( V15() ) Element of [:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ) ,((m2 : ( ( Function-like quasi_total ) ( Relation-like m1 : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:m1 : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) `2) : ( ( ) ( ) set ) * (m1 : ( ( ) ( ) set ) `2) : ( ( ) ( ) set ) ) : ( ( Relation-like ) ( Relation-like ) set ) ] : ( ( ) ( V15() ) set ) ;
end;

theorem :: ENS_1:12
for V being ( ( non empty ) ( non empty ) set )
for m2, m1 being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) st dom m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = cod m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) holds
( (m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( Relation-like Function-like ) set ) = (m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2) : ( ( ) ( Relation-like Function-like ) set ) * (m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2) : ( ( ) ( Relation-like Function-like ) set ) : ( ( Relation-like ) ( Relation-like Function-like ) set ) & dom (m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = dom m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & cod (m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = cod m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ;

theorem :: ENS_1:13
for V being ( ( non empty ) ( non empty ) set )
for m2, m1, m3 being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) st dom m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = cod m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & dom m3 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = cod m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) holds
m3 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * (m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = (m3 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m2 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:14
for V being ( ( non empty ) ( non empty ) set )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
( m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * (id$ (dom m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) & (id$ (cod m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let A, B be ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ;
func Maps (A,B) -> ( ( ) ( ) set ) equals :: ENS_1:def 7
{ [[A : ( ( ) ( ) set ) ,B : ( ( Function-like quasi_total ) ( Relation-like A : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:A : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ) ,f : ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:[:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ,(Funcs V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) where f is ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) : [[A : ( ( ) ( ) set ) ,B : ( ( Function-like quasi_total ) ( Relation-like A : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:A : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ) ,f : ( ( ) ( Relation-like Function-like ) Element of Funcs V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( functional non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:[:V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) ,(Funcs V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) in Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) } ;
end;

theorem :: ENS_1:15
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) )
for f being ( ( Function-like quasi_total ) ( Relation-like b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) st ( B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) holds
[[A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,f : ( ( Function-like quasi_total ) ( Relation-like b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -defined b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:b2 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) in Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) ;

theorem :: ENS_1:16
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) st m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) in Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) holds
m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:b1 : ( ( non empty ) ( non empty ) set ) ,b1 : ( ( non empty ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2) : ( ( ) ( Relation-like Function-like ) set ) ] : ( ( ) ( V15() ) set ) ;

theorem :: ENS_1:17
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) holds Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) c= Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ;

theorem :: ENS_1:18
for V being ( ( non empty ) ( non empty ) set ) holds Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) = union { (Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) )) : ( ( ) ( ) set ) where A, B is ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) : verum } : ( ( ) ( ) set ) ;

theorem :: ENS_1:19
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
( m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) in Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) iff ( dom m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & cod m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) = B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ) ;

theorem :: ENS_1:20
for V being ( ( non empty ) ( non empty ) set )
for A, B being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) st m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) in Maps (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) holds
m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( Relation-like Function-like ) set ) in Funcs (A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,B : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( functional ) set ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let m be ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;
attr m is surjective means :: ENS_1:def 8
rng (m : ( ( ) ( ) set ) `2) : ( ( ) ( ) set ) : ( ( ) ( ) set ) = cod m : ( ( ) ( ) set ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ;
end;

begin

definition
let V be ( ( non empty ) ( non empty ) set ) ;
func fDom V -> ( ( Function-like quasi_total ) ( Relation-like Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like non empty total quasi_total ) Function of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) means :: ENS_1:def 9
for m being ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) holds it : ( ( ) ( ) set ) . m : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) = dom m : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ;
func fCod V -> ( ( Function-like quasi_total ) ( Relation-like Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like non empty total quasi_total ) Function of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) means :: ENS_1:def 10
for m being ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) holds it : ( ( ) ( ) set ) . m : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) = cod m : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ;
func fComp V -> ( ( Function-like ) ( Relation-like [:(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) ,(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) -defined Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -valued Function-like ) PartFunc of ,) means :: ENS_1:def 11
( ( for m2, m1 being ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) holds
( [m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) ,(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) in dom it : ( ( ) ( ) set ) : ( ( ) ( ) set ) iff dom m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) = cod m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ) ) & ( for m2, m1 being ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) st dom m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) = cod m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) holds
it : ( ( ) ( ) set ) . [m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) ,(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( ) set ) = m2 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * m1 : ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) ) );
end;

definition
canceled;
let V be ( ( non empty ) ( non empty ) set ) ;
func Ens V -> ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) equals :: ENS_1:def 13
CatStr(# V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) ,(fDom V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( Function-like quasi_total ) ( Relation-like Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like non empty total quasi_total ) Function of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ,(fCod V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( Function-like quasi_total ) ( Relation-like Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like non empty total quasi_total ) Function of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) ,(fComp V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( Function-like ) ( Relation-like [:(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) ,(Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( ) set ) :] : ( ( ) ( Relation-like ) set ) -defined Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -valued Function-like ) PartFunc of ,) #) : ( ( strict ) ( strict ) CatStr ) ;
end;

registration
let V be ( ( non empty ) ( non empty ) set ) ;
cluster Ens V : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) -> non empty non void strict Category-like transitive associative reflexive with_identities ;
end;

theorem :: ENS_1:21
canceled;

theorem :: ENS_1:22
for V being ( ( non empty ) ( non empty ) set )
for A being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) holds A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) is ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let A be ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ;
func @ A -> ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) equals :: ENS_1:def 14
A : ( ( ) ( ) set ) ;
end;

theorem :: ENS_1:23
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let a be ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ;
func @ a -> ( ( ) ( ) Element of V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) equals :: ENS_1:def 15
a : ( ( ) ( ) set ) ;
end;

theorem :: ENS_1:24
for V being ( ( non empty ) ( non empty ) set )
for m being ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds m : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let m be ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;
func @ m -> ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) equals :: ENS_1:def 16
m : ( ( ) ( ) set ) ;
end;

theorem :: ENS_1:25
for V being ( ( non empty ) ( non empty ) set )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) is ( ( ) ( ) Element of Maps V : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let f be ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ;
func @ f -> ( ( ) ( ) Element of Maps V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) ) equals :: ENS_1:def 17
f : ( ( ) ( ) set ) ;
end;

theorem :: ENS_1:26
for V being ( ( non empty ) ( non empty ) set )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds
( dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = dom (@ f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = cod (@ f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) ;

theorem :: ENS_1:27
for V being ( ( non empty ) ( non empty ) set )
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = Maps ((@ a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ,(@ b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) ;

theorem :: ENS_1:28
for V being ( ( non empty ) ( non empty ) set )
for g, f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) holds
g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = (@ g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) * (@ f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:29
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) = id$ (@ a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:30
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) holds
a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is initial ;

theorem :: ENS_1:31
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) in V : ( ( non empty ) ( non empty ) set ) & a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is initial holds
a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ;

theorem :: ENS_1:32
for W being ( ( non empty universal ) ( non empty universal ) Universe)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is initial holds
a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ;

theorem :: ENS_1:33
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st ex x being ( ( ) ( ) set ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {x : ( ( ) ( ) set ) } : ( ( ) ( non empty ) set ) holds
a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is terminal ;

theorem :: ENS_1:34
for V being ( ( non empty ) ( non empty ) set )
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st V : ( ( non empty ) ( non empty ) set ) <> {{} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) } : ( ( ) ( functional non empty ) set ) & a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is terminal holds
ex x being ( ( ) ( ) set ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {x : ( ( ) ( ) set ) } : ( ( ) ( non empty ) set ) ;

theorem :: ENS_1:35
for W being ( ( non empty universal ) ( non empty universal ) Universe)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) is terminal holds
ex x being ( ( ) ( ) set ) st a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) = {x : ( ( ) ( ) set ) } : ( ( ) ( non empty ) set ) ;

theorem :: ENS_1:36
for V being ( ( non empty ) ( non empty ) set )
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) st Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) <> {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) holds
( f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) is monic iff (@ f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) `2 : ( ( ) ( Relation-like Function-like ) set ) is one-to-one ) ;

theorem :: ENS_1:37
for V being ( ( non empty ) ( non empty ) set )
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) st Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) <> {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) & f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) is epi & ex A being ( ( ) ( ) Element of V : ( ( non empty ) ( non empty ) set ) ) ex x1, x2 being ( ( ) ( ) set ) st
( x1 : ( ( ) ( ) set ) in A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & x2 : ( ( ) ( ) set ) in A : ( ( ) ( ) Element of b1 : ( ( non empty ) ( non empty ) set ) ) & x1 : ( ( ) ( ) set ) <> x2 : ( ( ) ( ) set ) ) holds
@ f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is surjective ;

theorem :: ENS_1:38
for V being ( ( non empty ) ( non empty ) set )
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) <> {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) holds
for f being ( ( ) ( ) Morphism of a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) st @ f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is surjective holds
f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) is epi ;

theorem :: ENS_1:39
for W being ( ( non empty universal ) ( non empty universal ) Universe)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of (Ens b1 : ( ( non empty universal ) ( non empty universal ) Universe) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) <> {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) holds
for f being ( ( ) ( ) Morphism of a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) st f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) is epi holds
@ f : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of Maps b1 : ( ( non empty universal ) ( non empty universal ) Universe) : ( ( ) ( non empty ) set ) ) is surjective ;

theorem :: ENS_1:40
for V being ( ( non empty ) ( non empty ) set )
for W being ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) holds Ens W : ( ( non empty ) ( non empty ) Subset of ( ( ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) is ( ( full ) ( non empty non void V59() Category-like transitive associative reflexive with_identities full ) Subcategory of Ens V : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;

begin

definition
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
func Hom C -> ( ( ) ( ) set ) equals :: ENS_1:def 18
{ (Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) where a, b is ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : verum } ;
end;

registration
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
cluster Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( ) set ) -> non empty ;
end;

theorem :: ENS_1:41
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) in Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ;

theorem :: ENS_1:42
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds
( ( Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) & ( Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) implies Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ) ) ;

definition
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
let a be ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ;
let f be ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ;
func hom (a,f) -> ( ( Function-like quasi_total ) ( Relation-like Hom (a : ( ( ) ( ) set ) ,(dom f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (a : ( ( ) ( ) set ) ,(cod f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (a : ( ( ) ( ) set ) ,(dom f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (a : ( ( ) ( ) set ) ,(cod f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) means :: ENS_1:def 19
for g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) in Hom (a : ( ( ) ( ) set ) ,(dom f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
it : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) . g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) set ) = f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) (*) g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ;
func hom (f,a) -> ( ( Function-like quasi_total ) ( Relation-like Hom ((cod f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) means :: ENS_1:def 20
for g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) in Hom ((cod f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
it : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) . g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) set ) = g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) f : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ;
end;

theorem :: ENS_1:43
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, c being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(id c : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = id (Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,c : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like one-to-one total quasi_total ) Element of bool [:(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:44
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for c, a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds hom ((id c : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = id (Hom (c : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like one-to-one total quasi_total ) Element of bool [:(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:45
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for g, f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) = cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) holds
hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = (hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) * (hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like ) Element of bool [:(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:46
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for g, f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) = cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) holds
hom ((g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = (hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) * (hom (g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like ) Element of bool [:(Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:47
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds [[(Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) is ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:48
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) is ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

definition
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
let a be ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ;
func hom?- a -> ( ( Function-like quasi_total ) ( Relation-like the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) means :: ENS_1:def 21
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds it : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) . f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[(Hom (a : ( ( ) ( ) set ) ,(dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (a : ( ( ) ( ) set ) ,(cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (a : ( ( ) ( ) set ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom (a : ( ( ) ( ) set ) ,(dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (a : ( ( ) ( ) set ) ,(cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (a : ( ( ) ( ) set ) ,(dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (a : ( ( ) ( ) set ) ,(cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom (a : ( ( ) ( ) set ) ,(dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (a : ( ( ) ( ) set ) ,(cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;
func hom-? a -> ( ( Function-like quasi_total ) ( Relation-like the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) means :: ENS_1:def 22
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds it : ( ( Function-like quasi_total ) ( Relation-like a : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:a : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) . f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) set ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;
end;

theorem :: ENS_1:49
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
hom?- a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens V : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;

theorem :: ENS_1:50
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
hom-? a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Contravariant_Functor of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens V : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;

theorem :: ENS_1:51
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for f, f9 being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod f9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) holds
Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom f9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = {} : ( ( ) ( Relation-like non-empty empty-yielding Function-like one-to-one constant functional empty ) set ) ;

definition
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
let f, g be ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ;
func hom (f,g) -> ( ( Function-like quasi_total ) ( Relation-like Hom ((cod f : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom f : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod f : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom f : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) means :: ENS_1:def 23
for h being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st h : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) in Hom ((cod f : ( ( ) ( ) set ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) holds
it : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) . h : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) set ) = (g : ( ( Function-like quasi_total ) ( Relation-like f : ( ( ) ( ) set ) -defined C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:f : ( ( ) ( ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) (*) h : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) (*) f : ( ( ) ( ) set ) : ( ( ) ( ) Element of the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ;
end;

theorem :: ENS_1:52
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for f, g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) is ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:53
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds
( hom ((id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) & hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,(id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ) ;

theorem :: ENS_1:54
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds hom ((id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ,(id b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom (id b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (id b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = id (Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) : ( ( total ) ( Relation-like Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like one-to-one total quasi_total ) Element of bool [:(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:55
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for f, g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = (hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) * (hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,(dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like ) ( Relation-like Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like ) Element of bool [:(Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:56
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for g, f, g9, f9 being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st cod g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) = dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) & dom g9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) = cod f9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) holds
hom ((f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(g9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) f9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom (b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom (b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod (b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) (*) b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) = (hom (g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) * (hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,f9 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Function-like ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like ) Element of bool [:(Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b5 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) ;

definition
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
func hom?? C -> ( ( Function-like quasi_total ) ( Relation-like the carrier' of [:C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of [:C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) means :: ENS_1:def 24
for f, g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) holds it : ( ( ) ( ) set ) . [f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of the carrier' of [:C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of Maps (Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(dom b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b1 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,(cod b2 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;
end;

theorem :: ENS_1:57
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) holds
( hom?- a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = (curry (hom?? C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of [:b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of [:b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Relation-like Function-like ) ( Relation-like Function-like ) set ) . (id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) & hom-? a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) = (curry' (hom?? C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of [:b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of [:b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom b1 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) : ( ( Relation-like Function-like ) ( Relation-like Function-like ) set ) . (id a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Morphism of b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b2 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) set ) ) ;

theorem :: ENS_1:58
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
hom?? C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of [:b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of [:b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) is ( ( ) ( Relation-like the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens V : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
let a be ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ;
assume Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) ;
func hom?- (V,a) -> ( ( ) ( Relation-like the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) -defined the carrier' of (Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of C : ( ( ) ( ) set ) , Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) ) equals :: ENS_1:def 25
hom?- a : ( ( Function-like quasi_total ) ( Relation-like C : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:C : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) -defined Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) , Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) ) ;
func hom-? (V,a) -> ( ( ) ( Relation-like the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) -defined the carrier' of (Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Contravariant_Functor of C : ( ( ) ( ) set ) , Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) ) equals :: ENS_1:def 26
hom-? a : ( ( Function-like quasi_total ) ( Relation-like C : ( ( ) ( ) set ) -defined V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) -valued Function-like quasi_total ) Element of bool [:C : ( ( ) ( ) set ) ,V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) :] : ( ( ) ( Relation-like ) set ) : ( ( ) ( non empty ) set ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) -defined Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of C : ( ( ) ( ) set ) : ( ( ) ( ) set ) , Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) ) ;
end;

definition
let V be ( ( non empty ) ( non empty ) set ) ;
let C be ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) ;
assume Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) ;
func hom?? (V,C) -> ( ( ) ( Relation-like the carrier' of [:(C : ( ( ) ( ) set ) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) ,C : ( ( ) ( ) set ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(C : ( ( ) ( ) set ) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) ,C : ( ( ) ( ) set ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens V : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( non empty non void strict ) ( non empty non void V59() strict ) CatStr ) ) equals :: ENS_1:def 27
hom?? C : ( ( ) ( ) set ) : ( ( Function-like quasi_total ) ( Relation-like the carrier' of [:C : ( ( ) ( ) set ) ,C : ( ( ) ( ) set ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) -valued Function-like non empty total quasi_total ) Function of the carrier' of [:C : ( ( ) ( ) set ) ,C : ( ( ) ( ) set ) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , Maps (Hom C : ( ( ) ( ) set ) ) : ( ( ) ( ) set ) : ( ( ) ( ) set ) ) ;
end;

theorem :: ENS_1:59
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(hom?- (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) . f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = [[(Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom (b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;

theorem :: ENS_1:60
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(Obj (hom?- (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Element of bool [: the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) : ( ( ) ( non empty ) set ) ) . b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:61
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) )
for f being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(hom-? (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Contravariant_Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) . f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,b3 : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;

theorem :: ENS_1:62
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(Obj (hom-? (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) )) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Contravariant_Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Element of bool [: the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) , the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) : ( ( ) ( non empty ) set ) ) . b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = Hom (b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:63
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for f, g being ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(hom?? (V : ( ( non empty ) ( non empty ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) )) : ( ( ) ( Relation-like the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) . [(f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) opp) : ( ( ) ( ) Element of the carrier' of (b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = [[(Hom ((cod f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of [:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ,(hom (f : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ,g : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) )) : ( ( Function-like quasi_total ) ( Relation-like Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -defined Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) -valued Function-like quasi_total ) Function of Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) , Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ) ] : ( ( ) ( V15() ) Element of [:[:(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) ,(bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ,(bool [:(Hom ((cod b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(dom b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ,(Hom ((dom b3 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) ,(cod b4 : ( ( ) ( ) Morphism of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of the carrier of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) ) )) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) :] : ( ( ) ( Relation-like ) set ) ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) ) ;

theorem :: ENS_1:64
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a, b being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(Obj (hom?? (V : ( ( non empty ) ( non empty ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) )) : ( ( ) ( Relation-like the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ) : ( ( Function-like quasi_total ) ( Relation-like the carrier of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Element of bool [: the carrier of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) , the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) :] : ( ( ) ( Relation-like non empty ) set ) : ( ( ) ( non empty ) set ) ) . [(a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) opp) : ( ( ) ( ) Element of the carrier of (b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ] : ( ( ) ( V15() ) Element of the carrier of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( ) Element of the carrier of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) = Hom (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ,b : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( ) Element of bool the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) : ( ( ) ( non empty ) set ) ) ;

theorem :: ENS_1:65
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(hom?? (V : ( ( non empty ) ( non empty ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) )) : ( ( ) ( Relation-like the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ?- (a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) opp) : ( ( ) ( ) Element of the carrier of (b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) ) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) = hom?- (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;

theorem :: ENS_1:66
for V being ( ( non empty ) ( non empty ) set )
for C being ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category)
for a being ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) st Hom C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) c= V : ( ( non empty ) ( non empty ) set ) holds
(hom?? (V : ( ( non empty ) ( non empty ) set ) ,C : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) )) : ( ( ) ( Relation-like the carrier' of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of [:(b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ,b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) :] : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) CatStr ) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) -? a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) : ( ( ) ( Relation-like the carrier' of (b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) opp : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) = hom-? (V : ( ( non empty ) ( non empty ) set ) ,a : ( ( ) ( ) Object of ( ( ) ( non empty ) set ) ) ) : ( ( ) ( Relation-like the carrier' of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) : ( ( ) ( non empty ) set ) -defined the carrier' of (Ens b1 : ( ( non empty ) ( non empty ) set ) ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) : ( ( ) ( non empty ) set ) -valued Function-like non empty total quasi_total ) Contravariant_Functor of b2 : ( ( non empty non void Category-like transitive associative reflexive with_identities ) ( non empty non void V59() Category-like transitive associative reflexive with_identities ) Category) , Ens b1 : ( ( non empty ) ( non empty ) set ) : ( ( non empty non void strict ) ( non empty non void V59() strict Category-like transitive associative reflexive with_identities ) CatStr ) ) ;