let C, D be non empty set ; :: thesis: 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; :: thesis: 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; :: thesis: ( 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 ) ; :: thesis: ( F .: (f,((the_inverseOp_wrt F) * f)) = C --> (the_unity_wrt F) & F .: (((the_inverseOp_wrt F) * f),f) = C --> (the_unity_wrt F) )
now :: thesis: for c being Element of C holds (F .: (f,((the_inverseOp_wrt F) * f))) . c = g . c
let c be Element of C; :: thesis: (F .: (f,((the_inverseOp_wrt F) * f))) . c = g . c
thus (F .: (f,((the_inverseOp_wrt F) * f))) . c = F . ((f . c),(((the_inverseOp_wrt F) * f) . c)) by FUNCOP_1:37
.= F . ((f . c),((the_inverseOp_wrt F) . (f . c))) by FUNCT_2:15
.= the_unity_wrt F by A1, Th59
.= g . c ; :: thesis: verum
end;
hence F .: (f,((the_inverseOp_wrt F) * f)) = C --> (the_unity_wrt F) by FUNCT_2:63; :: thesis: F .: (((the_inverseOp_wrt F) * f),f) = C --> (the_unity_wrt F)
now :: thesis: for c being Element of C holds (F .: (((the_inverseOp_wrt F) * f),f)) . c = g . c
let c be Element of C; :: thesis: (F .: (((the_inverseOp_wrt F) * f),f)) . c = g . c
thus (F .: (((the_inverseOp_wrt F) * f),f)) . c = F . ((((the_inverseOp_wrt F) * f) . c),(f . c)) by FUNCOP_1:37
.= F . (((the_inverseOp_wrt F) . (f . c)),(f . c)) by FUNCT_2:15
.= the_unity_wrt F by A1, Th59
.= g . c ; :: thesis: verum
end;
hence F .: (((the_inverseOp_wrt F) * f),f) = C --> (the_unity_wrt F) by FUNCT_2:63; :: thesis: verum