let f, g, h be Function; :: thesis: ( dom g misses dom h implies (f \ g) +* h = (f +* h) \ g )
assume A1: dom g misses dom h ; :: thesis: (f \ g) +* h = (f +* h) \ g
A2: dom (f +* h) = (dom f) \/ (dom h) by Def1;
A3: dom ((f \ g) +* h) = (dom (f \ g)) \/ (dom h) by Def1;
A4: dom ((f \ g) +* h) = dom ((f +* h) \ g)
proof
thus dom ((f \ g) +* h) c= dom ((f +* h) \ g) :: according to XBOOLE_0:def 10 :: thesis: dom ((f +* h) \ g) c= dom ((f \ g) +* h)
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in dom ((f \ g) +* h) or x in dom ((f +* h) \ g) )
assume A5: x in dom ((f \ g) +* h) ; :: thesis: x in dom ((f +* h) \ g)
per cases ( ( x in dom (f \ g) & not x in dom h ) or x in dom h ) by A3, A5, XBOOLE_0:def 3;
suppose that A6: x in dom (f \ g) and
A7: not x in dom h ; :: thesis: x in dom ((f +* h) \ g)
consider y being object such that
A8: [x,y] in f \ g by A6, XTUPLE_0:def 12;
A9: x in dom f by A8, XTUPLE_0:def 12;
then A10: x in dom (f +* h) by A2, XBOOLE_0:def 3;
A11: not [x,y] in g by A8, XBOOLE_0:def 5;
A12: (f +* h) . x = f . x by A7, Th11;
reconsider y = y as set by TARSKI:1;
f . x = y by A8, A9, FUNCT_1:def 2;
then [x,y] in f +* h by A12, A10, FUNCT_1:def 2;
then [x,y] in (f +* h) \ g by A11, XBOOLE_0:def 5;
hence x in dom ((f +* h) \ g) by XTUPLE_0:def 12; :: thesis: verum
end;
suppose A13: x in dom h ; :: thesis: x in dom ((f +* h) \ g)
then A14: not x in dom g by A1, XBOOLE_0:3;
x in dom (f +* h) by A2, A13, XBOOLE_0:def 3;
then A15: x in (dom (f +* h)) \ (dom g) by A14, XBOOLE_0:def 5;
(dom (f +* h)) \ (dom g) c= dom ((f +* h) \ g) by XTUPLE_0:25;
hence x in dom ((f +* h) \ g) by A15; :: thesis: verum
end;
end;
end;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in dom ((f +* h) \ g) or x in dom ((f \ g) +* h) )
assume x in dom ((f +* h) \ g) ; :: thesis: x in dom ((f \ g) +* h)
then consider y being object such that
A16: [x,y] in (f +* h) \ g by XTUPLE_0:def 12;
reconsider y = y as set by TARSKI:1;
A17: x in dom (f +* h) by A16, XTUPLE_0:def 12;
then A18: y = (f +* h) . x by A16, FUNCT_1:def 2;
per cases ( ( x in dom f & not x in dom h ) or x in dom h ) by A2, A17, XBOOLE_0:def 3;
suppose x in dom h ; :: thesis: x in dom ((f \ g) +* h)
hence x in dom ((f \ g) +* h) by A3, XBOOLE_0:def 3; :: thesis: verum
end;
end;
end;
now :: thesis: for x being object st x in dom ((f \ g) +* h) holds
((f \ g) +* h) . x = ((f +* h) \ g) . x
let x be object ; :: thesis: ( x in dom ((f \ g) +* h) implies ((f \ g) +* h) . b1 = ((f +* h) \ g) . b1 )
assume A22: x in dom ((f \ g) +* h) ; :: thesis: ((f \ g) +* h) . b1 = ((f +* h) \ g) . b1
per cases ( ( x in dom (f \ g) & not x in dom h ) or x in dom h ) by A3, A22, XBOOLE_0:def 3;
suppose that A23: x in dom (f \ g) and
A24: not x in dom h ; :: thesis: ((f \ g) +* h) . b1 = ((f +* h) \ g) . b1
thus ((f \ g) +* h) . x = (f \ g) . x by A24, Th11
.= f . x by A23, GRFUNC_1:2
.= (f +* h) . x by A24, Th11
.= ((f +* h) \ g) . x by A4, A22, GRFUNC_1:2 ; :: thesis: verum
end;
suppose A25: x in dom h ; :: thesis: ((f +* h) \ g) . b1 = ((f \ g) +* h) . b1
then A26: not x in dom g by A1, XBOOLE_0:3;
x in dom (f +* h) by A25, A2, XBOOLE_0:def 3;
then x in (dom (f +* h)) \ (dom g) by A26, XBOOLE_0:def 5;
hence ((f +* h) \ g) . x = (f +* h) . x by GRFUNC_1:32
.= h . x by A25, Th13
.= ((f \ g) +* h) . x by A25, Th13 ;
:: thesis: verum
end;
end;
end;
hence (f \ g) +* h = (f +* h) \ g by A4; :: thesis: verum