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,( * f)) = C --> () & F .: (( * f),f) = C --> () )

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,( * f)) = C --> () & F .: (( * f),f) = C --> () )

let F be BinOp of D; :: thesis: ( F is having_a_unity & F is associative & F is having_an_inverseOp implies ( F .: (f,( * f)) = C --> () & F .: (( * f),f) = C --> () ) )
set u = the_inverseOp_wrt F;
reconsider g = C --> () as Function of C,D ;
assume A1: ( F is having_a_unity & F is associative & F is having_an_inverseOp ) ; :: thesis: ( F .: (f,( * f)) = C --> () & F .: (( * f),f) = C --> () )
now :: thesis: for c being Element of C holds (F .: (f,( * f))) . c = g . c
let c be Element of C; :: thesis: (F .: (f,( * f))) . c = g . c
thus (F .: (f,( * f))) . c = F . ((f . c),(( * f) . c)) by FUNCOP_1:37
.= F . ((f . c),( . (f . c))) by FUNCT_2:15
.= the_unity_wrt F by
.= g . c ; :: thesis: verum
end;
hence F .: (f,( * f)) = C --> () by FUNCT_2:63; :: thesis: F .: (( * f),f) = C --> ()
now :: thesis: for c being Element of C holds (F .: (( * f),f)) . c = g . c
let c be Element of C; :: thesis: (F .: (( * f),f)) . c = g . c
thus (F .: (( * f),f)) . c = F . ((( * f) . c),(f . c)) by FUNCOP_1:37
.= F . (( . (f . c)),(f . c)) by FUNCT_2:15
.= the_unity_wrt F by
.= g . c ; :: thesis: verum
end;
hence F .: (( * f),f) = C --> () by FUNCT_2:63; :: thesis: verum