let f be FinSequence; for n being Nat st n + 1 = len f holds
f = (f | n) ^ <*(f . (n + 1))*>
let n be Nat; ( n + 1 = len f implies f = (f | n) ^ <*(f . (n + 1))*> )
assume A1:
n + 1 = len f
; f = (f | n) ^ <*(f . (n + 1))*>
set x = f . (n + 1);
set fn = f | n;
A3:
len (f | n) = n
by A1, FINSEQ_1:59, NAT_1:11;
A4:
dom f = Seg (len f)
by FINSEQ_1:def 3;
A5:
n <= n + 1
by NAT_1:11;
A6:
now for m being Nat st m in dom f holds
f . m = ((f | n) ^ <*(f . (n + 1))*>) . mlet m be
Nat;
( m in dom f implies f . m = ((f | n) ^ <*(f . (n + 1))*>) . m )assume A7:
m in dom f
;
f . m = ((f | n) ^ <*(f . (n + 1))*>) . mthen A8:
1
<= m
by A4, FINSEQ_1:1;
A9:
m <= len f
by A4, A7, FINSEQ_1:1;
now ( ( m = len f & f . m = ((f | n) ^ <*(f . (n + 1))*>) . m ) or ( m <> len f & ((f | n) ^ <*(f . (n + 1))*>) . m = f . m ) )per cases
( m = len f or m <> len f )
;
case
m <> len f
;
((f | n) ^ <*(f . (n + 1))*>) . m = f . mthen
m < n + 1
by A1, A9, XXREAL_0:1;
then A10:
m <= n
by NAT_1:13;
then
1
<= n
by A8, XXREAL_0:2;
then A11:
n in dom f
by A1, A5, FINSEQ_3:25;
A12:
Seg (len (f | n)) = dom (f | n)
by FINSEQ_1:def 3;
A13:
m in dom (f | n)
by A3, A8, A10, FINSEQ_3:25;
hence ((f | n) ^ <*(f . (n + 1))*>) . m =
(f | n) . m
by FINSEQ_1:def 7
.=
f . m
by A3, A13, A11, A12, Th6
;
verum end; end; end; hence
f . m = ((f | n) ^ <*(f . (n + 1))*>) . m
;
verum end;
len ((f | n) ^ <*(f . (n + 1))*>) =
n + (len <*(f . (n + 1))*>)
by A3, FINSEQ_1:22
.=
len f
by A1, FINSEQ_1:40
;
hence
f = (f | n) ^ <*(f . (n + 1))*>
by A6, FINSEQ_2:9; verum