let f1, f2, f3 be complex-valued Function; :: thesis: (f1 (#) f2) (#) f3 = f1 (#) (f2 (#) f3)
thus A1: 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 ; :: according to FUNCT_1:def 11 :: thesis: for b1 being object holds
( not b1 in dom ((f1 (#) f2) (#) f3) or ((f1 (#) f2) (#) f3) . b1 = (f1 (#) (f2 (#) f3)) . b1 )

let c be object ; :: thesis: ( not c in dom ((f1 (#) f2) (#) f3) or ((f1 (#) f2) (#) f3) . c = (f1 (#) (f2 (#) f3)) . c )
assume A2: c in dom ((f1 (#) f2) (#) f3) ; :: thesis: ((f1 (#) f2) (#) f3) . c = (f1 (#) (f2 (#) f3)) . c
then c in (dom (f1 (#) f2)) /\ (dom f3) by VALUED_1:def 4;
then A3: c in dom (f1 (#) f2) by XBOOLE_0:def 4;
c in (dom f1) /\ (dom (f2 (#) f3)) by A1, A2, VALUED_1:def 4;
then A4: c in dom (f2 (#) f3) by XBOOLE_0:def 4;
thus ((f1 (#) f2) (#) f3) . c = ((f1 (#) f2) . c) * (f3 . c) by A2, VALUED_1:def 4
.= ((f1 . c) * (f2 . c)) * (f3 . c) by A3, VALUED_1:def 4
.= (f1 . c) * ((f2 . c) * (f3 . c))
.= (f1 . c) * ((f2 (#) f3) . c) by A4, VALUED_1:def 4
.= (f1 (#) (f2 (#) f3)) . c by A1, A2, VALUED_1:def 4 ; :: thesis: verum