reserve N for Cardinal;
reserve M for Aleph;
reserve X for non empty set;
reserve Y,Z,Z1,Z2,Y1,Y2,Y3,Y4 for Subset of X;
reserve S for Subset-Family of X;
reserve x for set;
reserve F,Uf for Filter of X;
reserve S for non empty Subset-Family of X;
reserve I for Ideal of X;
reserve S,S1 for Subset-Family of X;
reserve FS for non empty Subset of Filters(X);
reserve X for infinite set;
reserve Y,Y1,Y2,Z for Subset of X;
reserve F,Uf for Filter of X;
reserve x for Element of X;

theorem Th23:
  F is non principal being_ultrafilter & F is_complete_with card X
  implies F is uniform
proof
  defpred P[object,object] means
    ex A being set st A = $2 & not $1 in A & $2 in F;
  assume
A1: F is non principal being_ultrafilter;
A2: for x being object st x in X ex Z being object st Z in F & P[x,Z]
  proof
    let x be object;
    assume x in X;
    then
A3: { x } is Subset of X by SUBSET_1:33;
    assume
A4: for Z being object st Z in F holds not P[x,Z];
    not X \ { x } in F
    proof
      assume X \ { x } in F;
      then x in X \ { x } by A4;
      then not x in { x } by XBOOLE_0:def 5;
      hence contradiction by TARSKI:def 1;
    end;
    then
A5: {x} in F by A1,A3;
    for Z st Z in F holds { x } c= Z by A4,ZFMISC_1:31;
    hence contradiction by A1,A5;
  end;
  consider h being Function such that
A6: dom h = X and
  rng h c= F and
A7: for x being object st x in X holds P[x,h.x] from FUNCT_1:sch 6(A2);
  assume
A8: F is_complete_with card X;
  assume not F is uniform;
  then consider Y such that
A9: Y in F and
A10: not card Y = card X;
A11: {h.x : x in Y} c= F
  proof
    let y be object;
    assume y in {h.x : x in Y};
    then consider x such that
A12:   y = h.x & x in Y;
    P[x,h.x] by A7;
    then ex B being set st B = h.x & not x in B & h.x in F;
   hence thesis by A12;
  end;
  for y being object holds not y in (Y /\ meet {h.x : x in Y})
  proof
    let y be object such that
A13: y in (Y /\ meet {h.x : x in Y});
    y in Y by A13,XBOOLE_0:def 4;
    then
A14: h.y in {h.x : x in Y};
    now assume
A15:    y in h.y;
      P[y,h.y] by A7,A13;
      then consider A being set such that
A16:     A = h.y & not y in A & h.y in F;
       not y in h.y & h.y in F by A16;
     hence contradiction by A15;
    end;
    then not y in meet {h.x : x in Y} by A14,SETFAM_1:def 1;
    hence contradiction by A13,XBOOLE_0:def 4;
  end;
  then
A17: Y /\ meet {h.x : x in Y} = {} by XBOOLE_0:def 1;
A18: Y is non empty by A9,Def1;
A19: {h.x : x in Y} is non empty
  proof
    set y = the Element of Y;
    y in Y by A18;
    then h.y in {h.x : x in Y};
    hence thesis;
  end;
  {h.x : x in Y} c= h.:Y
  proof
    let y be object;
    assume y in {h.x : x in Y};
    then ex x st y = h.x & x in Y;
    hence thesis by A6,FUNCT_1:def 6;
  end;
  then
A20: card {h.x : x in Y} c= card Y by CARD_1:66;
  card Y c= card X by CARD_1:11;
  then card Y in card X by A10,CARD_1:3;
  then card {h.x : x in Y} in card X by A20,ORDINAL1:12;
  then meet {h.x : x in Y} in F by A8,A11,A19;
  then {} in F by A9,A17,Def1;
  hence contradiction by Def1;
end;
