reserve x,y for set,
  n,m for Nat,
  r,s for Real;

theorem Th10:
  for R be real-valued FinSequence, n be Nat st
  len R = n+2 holds MIM(R|(n+1)) = MIM(R)|n ^ <* R.(n+1) *>
proof
  let R be real-valued FinSequence, n;
  assume that
A1: len R = n+2;
  set s = R.(n+1);
  set f1 = R|(n+1), m1 = MIM(f1), mf = MIM(R), fn = mf|n;
A3: 0 qua Nat+1<=n+1 by NAT_1:13;
A4: n+1+1 = n+(1+1);
  then n+1<=n+2 by NAT_1:11;
  then
A5: Seg len R = dom R & n+1 in Seg(n+2) by A3,FINSEQ_1:def 3;
A6: len f1 = n+1 by A1,A4,FINSEQ_1:59,NAT_1:11;
  then
A7: len MIM(f1) = n+1 by Def2;
  then
A8: dom m1 = Seg(n+1) by FINSEQ_1:def 3;
  n+1 in Seg(n+1) by A3;
  then f1.(n+1) = s by A1,A5,Th6;
  then
A9: m1.(n+1) = s by A6,A7,Def2;
A10: Seg len fn = dom fn by FINSEQ_1:def 3;
A11: Seg len mf = dom mf by FINSEQ_1:def 3;
A12: len mf = n+2 by A1,Def2;
  then
A13: len fn = n by FINSEQ_1:59,NAT_1:11;
A14: n<=n+2 by NAT_1:11;
A15: now
    let m be Nat;
    assume
A16: m in dom m1;
    then
A17: 1<=m by A8,FINSEQ_1:1;
A18: m<=n+1 by A8,A16,FINSEQ_1:1;
    now
      per cases;
      case
        m = n+1;
        hence m1.m = (fn^<*s*>).m by A13,A9,FINSEQ_1:42;
      end;
      case
        m <> n+1;
        then
A19:    m<n+1 by A18,XXREAL_0:1;
        then
A20:    m<=n by NAT_1:13;
        then
A21:    m in Seg n by A17;
        set r2 = R.(m+1);
        set r1 = R.m;
A22:    len mf -1 = n+1 by A12;
        1<=n by A17,A20,XXREAL_0:2;
        then n in Seg(n+2) by A14;
        then fn.m = mf.m by A12,A11,A21,Th6;
        then
A23:    r1 - r2 = fn.m by A17,A18,A22,Def2
          .= (fn^<*s*>).m by A13,A10,A21,FINSEQ_1:def 7;
        1<=m+1 & m+1<=n+1 by A19,NAT_1:11,13;
        then m+1 in Seg(n+1);
        then
A24:    f1.(m+1) = r2 by A1,A5,Th6;
        len m1 -1 = n & f1.m = r1 by A1,A7,A5,A8,A16,Th6;
        hence m1.m = (fn^<*s*>).m by A17,A20,A23,A24,Def2;
      end;
    end;
    hence m1.m = (fn^<*s*>).m;
  end;
  len(fn^<*s*>) = n + len <*s*> by A13,FINSEQ_1:22
    .= n+1 by FINSEQ_1:40;
  hence thesis by A7,A15,FINSEQ_2:9;
end;
