let f1, f2 be FinSequence; :: thesis: for i being Nat holds (f1 ^ f2) | (Seg ((len f1) + i)) = f1 ^ (f2 | (Seg i))
let i be Nat; :: thesis: (f1 ^ f2) | (Seg ((len f1) + i)) = f1 ^ (f2 | (Seg i))
A1:
dom ((f1 ^ f2) | (Seg ((len f1) + i))) = (dom (f1 ^ f2)) /\ (Seg ((len f1) + i))
by RELAT_1:90;
f1 ^ (f2 | (Seg i)) c= f1 ^ f2
by Th15, RELAT_1:88;
then A2:
dom (f1 ^ (f2 | (Seg i))) c= dom (f1 ^ f2)
by RELAT_1:25;
dom (f1 ^ (f2 | (Seg i))) c= Seg ((len f1) + i)
then A8:
dom (f1 ^ (f2 | (Seg i))) c= (dom (f1 ^ f2)) /\ (Seg ((len f1) + i))
by A2, XBOOLE_1:19;
(dom (f1 ^ f2)) /\ (Seg ((len f1) + i)) c= dom (f1 ^ (f2 | (Seg i)))
then A16:
dom ((f1 ^ f2) | (Seg ((len f1) + i))) = dom (f1 ^ (f2 | (Seg i)))
by A1, A8, XBOOLE_0:def 10;
now let k be
Nat;
:: thesis: ( k in dom ((f1 ^ f2) | (Seg ((len f1) + i))) implies ((f1 ^ f2) | (Seg ((len f1) + i))) . b1 = (f1 ^ (f2 | (Seg i))) . b1 )assume A17:
k in dom ((f1 ^ f2) | (Seg ((len f1) + i)))
;
:: thesis: ((f1 ^ f2) | (Seg ((len f1) + i))) . b1 = (f1 ^ (f2 | (Seg i))) . b1then A18:
1
<= k
by FINSEQ_3:27;
per cases
( k <= len f1 or k > len f1 )
;
suppose A20:
k > len f1
;
:: thesis: ((f1 ^ f2) | (Seg ((len f1) + i))) . b1 = (f1 ^ (f2 | (Seg i))) . b1then reconsider j =
k - (len f1) as
Element of
NAT by INT_1:18;
A21:
k = (len f1) + j
;
j > 0
by A20, XREAL_1:52;
then A22:
1
<= j
by NAT_1:14;
k in Seg ((len f1) + i)
by A1, A17, XBOOLE_0:def 4;
then
k <= (len f1) + i
by FINSEQ_1:3;
then
j <= i
by A21, XREAL_1:8;
then A23:
j in Seg i
by A22, FINSEQ_1:3;
A24:
not
k in dom f1
by A20, FINSEQ_3:27;
k in dom (f1 ^ f2)
by A1, A17, XBOOLE_0:def 4;
then consider n being
Nat such that A25:
n in dom f2
and A26:
k = (len f1) + n
by A24, FINSEQ_1:38;
dom (f2 | (Seg i)) = (dom f2) /\ (Seg i)
by RELAT_1:90;
then A27:
j in dom (f2 | (Seg i))
by A23, A25, A26, XBOOLE_0:def 4;
thus ((f1 ^ f2) | (Seg ((len f1) + i))) . k =
(f1 ^ f2) . k
by A17, FUNCT_1:70
.=
f2 . j
by A25, A26, FINSEQ_1:def 7
.=
(f2 | (Seg i)) . j
by A27, FUNCT_1:70
.=
(f1 ^ (f2 | (Seg i))) . k
by A21, A27, FINSEQ_1:def 7
;
:: thesis: verum end; end; end;
hence
(f1 ^ f2) | (Seg ((len f1) + i)) = f1 ^ (f2 | (Seg i))
by A16, FINSEQ_1:17; :: thesis: verum