reserve x,y,z for set;
reserve f,f1,f2,f3 for FinSequence,
  p,p1,p2,p3 for set,
  i,k for Nat;

theorem Th13:
  f1 c= f2 implies f3^f1 c= f3^f2
proof
  assume
A1: f1 c= f2;
A2: dom(f3^f1) c= dom(f3^f2)
  proof
    let x be object;
    assume
A3: x in dom(f3^f1);
    then reconsider i = x as Nat;
    per cases by A3,FINSEQ_1:25;
    suppose
A4:   i in dom f3;
      dom f3 c= dom(f3^f2) by FINSEQ_1:26;
      hence thesis by A4;
    end;
    suppose
A5:   ex n being Nat st n in dom f1 & i=len f3 + n;
      dom f1 c= dom f2 by A1,RELAT_1:11;
      hence thesis by A5,FINSEQ_1:28;
    end;
  end;
  for x being object st x in dom(f3^f1) holds (f3^f1).x = (f3^f2).x
  proof
    let x be object;
    assume
A6: x in dom(f3^f1);
    then reconsider i = x as Nat;
    per cases by A6,FINSEQ_1:25;
    suppose
A7:   i in dom f3;
      hence (f3^f1).x = f3.i by FINSEQ_1:def 7
        .= (f3^f2).x by A7,FINSEQ_1:def 7;
    end;
    suppose
A8:   ex n being Nat st n in dom f1 & i=len f3 + n;
A9:   dom f1 c= dom f2 by A1,RELAT_1:11;
      consider k be Nat such that
A10:  k in dom f1 and
A11:  i = len f3 + k by A8;
      thus (f3^f1).x = f1.k by A10,A11,FINSEQ_1:def 7
        .= f2.k by A1,A10,GRFUNC_1:2
        .= (f3^f2).x by A10,A11,A9,FINSEQ_1:def 7;
    end;
  end;
  hence thesis by A2,GRFUNC_1:2;
end;
