let D, C be non empty set ; for f being Function of C,D
for F being BinOp of D st F is having_a_unity & F is associative & F is having_an_inverseOp holds
( F .: f,((the_inverseOp_wrt F) * f) = C --> (the_unity_wrt F) & F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F) )
let f be Function of C,D; for F being BinOp of D st F is having_a_unity & F is associative & F is having_an_inverseOp holds
( F .: f,((the_inverseOp_wrt F) * f) = C --> (the_unity_wrt F) & F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F) )
let F be BinOp of D; ( F is having_a_unity & F is associative & F is having_an_inverseOp implies ( F .: f,((the_inverseOp_wrt F) * f) = C --> (the_unity_wrt F) & F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F) ) )
set u = the_inverseOp_wrt F;
reconsider g = C --> (the_unity_wrt F) as Function of C,D ;
assume A1:
( F is having_a_unity & F is associative & F is having_an_inverseOp )
; ( F .: f,((the_inverseOp_wrt F) * f) = C --> (the_unity_wrt F) & F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F) )
hence
F .: f,((the_inverseOp_wrt F) * f) = C --> (the_unity_wrt F)
by FUNCT_2:113; F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F)
hence
F .: ((the_inverseOp_wrt F) * f),f = C --> (the_unity_wrt F)
by FUNCT_2:113; verum