let D be non empty set ; for f being FinSequence of D
for n being Nat
for x being set st len f = n + 1 & x = f . (n + 1) holds
f = (f | n) ^ <*x*>
let f be FinSequence of D; for n being Nat
for x being set st len f = n + 1 & x = f . (n + 1) holds
f = (f | n) ^ <*x*>
let n be Nat; for x being set st len f = n + 1 & x = f . (n + 1) holds
f = (f | n) ^ <*x*>
let x be set ; ( len f = n + 1 & x = f . (n + 1) implies f = (f | n) ^ <*x*> )
assume that
A1:
len f = n + 1
and
A2:
x = f . (n + 1)
; f = (f | n) ^ <*x*>
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 let m be
Nat;
( m in dom f implies f . m = ((f | n) ^ <*x*>) . m )assume A7:
m in dom f
;
f . m = ((f | n) ^ <*x*>) . mthen A8:
1
<= m
by A4, FINSEQ_1:1;
A9:
m <= len f
by A4, A7, FINSEQ_1:1;
now per cases
( m = len f or m <> len f )
;
case
m <> len f
;
((f | n) ^ <*x*>) . 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) ^ <*x*>) . m =
(f | n) . m
by FINSEQ_1:def 7
.=
f . m
by A3, A13, A11, A12, Th19
;
verum end; end; end; hence
f . m = ((f | n) ^ <*x*>) . m
;
verum end;
len ((f | n) ^ <*x*>) =
n + (len <*x*>)
by A3, FINSEQ_1:22
.=
len f
by A1, FINSEQ_1:40
;
hence
f = (f | n) ^ <*x*>
by A6, FINSEQ_2:9; verum