let f1, f2, f3 be complex-valued Function; :: thesis: (f1 (#) f2) (#) f3 = f1 (#) (f2 (#) f3)
A1: now :: thesis: for c being object st c in dom ((f1 (#) f2) (#) f3) holds
((f1 (#) f2) (#) f3) . c = (f1 (#) (f2 (#) f3)) . c
let c be object ; :: thesis: ( c in dom ((f1 (#) f2) (#) f3) implies ((f1 (#) f2) (#) f3) . c = (f1 (#) (f2 (#) f3)) . c )
assume c in dom ((f1 (#) f2) (#) f3) ; :: thesis: ((f1 (#) f2) (#) f3) . c = (f1 (#) (f2 (#) f3)) . c
thus ((f1 (#) f2) (#) f3) . c = ((f1 (#) f2) . c) * (f3 . c) by VALUED_1:5
.= ((f1 . c) * (f2 . c)) * (f3 . c) by VALUED_1:5
.= (f1 . c) * ((f2 . c) * (f3 . c))
.= (f1 . c) * ((f2 (#) f3) . c) by VALUED_1:5
.= (f1 (#) (f2 (#) f3)) . c by VALUED_1:5 ; :: thesis: verum
end;
dom ((f1 (#) f2) (#) f3) = (dom (f1 (#) f2)) /\ (dom f3) by VALUED_1:def 4
.= ((dom f1) /\ (dom f2)) /\ (dom f3) by VALUED_1:def 4
.= (dom f1) /\ ((dom f2) /\ (dom f3)) by XBOOLE_1:16
.= (dom f1) /\ (dom (f2 (#) f3)) by VALUED_1:def 4
.= dom (f1 (#) (f2 (#) f3)) by VALUED_1:def 4 ;
hence (f1 (#) f2) (#) f3 = f1 (#) (f2 (#) f3) by A1, FUNCT_1:2; :: thesis: verum