
theorem Th20:
  for f be Real_Sequence,i be Nat holds
  (FinSeq(f,i))^<* f.(i+1) *> = FinSeq(f,i+1)
  proof
    let f be Real_Sequence, i be Nat;
    set f1 = FinSeq (f,i), g = <*f.(i+1)*>, h = FinSeq (f,i + 1);
    dom f1 = Seg i by Th19; then
    Seg len f1 = Seg i by FINSEQ_1:def 3; then
A0: len f1 = i by FINSEQ_1:6;
A1: dom (f1^g) = Seg (len f1 + len g) by FINSEQ_1:def 7
              .= Seg (i+1) by FINSEQ_1:39,A0
              .= dom h by Th19;
    for k be Nat st k in dom (f1^g) holds (f1^g).k = h.k
    proof
      let k be Nat;
      i <= i + 1 by NAT_1:13; then
A2:   Seg i c= Seg (i + 1) by FINSEQ_1:5;
      assume k in dom (f1 ^ g); then
      per cases by FINSEQ_1:25;
      suppose
A3:     k in dom f1; then
A4:     k in Seg i by Th19;
        (f1^g).k = f1.k by FINSEQ_1:def 7,A3
      .= f.k by A4,FUNCT_1:49  .= h.k by A2,A4,FUNCT_1:49;
        hence thesis;
      end;
      suppose ex n be Nat st n in dom g & k = len f1 + n; then
        consider n be Nat such that
A5:     n in dom g & k = len f1 + n;
        n in Seg 1 by A5,FINSEQ_1:def 8; then
A6:     n = 1 by TARSKI:def 1,FINSEQ_1:2;
        1 <= i + 1 by NAT_1:12;
        hence thesis by FUNCT_1:49,FINSEQ_1:1,A0,A5,A6;
      end;
    end;
    hence thesis by A1,FINSEQ_1:13;
  end;
