let k be Nat; :: thesis: for D being non empty set
for p being Element of D
for f being FinSequence of D st p in rng f & p .. f > k holds
(f /^ k) -: p = (f -: p) /^ k

let D be non empty set ; :: thesis: for p being Element of D
for f being FinSequence of D st p in rng f & p .. f > k holds
(f /^ k) -: p = (f -: p) /^ k

let p be Element of D; :: thesis: for f being FinSequence of D st p in rng f & p .. f > k holds
(f /^ k) -: p = (f -: p) /^ k

let f be FinSequence of D; :: thesis: ( p in rng f & p .. f > k implies (f /^ k) -: p = (f -: p) /^ k )
assume that
A1: p in rng f and
A2: p .. f > k ; :: thesis: (f /^ k) -: p = (f -: p) /^ k
A3: p in rng (f /^ k) by A1, A2, Th57;
p .. f = k + (p .. (f /^ k)) by A1, A2, Th56;
then A4: len ((f /^ k) -: p) = (p .. f) - k by A3, FINSEQ_5:42
.= (len (f -: p)) - k by A1, FINSEQ_5:42 ;
A5: now :: thesis: for m being Nat st m in dom ((f /^ k) -: p) holds
((f /^ k) -: p) . m = (f -: p) . (m + k)
let m be Nat; :: thesis: ( m in dom ((f /^ k) -: p) implies ((f /^ k) -: p) . m = (f -: p) . (m + k) )
A6: m + k >= m by NAT_1:11;
reconsider M = m as Nat ;
assume A7: m in dom ((f /^ k) -: p) ; :: thesis: ((f /^ k) -: p) . m = (f -: p) . (m + k)
then m <= (len (f -: p)) - k by A4, FINSEQ_3:25;
then A8: m + k <= len (f -: p) by XREAL_1:19;
1 <= m by A7, FINSEQ_3:25;
then 1 <= m + k by A6, XXREAL_0:2;
then A9: M + k in dom (f -: p) by A8, FINSEQ_3:25;
len ((f /^ k) -: p) = p .. (f /^ k) by A3, FINSEQ_5:42;
then A10: m in Seg (p .. (f /^ k)) by A7, FINSEQ_1:def 3;
(f /^ k) -: p = (f /^ k) | (p .. (f /^ k)) by FINSEQ_5:def 1;
then A11: dom ((f /^ k) -: p) c= dom (f /^ k) by FINSEQ_5:18;
len (f -: p) = p .. f by A1, FINSEQ_5:42;
then A12: m + k in Seg (p .. f) by A9, FINSEQ_1:def 3;
thus ((f /^ k) -: p) . m = ((f /^ k) -: p) /. m by A7, PARTFUN1:def 6
.= (f /^ k) /. m by A3, A10, FINSEQ_5:43
.= f /. (m + k) by A7, A11, FINSEQ_5:27
.= (f -: p) /. (M + k) by A1, A12, FINSEQ_5:43
.= (f -: p) . (m + k) by A9, PARTFUN1:def 6 ; :: thesis: verum
end;
k <= len (f -: p) by A1, A2, FINSEQ_5:42;
hence (f /^ k) -: p = (f -: p) /^ k by A4, A5, RFINSEQ:def 1; :: thesis: verum