
theorem Th29:
  for M being non empty set, J being TopStruct-yielding non-Empty
  ManySortedSet of M, x, y being Point of product J holds x in Cl {y} iff for i
  being Element of M holds x.i in Cl {y.i}
proof
  let M be non empty set, J be TopStruct-yielding non-Empty ManySortedSet of M,
  x, y be Point of product J;
  hereby
    assume
A1: x in Cl {y};
    let i be Element of M;
    x in the carrier of product J;
    then x in product Carrier J by WAYBEL18:def 3;
    then consider f being Function such that
A2: x = f and
A3: dom f = dom Carrier J and
A4: for z being object st z in dom Carrier J holds f.z in (Carrier J).z
    by CARD_3:def 5;
A5: i in M;
    for G being Subset of J.i st G is open holds x.i in G implies {y.i} meets G
    proof
      let G be Subset of J.i;
      assume that
A6:   G is open and
A7:   x.i in G;
      reconsider G9 = G as Subset of J.i;
      [#](J.i) <> {} & proj(J,i) is continuous by WAYBEL18:5;
      then
A8:   proj(J,i)"G9 is open by A6,TOPS_2:43;
A9:   for z being object st z in dom ((Carrier J)+*(i,G)) holds f.z in ((
      Carrier J)+*(i,G)).z
      proof
        let z be object;
        assume z in dom ((Carrier J)+*(i,G));
        then
A10:    z in dom Carrier J by FUNCT_7:30;
        per cases;
        suppose
          z = i;
          hence thesis by A2,A7,A10,FUNCT_7:31;
        end;
        suppose
          z <> i;
          then ((Carrier J)+*(i,G)).z = (Carrier J).z by FUNCT_7:32;
          hence thesis by A4,A10;
        end;
      end;
A11:  product ((Carrier J) +* (i,G9)) = proj(J,i)"G9 by WAYBEL18:4;
      dom f = dom ((Carrier J) +* (i,G)) by A3,FUNCT_7:30;
      then x in product ((Carrier J) +* (i,G)) by A2,A9,CARD_3:def 5;
      then {y} meets proj(J,i)"G9 by A1,A8,A11,PRE_TOPC:def 7;
      then y in product ((Carrier J) +* (i,G)) by A11,ZFMISC_1:50;
      then consider g being Function such that
A12:  y = g and
      dom g = dom ((Carrier J) +* (i,G)) and
A13:  for z being object st z in dom ((Carrier J) +* (i,G)) holds g.z in
      ((Carrier J) +* (i,G)).z by CARD_3:def 5;
A14:  i in dom Carrier J by A5,PARTFUN1:def 2;
      then i in dom ((Carrier J) +* (i,G)) by FUNCT_7:30;
      then g.i in ((Carrier J) +* (i,G)).i by A13;
      then g.i in G by A14,FUNCT_7:31;
      hence thesis by A12,ZFMISC_1:48;
    end;
    hence x.i in Cl {y.i} by PRE_TOPC:def 7;
  end;
  reconsider K = product_prebasis J as prebasis of product J by WAYBEL18:def 3;
  assume
A15: for i being Element of M holds x.i in Cl {y.i};
  for Z being finite Subset-Family of product J st Z c= K & x in
  Intersect Z holds Intersect Z meets {y}
  proof
    let Z be finite Subset-Family of product J;
    assume that
A16: Z c= K and
A17: x in Intersect Z;
    for Y being set st Y in Z holds y in Y
    proof
      let Y be set;
      y in the carrier of product J;
      then y in product Carrier J by WAYBEL18:def 3;
      then consider g being Function such that
A18:  y = g and
A19:  dom g = dom Carrier J and
A20:  for z being object st z in dom Carrier J holds g.z in (Carrier J).
      z by CARD_3:def 5;
      assume
A21:  Y in Z;
      then Y in K by A16;
      then consider
      i being set, W being TopStruct, V being Subset of W such that
A22:  i in M and
A23:  V is open and
A24:  W = J.i and
A25:  Y = product ((Carrier J)+*(i,V)) by WAYBEL18:def 2;
      reconsider i as Element of M by A22;
      reconsider V as Subset of (J.i) by A24;
      x in Y by A17,A21,SETFAM_1:43;
      then
A26:  ex f being Function st x = f & dom f = dom ((Carrier J)+* (i,V)) &
for z being object st z in dom ((Carrier J)+*(i,V))
holds f.z in (( Carrier J)+*(i
      ,V)).z by A25,CARD_3:def 5;
      x.i in Cl {y.i} by A15;
      then
A27:  x.i in V implies {y.i} meets V by A23,A24,PRE_TOPC:def 7;
A28:  for z being object st z in dom ((Carrier J)+*(i,V)) holds g.z in ((
      Carrier J)+*(i,V)).z
      proof
        let z be object;
        assume
A29:    z in dom ((Carrier J)+*(i,V));
        then
A30:    z in dom Carrier J by FUNCT_7:30;
        per cases;
        suppose
A31:      z = i;
          then ((Carrier J)+*(i,V)).z = V by A30,FUNCT_7:31;
          hence thesis by A27,A26,A18,A29,A31,ZFMISC_1:50;
        end;
        suppose
          z <> i;
          then ((Carrier J)+*(i,V)).z = (Carrier J).z by FUNCT_7:32;
          hence thesis by A20,A30;
        end;
      end;
      dom g = dom ((Carrier J)+*(i,V)) by A19,FUNCT_7:30;
      hence thesis by A25,A18,A28,CARD_3:def 5;
    end;
    then y in {y} & y in Intersect Z by SETFAM_1:43,TARSKI:def 1;
    hence thesis by XBOOLE_0:3;
  end;
  hence thesis by YELLOW_9:38;
end;
