reserve i,j,k,n for Nat;
reserve D for non empty set,
  p for Element of D,
  f,g for FinSequence of D;

theorem Th36:
  for f, g being FinSequence holds (f^g)/^(len f + i) = g/^i
proof
  let f, g be FinSequence;
A1: len(f^g) = len f + len g by FINSEQ_1:22;
  per cases;
  suppose
A2: i <= len g;
    then len f + i <= len f + len g by XREAL_1:6;
    then
A3: len((f^g)/^(len f + i)) = len g + len f - (len f + i) by A1,RFINSEQ:def 1
      .= len g - i
      .= len(g/^i) by A2,RFINSEQ:def 1;
    now
      let k;
      assume
A4:   1 <= k & k <= len(g/^i);
      then
A5:   k in dom(g/^i) by FINSEQ_3:25;
      then
A6:   i+k in dom g by Th26;
      k in dom((f^g)/^(len f + i)) by A3,A4,FINSEQ_3:25;
      hence ((f^g)/^(len f + i)).k = (f^g).(len f + i + k) by Th27
        .= (f^g).(len f + (i+k))
        .= g.(i+k) by A6,FINSEQ_1:def 7
        .= (g/^i).k by A5,Th27;
    end;
    hence thesis by A3;
  end;
  suppose
A7: i > len g;
    then len f + i > len(f^g) by A1,XREAL_1:6;
    hence (f^g)/^(len f+i) = {} by RFINSEQ:def 1
      .= g/^i by A7,RFINSEQ:def 1;
  end;
end;
