
theorem Th33:
  for X,Y being non empty TopSpace, M being non empty set for f
  being Function of M, the carrier of oContMaps(X, Y) holds commute f is
  continuous Function of X, M-TOP_prod (M --> Y)
proof
  let X,Y be non empty TopSpace, M be non empty set;
  let f be Function of M, the carrier of oContMaps(X, Y);
  reconsider B = product_prebasis (M --> Y) as prebasis of M-TOP_prod (M --> Y
  ) by WAYBEL18:def 3;
A1: Carrier (M --> Y) = M --> the carrier of Y by Th30;
  the carrier of oContMaps(X, Y) c= Funcs(the carrier of X, the carrier of
  Y) by Th32;
  then dom f = M & rng f c= Funcs(the carrier of X, the carrier of Y) by
FUNCT_2:def 1;
  then
A2: f in Funcs(M, Funcs(the carrier of X, the carrier of Y)) by FUNCT_2:def 2;
  then commute f in Funcs(the carrier of X, Funcs(M, the carrier of Y)) by
FUNCT_6:55;
  then
A3: ex g being Function st commute f = g & dom g = the carrier of X & rng g
  c= Funcs(M, the carrier of Y) by FUNCT_2:def 2;
  the carrier of M-TOP_prod (M --> Y) = product Carrier (M --> Y) by
WAYBEL18:def 3;
  then the carrier of M-TOP_prod (M --> Y) = Funcs(M, the carrier of Y) by A1,
CARD_3:11;
  then reconsider g = commute f as Function of X, M-TOP_prod (M --> Y) by A3,
FUNCT_2:2;
  now
    let P be Subset of M-TOP_prod (M --> Y);
    assume P in B;
    then consider
    i being set, T being TopStruct, V being Subset of T such that
A4: i in M and
A5: V is open and
A6: T = (M --> Y).i and
A7: P = product ((Carrier (M --> Y)) +* (i,V)) by WAYBEL18:def 2;
    reconsider i as Element of M by A4;
    set FP = (Carrier (M --> Y)) +* (i,V);
A8: dom FP = dom Carrier (M --> Y) by FUNCT_7:30;
    reconsider fi = f.i as continuous Function of X, Y by Th2;
A9: dom Carrier (M --> Y) = M by A1,FUNCOP_1:13;
    then
A10: FP.i = V by FUNCT_7:31;
A11: T = Y by A4,A6,FUNCOP_1:7;
    now
      let x be set;
      hereby
        reconsider Q = fi"V as Subset of X;
        assume
A12:    x in g"P;
        then g.x in P by FUNCT_2:38;
        then consider gx being Function such that
A13:    g.x = gx and
        dom gx = dom FP and
A14:    for z being object st z in dom FP holds gx.z in FP.z
by A7,CARD_3:def 5;
A15:    gx.i = fi.x by A2,A12,A13,FUNCT_6:56;
        take Q;
        [#]Y <> {};
        hence Q is open by A5,A11,TOPS_2:43;
        thus Q c= g"P
        proof
          let a be object;
          assume
A16:      a in Q;
          then g.a in rng g by A3,FUNCT_1:def 3;
          then consider ga being Function such that
A17:      g.a = ga and
A18:      dom ga = M and
A19:      rng ga c= the carrier of Y by A3,FUNCT_2:def 2;
A20:      fi.a in V by A16,FUNCT_2:38;
          now
            let z be object;
            assume
A21:        z in M;
            then
            z <> i & (M --> the carrier of Y).z = the carrier of Y or z =
            i by FUNCOP_1:7;
            then
            z <> i & ga.z in rng ga & FP.z = the carrier of Y or z = i by A1
,A18,A21,FUNCT_1:def 3,FUNCT_7:32;
            hence ga.z in FP.z by A2,A10,A16,A20,A17,A19,FUNCT_6:56;
          end;
          then ga in P by A7,A8,A9,A18,CARD_3:9;
          hence thesis by A16,A17,FUNCT_2:38;
        end;
        gx.i in V by A8,A9,A10,A14;
        hence x in Q by A12,A15,FUNCT_2:38;
      end;
      thus (ex Q being Subset of X st Q is open & Q c= g"P & x in Q) implies x
      in g"P;
    end;
    hence g"P is open by TOPS_1:25;
  end;
  hence thesis by YELLOW_9:36;
end;
