
theorem Th9:
  for I being non empty set for i being Element of I for A be
non-Trivial-yielding TopStruct-yielding ManySortedSet of I for p being Point
of Segre_Product A ex L being Segre-like non trivial-yielding ManySortedSubset
  of Carrier A st indx(L)=i & product L is Segre-Coset of A & p in product L
proof
  let I being non empty set;
  let x being Element of I;
  let A be non-Trivial-yielding TopStruct-yielding ManySortedSet of I;
  let p0 be Point of Segre_Product A;
  dom A = I by PARTFUN1:def 2;
  then A.x in rng A by FUNCT_1:3;
  then A.x is non trivial by PENCIL_1:def 18;
  then reconsider C=[#](A.x) as non trivial set;
  reconsider p09=p0 as Element of Carrier A by Th6;
  reconsider p={p09} as ManySortedSubset of Carrier A by PENCIL_1:11;
  reconsider b=p+*(x,C) as Segre-like non trivial-yielding ManySortedSubset of
  Carrier A by PENCIL_1:9,10,PENCIL_2:7;
  take b;
  dom p=I by PARTFUN1:def 2;
  then
A1: b.x = C by FUNCT_7:31;
  hence
A2: indx(b)=x by PENCIL_1:def 21;
  product b c= the carrier of Segre_Product A
  proof
    let a be object;
    assume a in product b;
    then consider f being Function such that
A3: a=f and
A4: dom f=dom b and
A5: for x being object st x in dom b holds f.x in b.x by CARD_3:def 5;
    dom Carrier A = I by PARTFUN1:def 2;
    then
A6: dom f = dom Carrier A by A4,PARTFUN1:def 2;
A7: now
      let i be object;
      assume
A8:   i in dom Carrier A;
      then reconsider i1=i as Element of I;
A9:   f.i in b.i by A4,A5,A6,A8;
      per cases;
      suppose
        i1=x;
        hence f.i in (Carrier A).i by A1,A9,Th7;
      end;
      suppose
A10:    i1<>x;
        I = dom A by PARTFUN1:def 2;
        then A.i1 in rng A by FUNCT_1:3;
        then A.i1 is non trivial by PENCIL_1:def 18;
        then reconsider AA=the carrier of A.i1 as non trivial set;
        f.i1 in p.i1 by A9,A10,FUNCT_7:32;
        then f.i1 in {p09.i1} by PZFMISC1:def 1;
        then f.i1 = p09.i1 by TARSKI:def 1;
        then
A11:    f.i1 is Element of (Carrier A).i1 by PBOOLE:def 14;
        AA is non empty;
        then [#](A.i1) is non empty;
        then (Carrier A).i1 is non empty by Th7;
        hence f.i in (Carrier A).i by A11;
      end;
    end;
    Segre_Product A = TopStruct(#product Carrier A, Segre_Blocks A#) by
PENCIL_1:def 23;
    hence thesis by A3,A6,A7,CARD_3:def 5;
  end;
  hence product b is Segre-Coset of A by A1,A2,PENCIL_2:def 2;
A12: dom p = I by PARTFUN1:def 2;
A13: now
    let z be object;
    assume
A14: z in I;
    then reconsider z1=z as Element of I;
    dom A = I by PARTFUN1:def 2;
    then A.z in rng A by A14,FUNCT_1:def 3;
    then A.z is non trivial 1-sorted by PENCIL_1:def 18;
    then reconsider tc = the carrier of A.z1 as non trivial set;
A15: tc is non empty;
    per cases;
    suppose
A16:  z=x;
      p09.z1 is Element of (Carrier A).z1 by PBOOLE:def 14;
      then p09.z1 is Element of [#](A.z1) by Th7;
      then p09.z1 in the carrier of A.z1 by A15;
      hence p09.z in p+*(x,C).z by A12,A16,FUNCT_7:31;
    end;
    suppose
      z<>x;
      then p+*(x,C).z = p.z by FUNCT_7:32;
      then p+*(x,C).z = {p09.z} by A14,PZFMISC1:def 1;
      hence p09.z in p+*(x,C).z by TARSKI:def 1;
    end;
  end;
  dom p09 = I & dom (p+*(x,C)) = I by PARTFUN1:def 2;
  hence thesis by A13,CARD_3:9;
end;
