
theorem Th29:
  for n being Nat holds the carrier of product(n --> OrderedNAT) = Bags n
proof
  let n be Nat;
  set X = the carrier of product(n-->OrderedNAT);
A1: X = product Carrier(n-->OrderedNAT) by YELLOW_1:def 4;
  now
    let x be object;
    hereby
      assume x in X;
      then consider g being Function such that
A2:   x = g and
A3:   dom g = dom Carrier(n-->OrderedNAT) and
A4:   for i being object st i in dom Carrier(n-->OrderedNAT)
      holds g.i in Carrier(n-->OrderedNAT).i by A1,CARD_3:def 5;
A5:   dom g = n by A3,PARTFUN1:def 2;
A6:   rng g c= NAT
      proof
        let z be object;
        assume z in rng g;
        then consider y being object such that
A7:     y in dom g and
A8:     z = g.y by FUNCT_1:def 3;
A9:     z in Carrier(n-->OrderedNAT).y by A3,A4,A7,A8;
        ex R being 1-sorted st ( R = (n-->OrderedNAT).y)&( Carrier(
        n-->OrderedNAT).y = the carrier of R) by A5,A7,PRALG_1:def 15;
        hence thesis by A5,A7,A9,DICKSON:def 15,FUNCOP_1:7;
      end;
A10:  dom g = dom Carrier(n-->OrderedNAT) by A3
        .= n by PARTFUN1:def 2;
A11:  g is natural-valued by A6,VALUED_0:def 6;
      g is ManySortedSet of n by A10,PARTFUN1:def 2,RELAT_1:def 18;
      hence x in Bags n by A2,A11,PRE_POLY:def 12;
    end;
    assume x in Bags n;
    then reconsider g = x as natural-valued finite-support ManySortedSet
    of n;
A12: dom g = n by PARTFUN1:def 2;
    now
      take g;
      thus x = g;
      thus dom g = dom Carrier(n-->OrderedNAT) by A12,PARTFUN1:def 2;
      let i be object;
      assume i in dom (Carrier(n-->OrderedNAT));
      then
A13:  i in n;
      reconsider ii=i as set by TARSKI:1;
      consider R being 1-sorted such that
A14:  R = (n-->OrderedNAT).ii and
A15:  Carrier(n-->OrderedNAT).ii = the carrier of R by PRALG_1:def 15,A13;
      R = OrderedNAT by A13,A14,FUNCOP_1:7
       .= RelStr(# NAT, NATOrd #) by DICKSON:def 15;
       then g.ii in Carrier(n-->OrderedNAT).ii by A15;
      hence g.i in Carrier(n-->OrderedNAT).i;
    end;
    then x in product Carrier(n-->OrderedNAT) by CARD_3:def 5;
    hence x in X by YELLOW_1:def 4;
  end;
  hence thesis by TARSKI:2;
end;
