reserve i, j, k, c, m, n for Nat,
  a, x, y, z, X, Y for set,
  D, E for non empty set,
  R for Relation,
  f, g for Function,
  p, q for FinSequence;

theorem Th1:
  <*x,y*>+*(1,z) = <*z,y*> & <*x,y*>+*(2,z) = <*x,z*>
proof
  set a = <*x,y*>+*(1,z), b = <*x,y*>+*(2,z);
  <*x,y*>.1 = x;
  then
A1: b.1 = x by FUNCT_7:32;
  <*x,y*>.2 = y;
  then
A2: a.2 = y by FUNCT_7:32;
A3: len <*x,y*> = 2 by FINSEQ_1:44;
  then 1 in dom <*x,y*> by FINSEQ_3:25;
  then
A4: a.1 = z by FUNCT_7:31;
  len a = 2 by A3,FUNCT_7:97;
  hence <*x,y*>+*(1,z) = <*z,y*> by A4,A2,FINSEQ_1:44;
  2 in dom <*x,y*> by A3,FINSEQ_3:25;
  then
A5: b.2 = z by FUNCT_7:31;
  len b = 2 by A3,FUNCT_7:97;
  hence thesis by A1,A5,FINSEQ_1:44;
end;
