
theorem Th30:
  for f being non-empty Function, X, Y being set, i, j, x, y being object
  for g being Function
  st x in X & y in Y & i <> j & g in product f
  holds g +* (i,j) --> (x,y) in product(f +* (i,j) --> (X,Y))
proof
  let f be non-empty Function, X, Y be set;
  let i,j,x,y be object, g be Function;
  assume that
    A1: x in X & y in Y and
    A2: i <> j & g in product f;
  A3: dom(g +* (i,j) --> (x,y))
     = dom g \/ dom (i,j) --> (x,y) by FUNCT_4:def 1
    .= dom g \/ {i,j} by FUNCT_4:62
    .= dom f \/ {i,j} by A2, CARD_3:9
    .= dom f \/ dom (i,j) --> (X,Y) by FUNCT_4:62
    .= dom(f +* (i,j) --> (X,Y)) by FUNCT_4:def 1;
  for z being object st z in dom(f +* (i,j) --> (X,Y))
    holds (g +* (i,j) --> (x,y)).z in (f +* (i,j) --> (X,Y)).z
  proof
    let z be object;
    assume A4: z in dom(f +* (i,j) --> (X,Y));
    per cases;
    suppose A5: z in {i,j};
      then z in dom (i,j) --> (x,y) by FUNCT_4:62;
      then A6: (g +* (i,j) --> (x,y)).z = ((i,j) --> (x,y)).z by FUNCT_4:13;
      z in dom (i,j) --> (X,Y) by A5, FUNCT_4:62;
      then A7: (f +* (i,j) --> (X,Y)).z = ((i,j) --> (X,Y)).z by FUNCT_4:13;
      per cases by A5, TARSKI:def 2;
      suppose A8: z = i;
        then (g +* (i,j) --> (x,y)).z = x by A2, A6, FUNCT_4:63;
        hence thesis by A1, A2, A7, A8, FUNCT_4:63;
      end;
      suppose A9: z = j;
        then (g +* (i,j) --> (x,y)).z = y by A6, FUNCT_4:63;
        hence thesis by A1, A7, A9, FUNCT_4:63;
      end;
    end;
    suppose A10: not z in {i,j};
      then not z in dom (i,j) --> (x,y) by FUNCT_4:62;
      then A11: (g +* (i,j) --> (x,y)).z = g.z by FUNCT_4:11;
      not z in dom (i,j) --> (X,Y) by A10, FUNCT_4:62;
      then A12: (f +* (i,j) --> (X,Y)).z = f.z by FUNCT_4:11;
      z in dom f \/ dom (i,j) --> (X,Y) by A4, FUNCT_4:def 1;
      then z in dom f \/ {i,j} by FUNCT_4:62;
      then z in dom f by A10, XBOOLE_0:def 3;
      hence thesis by A2, A11, A12, CARD_3:9;
    end;
  end;
  hence thesis by A3, CARD_3:9;
end;
