let X be set ; for Y being complex-functions-membered set
for f being PartFunc of X,Y
for g, h being complex-valued Function holds (f <#> g) <#> h = f <#> (g (#) h)
let Y be complex-functions-membered set ; for f being PartFunc of X,Y
for g, h being complex-valued Function holds (f <#> g) <#> h = f <#> (g (#) h)
let f be PartFunc of X,Y; for g, h being complex-valued Function holds (f <#> g) <#> h = f <#> (g (#) h)
let g, h be complex-valued Function; (f <#> g) <#> h = f <#> (g (#) h)
set f1 = f <#> g;
A1:
dom (g (#) h) = (dom g) /\ (dom h)
by VALUED_1:def 4;
A2:
dom ((f <#> g) <#> h) = (dom (f <#> g)) /\ (dom h)
by Def43;
( dom (f <#> g) = (dom f) /\ (dom g) & dom (f <#> (g (#) h)) = (dom f) /\ (dom (g (#) h)) )
by Def43;
hence A3:
dom ((f <#> g) <#> h) = dom (f <#> (g (#) h))
by A2, A1, XBOOLE_1:16; FUNCT_1:def 11 for b1 being set holds
( not b1 in proj1 ((f <#> g) <#> h) or ((f <#> g) <#> h) . b1 = (f <#> (g (#) h)) . b1 )
let x be set ; ( not x in proj1 ((f <#> g) <#> h) or ((f <#> g) <#> h) . x = (f <#> (g (#) h)) . x )
assume A4:
x in dom ((f <#> g) <#> h)
; ((f <#> g) <#> h) . x = (f <#> (g (#) h)) . x
then A5:
x in dom (f <#> g)
by A2, XBOOLE_0:def 4;
A6:
x in dom (g (#) h)
by A3, A4, XBOOLE_0:def 4;
thus ((f <#> g) <#> h) . x =
((f <#> g) . x) (#) (h . x)
by A4, Def43
.=
((f . x) (#) (g . x)) (#) (h . x)
by A5, Def43
.=
(f . x) (#) ((g . x) * (h . x))
by Th16
.=
(f . x) (#) ((g (#) h) . x)
by A6, VALUED_1:def 4
.=
(f <#> (g (#) h)) . x
by A3, A4, Def43
; verum