reserve i,j,k,n,m for Nat,
  x,y,z,y1,y2 for object, X,Y,D for set,
  p,q for XFinSequence;
reserve k1,k2 for Nat;
reserve D for non empty set,
  F,G for XFinSequence of D,
  b for BinOp of D,
  d,d1,d2 for Element of D;
reserve F for XFinSequence,
        rF,rF1,rF2 for real-valued XFinSequence,
        r for Real,
        cF,cF1,cF2 for complex-valued XFinSequence,
        c,c1,c2 for Complex;
reserve r,s for XFinSequence;

theorem
  CutLastLoc(p^<%x%>) = p
proof set q = CutLastLoc(p^<%x%>);
A1: len(p^<%x%>) -' 1 = len p + 1 -' 1 by AFINSQ_1:75
     .= len p by NAT_D:34;
A2: dom(p^<%x%>) = len(p^<%x%>)
   .= Segm(len p + 1) by AFINSQ_1:75
   .= Segm len p \/ {len p} by AFINSQ_1:2;
A3: not len p in dom p;
 LastLoc(p^<%x%>) = len(p^<%x%>) -' 1 by AFINSQ_1:70;
 hence
A4: dom q = dom(p^<%x%>) \ {len p} by A1,VALUED_1:36
     .= dom p by A2,A3,ZFMISC_1:117;
 let y be object;
 assume
A5: y in dom q;
A6: p c= p^<%x%> by AFINSQ_1:74;
 thus q.y = (p^<%x%>).y by A5,GRFUNC_1:2
      .= p.y by A5,A4,A6,GRFUNC_1:2;
end;
