reserve X1,X2,X3,X4 for set;
reserve n for non zero Nat;
reserve X for non-empty n-element FinSequence;

theorem Thm20:
  for S being SemiringFamily of X holds
    SemiringProduct(S) is Subset-Family of product X
  proof
    let S be SemiringFamily of X;
    reconsider SPS=SemiringProduct(S) as Subset of
    bool Funcs(dom S,union Union S) by Thm19;
    SPS c= bool product X
    proof
      let x be object;
      assume
A1:   x in SPS;
      reconsider x1=x as set by TARSKI:1;
      x1 c= product X
      proof
        let t be object;
        assume
A2:     t in x1;
        consider g be Function such that
A3:     x1 = product g and
A4:     g in product S by A1,Def3;
A5:     dom g = dom S by A4,CARD_3:9;
        consider u be Function such that
A7:     t=u and
A8:     dom u = dom g and
A9:     for v be object st v in dom g holds u.v in g.v by A2,A3,CARD_3:def 5;
        consider w be Function such that
A10:    g=w and
        dom w = dom S and
A12:    for y be object st y in dom S holds w.y in S.y by A4,CARD_3:def 5;
A12a:   dom S = dom X by Thm16;
        now
          let a be object;
          assume
A13:      a in dom X;
A15:      a in Seg n by A13,FINSEQ_1:89;
          reconsider a1=a as Nat by A13;
          u.a in g.a & g.a in S.a by A13,A12a,A10,A12,A9,A5;
          then
A16:      u.a in union (S.a) & a in Seg n by A13,FINSEQ_1:89,TARSKI:def 4;
          union (S.a) c= X.a by A15,Thm17;
          hence u.a in X.a by A16;
        end;
        hence t in product X by A12a,A5,A8,A7,CARD_3:def 5;
      end;
      hence x in bool product X;
    end;
    hence thesis;
  end;
