let K be non empty addLoopStr ; :: thesis: for f1, f2, g1, g2 being FinSequence of K st len f1 = len f2 holds
(f1 + f2) ^ (g1 + g2) = (f1 ^ g1) + (f2 ^ g2)
let f1, f2, g1, g2 be FinSequence of K; :: thesis: ( len f1 = len f2 implies (f1 + f2) ^ (g1 + g2) = (f1 ^ g1) + (f2 ^ g2) )
assume A1:
len f1 = len f2
; :: thesis: (f1 + f2) ^ (g1 + g2) = (f1 ^ g1) + (f2 ^ g2)
A2:
( dom (f1 + f2) = (dom f1) /\ (dom f2) & dom f1 = dom f2 & dom (g1 + g2) = (dom g1) /\ (dom g2) & dom ((f1 ^ g1) + (f2 ^ g2)) = (dom (f1 ^ g1)) /\ (dom (f2 ^ g2)) )
by A1, Lm1, FINSEQ_3:31;
then A3:
len (f1 + f2) = len f1
by FINSEQ_3:31;
A4:
( dom g1 = Seg (len g1) & dom g2 = Seg (len g2) & dom (f1 ^ g1) = Seg ((len f1) + (len g1)) & dom (f2 ^ g2) = Seg ((len f2) + (len g2)) )
by FINSEQ_1:def 3, FINSEQ_1:def 7;
A5:
now per cases
( len g1 <= len g2 or len g1 > len g2 )
;
suppose
len g1 > len g2
;
:: thesis: dom ((f1 + f2) ^ (g1 + g2)) = dom ((f1 ^ g1) + (f2 ^ g2))then
(
Seg (len g2) c= Seg (len g1) &
(len f1) + (len g1) > (len f2) + (len g2) )
by A1, FINSEQ_1:7, XREAL_1:10;
then
(
dom (g1 + g2) = dom g2 &
dom (f2 ^ g2) c= dom (f1 ^ g1) )
by A2, A4, FINSEQ_1:7, XBOOLE_1:28;
then
(
len (g1 + g2) = len g2 &
dom ((f1 ^ g1) + (f2 ^ g2)) = dom (f2 ^ g2) )
by A2, FINSEQ_3:31, XBOOLE_1:28;
hence
dom ((f1 + f2) ^ (g1 + g2)) = dom ((f1 ^ g1) + (f2 ^ g2))
by A1, A4, A3, FINSEQ_1:def 7;
:: thesis: verum end; end; end;
now let i be
Nat;
:: thesis: ( i in dom ((f1 + f2) ^ (g1 + g2)) implies ((f1 + f2) ^ (g1 + g2)) . i = ((f1 ^ g1) + (f2 ^ g2)) . i )assume A6:
i in dom ((f1 + f2) ^ (g1 + g2))
;
:: thesis: ((f1 + f2) ^ (g1 + g2)) . i = ((f1 ^ g1) + (f2 ^ g2)) . inow per cases
( i in dom (f1 + f2) or ex n being Nat st
( n in dom (g1 + g2) & i = (len (f1 + f2)) + n ) )
by A6, FINSEQ_1:38;
suppose A7:
i in dom (f1 + f2)
;
:: thesis: ((f1 + f2) ^ (g1 + g2)) . i = ((f1 ^ g1) + (f2 ^ g2)) . ithen A8:
(
f1 /. i = f1 . i &
f2 /. i = f2 . i )
by A2, PARTFUN1:def 8;
A9:
(
f1 . i = (f1 ^ g1) . i &
f2 . i = (f2 ^ g2) . i )
by A2, A7, FINSEQ_1:def 7;
thus ((f1 + f2) ^ (g1 + g2)) . i =
(f1 + f2) . i
by A7, FINSEQ_1:def 7
.=
(f1 /. i) + (f2 /. i)
by A7, A8, FVSUM_1:21
.=
((f1 ^ g1) + (f2 ^ g2)) . i
by A5, A6, A8, A9, FVSUM_1:21
;
:: thesis: verum end; suppose
ex
n being
Nat st
(
n in dom (g1 + g2) &
i = (len (f1 + f2)) + n )
;
:: thesis: ((f1 + f2) ^ (g1 + g2)) . i = ((f1 ^ g1) + (f2 ^ g2)) . ithen consider n being
Nat such that A10:
(
n in dom (g1 + g2) &
i = (len (f1 + f2)) + n )
;
(
n in dom g1 &
n in dom g2 )
by A2, A10, XBOOLE_0:def 4;
then A11:
(
g1 . n = g1 /. n &
g2 . n = g2 /. n &
(f1 ^ g1) . i = g1 . n &
(f2 ^ g2) . i = g2 . n )
by A1, A3, A10, FINSEQ_1:def 7, PARTFUN1:def 8;
thus ((f1 + f2) ^ (g1 + g2)) . i =
(g1 + g2) . n
by A10, FINSEQ_1:def 7
.=
(g1 /. n) + (g2 /. n)
by A10, A11, FVSUM_1:21
.=
((f1 ^ g1) + (f2 ^ g2)) . i
by A5, A6, A11, FVSUM_1:21
;
:: thesis: verum end; end; end; hence
((f1 + f2) ^ (g1 + g2)) . i = ((f1 ^ g1) + (f2 ^ g2)) . i
;
:: thesis: verum end;
hence
(f1 + f2) ^ (g1 + g2) = (f1 ^ g1) + (f2 ^ g2)
by A5, FINSEQ_1:17; :: thesis: verum