let f, g, h be Function; :: thesis: <:(f * h),(g * h):> = <:f,g:> * h
for x being set holds
( x in dom <:(f * h),(g * h):> iff x in dom (<:f,g:> * h) )
proof
let x be
set ;
:: thesis: ( x in dom <:(f * h),(g * h):> iff x in dom (<:f,g:> * h) )
thus
(
x in dom <:(f * h),(g * h):> implies
x in dom (<:f,g:> * h) )
:: thesis: ( x in dom (<:f,g:> * h) implies x in dom <:(f * h),(g * h):> )
assume
x in dom (<:f,g:> * h)
;
:: thesis: x in dom <:(f * h),(g * h):>
then
(
h . x in dom <:f,g:> &
x in dom h )
by FUNCT_1:21;
then
(
h . x in (dom f) /\ (dom g) &
x in dom h )
by Def8;
then
(
h . x in dom f &
h . x in dom g &
x in dom h )
by XBOOLE_0:def 4;
then
(
x in dom (f * h) &
x in dom (g * h) )
by FUNCT_1:21;
then
x in (dom (f * h)) /\ (dom (g * h))
by XBOOLE_0:def 4;
hence
x in dom <:(f * h),(g * h):>
by Def8;
:: thesis: verum
end;
then A2:
dom <:(f * h),(g * h):> = dom (<:f,g:> * h)
by TARSKI:2;
for x being set st x in dom <:(f * h),(g * h):> holds
<:(f * h),(g * h):> . x = (<:f,g:> * h) . x
proof
let x be
set ;
:: thesis: ( x in dom <:(f * h),(g * h):> implies <:(f * h),(g * h):> . x = (<:f,g:> * h) . x )
assume A3:
x in dom <:(f * h),(g * h):>
;
:: thesis: <:(f * h),(g * h):> . x = (<:f,g:> * h) . x
then
x in (dom (f * h)) /\ (dom (g * h))
by Def8;
then A4:
(
x in dom (f * h) &
x in dom (g * h) )
by XBOOLE_0:def 4;
then
(
h . x in dom f &
h . x in dom g )
by FUNCT_1:21;
then A5:
h . x in (dom f) /\ (dom g)
by XBOOLE_0:def 4;
then A6:
(
h . x in dom <:f,g:> &
x in dom h )
by A4, Def8, FUNCT_1:21;
thus <:(f * h),(g * h):> . x =
[((f * h) . x),((g * h) . x)]
by A3, Def8
.=
[(f . (h . x)),((g * h) . x)]
by A4, FUNCT_1:22
.=
[(f . (h . x)),(g . (h . x))]
by A4, FUNCT_1:22
.=
<:f,g:> . (h . x)
by A5, Th68
.=
(<:f,g:> * h) . x
by A6, FUNCT_1:23
;
:: thesis: verum
end;
hence
<:(f * h),(g * h):> = <:f,g:> * h
by A2, FUNCT_1:9; :: thesis: verum