reserve x,y,z for set;
reserve f,f1,f2,f3 for FinSequence,
  p,p1,p2,p3 for set,
  i,k for Nat;
reserve D for non empty set,
  p,p1,p2,p3 for Element of D,
  f,f1,f2 for FinSequence of D;
reserve D for non empty set;
reserve p, q for FinSequence,
  X, Y, x, y for set,
  D for non empty set,
  i, j, k, l, m, n, r for Nat;

theorem
  m<=n & n<=len p implies
  (1, m)-cut p ^ (m+1, n)-cut p ^ (n+1, len p)-cut p = p
proof
  assume that
A1: m<=n and
A2: n<=len p;
  set cp3 = (n+1, len p)-cut p;
  set cp2 = (m+1, n)-cut p;
  set cp1 = (1, m)-cut p;
A3: 0+1=1;
  hence cp1^cp2^cp3 = (1, n)-cut p ^cp3 by A1,A2,Th8
    .= (1, len p)-cut p by A2,A3,Th8
    .= p by Th7;
end;
