
theorem Th59:
  for I being non empty set
  for J being TopStruct-yielding non-Empty ManySortedSet of I
  for f being one-to-one I-valued Function
  for X being Subset-Family of product Carrier J
  st X c= product_prebasis J & dom f = X & f" is non-empty &
    for A being Subset of product Carrier J st A in X
    holds proj(J,f/.A).:A is open
  holds for i being Element of I holds
    (not i in rng f implies
      proj(J,i).:product(Carrier J +* product_basis_selector(J,f)) = [#](J.i))
    & (i in rng f implies
      proj(J,i).:product(Carrier J +* product_basis_selector(J,f)) is open)
proof
  let I be non empty set;
  let J be TopStruct-yielding non-Empty ManySortedSet of I;
  let f be one-to-one I-valued Function;
  let X be Subset-Family of product Carrier J;
  set g = product_basis_selector(J,f);
  set P = product(Carrier J +* g);
  assume that
    A1: X c= product_prebasis J & dom f = X & f" is non-empty and
    A2: for A being Subset of product Carrier J st A in X
      holds proj(J,f/.A).:A is open;
  let i be Element of I;
  A3: dom Carrier J = I & dom g = rng f by PARTFUN1:def 2;
  A4: g is non-empty by A1, Th55;
  A6: now
    let j be object;
    assume a7: j in dom g;
    then  j in rng f;
    then reconsider k = j as Element of I;
    g.j = proj(J,k).:(f".k) by a7, Th54;
    then g.j c= the carrier of J.k;
    then g.j c= [#](J.k) by STRUCT_0:def 3;
    hence g.j c= (Carrier J).j by PENCIL_3:7;
  end;
  thus not i in rng f implies proj(J,i).:P = [#](J.i)
  proof
    assume not i in rng f;
    then A8: i in dom Carrier J \ dom g by A3, XBOOLE_0:def 5;
    thus proj(J,i).:P = proj(Carrier J,i).:P by WAYBEL18:def 4
      .= (Carrier J).i by A3, A4, A6, A8, Th24
      .= [#](J.i) by PENCIL_3:7;
  end;
  assume A9: i in rng f;
  A11: proj(J,i).:P = proj(Carrier J,i).:P by WAYBEL18:def 4
    .= g.i by A4, A3, A6, A9, Th25
    .= proj(J,i).:(f".i) by A9, Th54;
  A12: f.(f".i) = i by A9, FUNCT_1:35;
  i in dom(f") by A9, FUNCT_1:33;
  then a13: f".i in rng(f") by FUNCT_1:3;
  then A13: f".i in dom f by FUNCT_1:33;
  f".i in X by A1,a13,FUNCT_1:33;
  then reconsider A = f".i as Subset of product Carrier J;
  f/.A = i by A12, A13, PARTFUN1:def 6;
  hence thesis by A2, A11, A13,A1;
end;
