let n be Element of NAT ; :: thesis: for I, J being Function holds Shift (I +* J),n = (Shift I,n) +* (Shift J,n)
let I, J be Function; :: thesis: Shift (I +* J),n = (Shift I,n) +* (Shift J,n)
A1:
dom (I +* J) = (dom I) \/ (dom J)
by FUNCT_4:def 1;
A2:
dom (Shift J,n) = { (m + n) where m is Element of NAT : m in dom J }
by Def12;
A3:
dom (Shift I,n) = { (m + n) where m is Element of NAT : m in dom I }
by Def12;
(dom (Shift I,n)) \/ (dom (Shift J,n)) = { (m + n) where m is Element of NAT : m in (dom I) \/ (dom J) }
proof
let x be
set ;
:: according to TARSKI:def 3 :: thesis: ( not x in { (m + n) where m is Element of NAT : m in (dom I) \/ (dom J) } or x in (dom (Shift I,n)) \/ (dom (Shift J,n)) )
assume
x in { (m + n) where m is Element of NAT : m in (dom I) \/ (dom J) }
;
:: thesis: x in (dom (Shift I,n)) \/ (dom (Shift J,n))
then consider m being
Element of
NAT such that A5:
x = m + n
and A6:
m in (dom I) \/ (dom J)
;
(
m in dom I or
m in dom J )
by A6, XBOOLE_0:def 3;
then
(
x in dom (Shift I,n) or
x in dom (Shift J,n) )
by A2, A3, A5;
hence
x in (dom (Shift I,n)) \/ (dom (Shift J,n))
by XBOOLE_0:def 3;
:: thesis: verum
end;
then A7:
dom ((Shift I,n) +* (Shift J,n)) = { (m + n) where m is Element of NAT : m in dom (I +* J) }
by A1, FUNCT_4:def 1;
hence
Shift (I +* J),n = (Shift I,n) +* (Shift J,n)
by A7, Def12; :: thesis: verum