begin
theorem 
 for 
G, 
H being  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) 
  for 
F being  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
H :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )   ex 
f being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  st 
(  
GroupMorphismStr(#  the 
Source of 
F :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Target of 
F :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Fun of 
F :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of  the 
Source of 
b3 :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of  the 
Target of 
b3 :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  
=  GroupMorphismStr(# 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
H :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  & 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  is  
additive  ) ;
 
definition
let G, 
F be  ( (  
GroupMorphism-like   ) (  
GroupMorphism-like   ) 
GroupMorphism) ;
assume 
 dom G :  ( (  
GroupMorphism-like   ) (  
GroupMorphism-like   ) 
GroupMorphism)  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  
=  cod F :  ( (  
GroupMorphism-like   ) (  
GroupMorphism-like   ) 
GroupMorphism)  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) 
 ;
func G * F ->  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism) 
 means 
 for 
G1, 
G2, 
G3 being  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) 
  for 
g being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) ) 
  for 
f being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )   st  
GroupMorphismStr(#  the 
Source of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Target of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Fun of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of  the 
Source of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of  the 
Target of 
G :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  
=  GroupMorphismStr(# 
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
g :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  &  
GroupMorphismStr(#  the 
Source of 
F :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Target of 
F :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) , the 
Fun of 
F :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of  the 
Source of 
F :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of  the 
Target of 
F :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  holds 
it :  ( (  non  
empty   right_zeroed   ) (  non  
empty   right_zeroed   )  
addLoopStr )  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
(g :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) )  * f :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b1 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) ) ) :  ( (  
Function-like   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b1 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr ) ;
 
 
end;
 
theorem 
 for 
G1, 
G2, 
G3 being  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) 
  for 
G being  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ) 
  for 
F being  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ) 
  for 
g being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) ) 
  for 
f being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )   st 
G :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
=  GroupMorphismStr(# 
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
g :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  & 
F :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  holds 
G :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
* F :  ( (   ) (  
GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
(g :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) )  * f :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b1 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) ) ) :  ( (  
Function-like   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b1 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  ;
 
theorem 
 for 
f, 
g being  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)   st  
dom g :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  
=  cod f :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  holds 
 ex 
G1, 
G2, 
G3 being  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  ex 
f0 being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  ex 
g0 being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b5 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  st 
( 
f :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
f0 :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  & 
g :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  
=  GroupMorphismStr(# 
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
g0 :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b5 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  & 
g :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  
* f :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  :  ( (  
strict   GroupMorphism-like   ) (  
strict   GroupMorphism-like   ) 
GroupMorphism)  
=  GroupMorphismStr(# 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
(g0 :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b4 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b5 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) )  * f0 :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b4 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) ) ) :  ( (  
Function-like   ) (  
Relation-like   the 
carrier of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b5 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b5 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  #) :  ( (  
strict   ) (  
strict   )  
GroupMorphismStr )  ) ;
 
theorem 
 for 
G1, 
G2, 
G3, 
G4 being  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) 
  for 
f being  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
G1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ) 
  for 
g being  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
G2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ) 
  for 
h being  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
G3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
G4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  holds  
h :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
* (g :  ( (  strict   ) (  strict   GroupMorphism-like   )  Morphism of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ,b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) )  * f :  ( (  strict   ) (  strict   GroupMorphism-like   )  Morphism of b1 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ,b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ) ) :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b3 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
= (h :  ( (  strict   ) (  strict   GroupMorphism-like   )  Morphism of b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ,b4 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) )  * g :  ( (  strict   ) (  strict   GroupMorphism-like   )  Morphism of b2 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ,b3 :  ( (  non  empty   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup) ) ) :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
* f :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b2 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  :  ( (  
strict   ) (  
strict   GroupMorphism-like   )  
Morphism of 
b1 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) ,
b4 :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  ;
 
definition
let IT be  ( (   ) (   )  
set ) ;
 
end;
 
definition
let IT be  ( (   ) (   )  
set ) ;
 
end;
 
definition
let x, 
y be  ( (   ) (   )  
set ) ;
pred  GO x,
y means 
 ex 
x1, 
x2, 
x3, 
x4 being  ( (   ) (   )  
set )  st 
( 
x :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  
= [x1 :  ( (   ) (   )  set ) ,x2 :  ( (   ) (   )  set ) ,x3 :  ( (   ) (   )  set ) ,x4 :  ( (   ) (   )  set ) ] :  ( (   ) ( 
V27() 
V28() 
V29()  )  
set )  &  ex 
G being  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  st 
( 
y :  ( (  non  
empty   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   )  
addLoopStr )  
= G :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  & 
x1 :  ( (   ) (   )  
set )  
=  the 
carrier of 
G :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  & 
x2 :  ( (   ) (   )  
set )  
=  the 
addF of 
G :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (  
Function-like   quasi_total   ) (  
Relation-like  [: the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b5 :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [:[: the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  empty   )  set ) , the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  & 
x3 :  ( (   ) (   )  
set )  
=  comp G :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b5 :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b5 :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) , the carrier of b5 :  ( (  non  empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) AddGroup)  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  & 
x4 :  ( (   ) (   )  
set )  
=  0. G :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) ( 
V50(
b5 :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup) )  
left_add-cancelable   right_add-cancelable   add-cancelable   right_complementable   )  
Element of  the 
carrier of 
b5 :  ( (  non  
empty   strict   right_complementable   add-associative   right_zeroed   ) (  non  
empty   left_add-cancelable   right_add-cancelable   add-cancelable   strict   right_complementable   add-associative   right_zeroed   left_zeroed   add-left-invertible   add-right-invertible   Loop-like   ) 
AddGroup)  :  ( (   ) (  non  
empty   )  
set ) )  ) );
 
 
end;
 
theorem 
 for 
x, 
y1, 
y2 being  ( (   ) (   )  
set )   st  
GO x :  ( (   ) (   )  
set ) ,
y1 :  ( (   ) (   )  
set )  &  
GO x :  ( (   ) (   )  
set ) ,
y2 :  ( (   ) (   )  
set )  holds 
y1 :  ( (   ) (   )  
set )  
= y2 :  ( (   ) (   )  
set )  ;
 
theorem 
 for 
S, 
T being  ( (  non  
empty   ) (  non  
empty   )  
1-sorted ) 
  for 
f being  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )   st 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  is  
one-to-one  & 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  is  
onto  holds 
( 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  
* (f :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) )  ") :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  :  ( (  
Function-like   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  
=  id T :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  & 
(f :  ( (  Function-like   quasi_total   ) (  Relation-like   the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set )  -defined   the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set )  -valued   Function-like   non  empty   total   quasi_total   ) Function of  ( (   ) (  non  empty   )  set ) , ( (   ) (  non  empty   )  set ) )  ") :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  
* f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  :  ( (  
Function-like   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  
=  id S :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  & 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  
"  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  is  
one-to-one  & 
f :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   ) 
Function of  ( (   ) (  non  
empty   )  
set ) , ( (   ) (  non  
empty   )  
set ) )  
"  :  ( (  
Function-like   quasi_total   ) (  
Relation-like   the 
carrier of 
b2 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-defined   the 
carrier of 
b1 :  ( (  non  
empty   ) (  non  
empty   )  
1-sorted )  :  ( (   ) (  non  
empty   )  
set )  
-valued   Function-like   non  
empty   total   quasi_total   )  
Element of  
bool [: the carrier of b2 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) , the carrier of b1 :  ( (  non  empty   ) (  non  empty   )  1-sorted )  :  ( (   ) (  non  empty   )  set ) :] :  ( (   ) (  non  
empty   )  
set )  :  ( (   ) (  non  
empty   )  
set ) )  is  
onto  ) ;