
theorem Th42:
  for X1 being set, X2 being finite set st X1 c= X2 & X2 c= NAT &
  not {} in X2 holds Product Sgm X1 <= Product Sgm X2
proof
  let X1 be set;
  defpred P[Nat] means for X1 being set, X2 being finite set st X1
  c= X2 & X2 c= NAT & (not {} in X2) & card X2 = $1 holds Product Sgm X1 <=
  Product Sgm X2;
A1: for n being Nat st P[n] holds P[n+1]
  proof
    let n be Nat;
    assume
A2: P[n];
    now
      let X1 be set;
      let X2 be finite set;
      assume that
A3:   X1 c= X2 and
A4:   X2 c= NAT and
A5:   not {} in X2 and
A6:   card X2 = n+1;
      set A=X2;
      reconsider A as finite non empty real-membered set by A4,A6;
      set m = max A;
      set X11=X1 \ {m};
      set X12=X2 \ {m};
A7:   m in X2 by XXREAL_2:def 8;
      then
A8:   X12 \/ {m} = X2 by ZFMISC_1:116;
A9:   X12 /\ {m} = (X2 /\ {m}) \ {m} by XBOOLE_1:49
        .= {m} \ {m} by A7,ZFMISC_1:46
        .= {} by XBOOLE_1:37;
      card(X12\/{m})=card X12 + card {m} - card(X12 /\{m}) by CARD_2:45;
      then
A10:  card X2 = card X12 + 1 - card {} by A8,A9,CARD_1:30;
      reconsider m as Element of NAT by A4,A7;
A11:  X11 c= X12 by A3,XBOOLE_1:33;
A12:  X12 c= X2 by XBOOLE_1:36;
      then
A13:  X12 c= NAT & not {} in X12 by A4,A5;
      then
A14:  Product Sgm X11 <= Product Sgm X12 by A2,A3,A6,A10,XBOOLE_1:33;
      now
        let x be object;
        set r=x;
        assume
A15:    x in X12;
        then x in A by A12;
        then reconsider r as Element of NAT by A4;
        not r=0 by A5,A12,A15;
        then 0+1 < r+1 by XREAL_1:6;
        then
A16:    1 <= r by NAT_1:13;
        r <= m by A12,A15,XXREAL_2:def 8;
        hence x in Seg m by A16,FINSEQ_1:1;
      end;
      then X12 c= Seg m;
      then
a17:  X12 is included_in_Seg by FINSEQ_1:def 13;
A18:  not m=0 by A5,XXREAL_2:def 8;
      then 0+1 < m+1 by XREAL_1:6;
      then
A19:  1 <= m by NAT_1:13;
      then m in Seg m by FINSEQ_1:1;
      then {m} c= Seg m by ZFMISC_1:31;
      then
a20:  {m} is included_in_Seg by FINSEQ_1:def 13;
      now
        let n1,n2 be Nat;
        assume that
A21:    n1 in X12 and
A22:    n2 in {m};
        not n1 in {m} by A21,XBOOLE_0:def 5;
        then
A23:    n1<>m by TARSKI:def 1;
        n2=m & n1 <= m by A12,A21,A22,TARSKI:def 1,XXREAL_2:def 8;
        hence n1 < n2 by A23,XXREAL_0:1;
      end;
      then Product Sgm X2 = Product((Sgm X12) ^ (Sgm {m}))
      by A8,a17,a20,FINSEQ_3:42;
      then
A24:  Product Sgm X2 = (Product (Sgm X12))*(Product (Sgm {m})) by RVSUM_1:97
        .= (Product (Sgm X12))*(Product <*m*>) by A18,FINSEQ_3:44
        .= (Product (Sgm X12))*m;
A25:  1*Product (Sgm X12) <= m*Product (Sgm X12) by A19,XREAL_1:64;
      per cases;
      suppose
A26:    m in X1;
A27:    now
          let n1,n2 be Nat;
          assume that
A28:      n1 in X11 and
A29:      n2 in {m};
          not n1 in {m} by A28,XBOOLE_0:def 5;
          then
A30:      n1<>m by TARSKI:def 1;
          n1 in X12 by A11,A28;
          then
A31:      n1 <= m by A12,XXREAL_2:def 8;
          n2=m by A29,TARSKI:def 1;
          hence n1 < n2 by A30,A31,XXREAL_0:1;
        end;
        now
          let x be object;
          set r=x;
          assume x in X11;
          then
A32:      x in X1 by XBOOLE_0:def 5;
          then x in A by A3;
          then reconsider r as Element of NAT by A4;
          not r=0 by A3,A5,A32;
          then 0+1 < r+1 by XREAL_1:6;
          then
A33:      1 <= r by NAT_1:13;
          r <= m by A3,A32,XXREAL_2:def 8;
          hence x in Seg m by A33,FINSEQ_1:1;
        end;
        then X11 c= Seg m;
        then
a34:    X11 is included_in_Seg by FINSEQ_1:def 13;
        X1 = X11 \/ {m} by A26,ZFMISC_1:116;
        then Product Sgm X1 = Product((Sgm X11) ^ (Sgm {m})) by a20,a34,A27,
FINSEQ_3:42
          .= (Product (Sgm X11))*(Product (Sgm {m})) by RVSUM_1:97
          .= (Product (Sgm X11))*(Product <*m*>) by A18,FINSEQ_3:44
          .= (Product (Sgm X11))*m;
        hence Product Sgm X1 <= Product Sgm X2 by A2,A6,A11,A10,A13,A24,
XREAL_1:64;
      end;
      suppose
        not m in X1;
        then Product Sgm X1 <= Product Sgm X12 by A14,ZFMISC_1:57;
        hence Product Sgm X1 <= Product Sgm X2 by A24,A25,XXREAL_0:2;
      end;
    end;
    hence thesis;
  end;
  let X2 be finite set;
  assume
A35: X1 c= X2 & X2 c= NAT & not {} in X2;
A36: ex n being Element of NAT st card X2 = n;
A37: P[0]
  proof
    let X1 be set;
    let X2 be finite set;
    assume that
A38: X1 c= X2 and
    X2 c= NAT and
    not {} in X2 and
A39: card X2 = 0;
    X2={} by A39;
    hence thesis by A38,XBOOLE_1:3;
  end;
  for n being Nat holds P[n] from NAT_1:sch 2(A37,A1);
  hence thesis by A35,A36;
end;
