reserve k,n for Nat,
  x,y,z,y1,y2 for object,X,Y for set,
  f,g for Function;
reserve p,q,r,s,t for XFinSequence;
reserve D for set;

theorem Th53: :: FINSEQ_1:14
  len p = n+1 implies p = (p|n) ^ <% p.n %>
proof
  set pn = p|n;
  set x=p.n;
  assume
A1: len p = n+1;
then A2: n < len p by NAT_1:13;
then A3: len pn = n by Th51;
A4: now
    let m be Nat;
    assume m in dom p;
    then m<len p by Lm1;
    then
A5: m <= len pn by A1,A3,NAT_1:13;
    now
      per cases;
      case
        m = len pn;
        hence p.m = (pn^<%x%>).m by A3,Th33;
      end;
      case
        m <> len pn;
        then m< len pn by A5,XXREAL_0:1;
        then
A6:     m in dom pn by Lm1;
        hence (pn^<%x%>).m = pn.m by Def3
          .= p.m by A2,A3,A6,Th50;
      end;
    end;
    hence p.m = (pn^<%x%>).m;
  end;
  len (pn^<%x%>) = n + len <%x%> by A3,Def3
    .= len p by A1,Def4;
  hence thesis by A4;
end;
