Article CARD_1, MML version 4.99.1005

:: CARD_1:funcnot 1 => XBOOLE_0:func 1
notation
  synonym 0 for {};
end;

:: CARD_1:attrnot 1 => CARD_1:attr 1
definition
  let a1 be set;
  attr a1 is cardinal means
    ex b1 being ordinal set st
       a1 = b1 &
        (for b2 being ordinal set
              st b2,b1 are_equipotent
           holds b1 c= b2);
end;

:: CARD_1:dfs 1
definiens
  let a1 be set;
To prove
     a1 is cardinal
it is sufficient to prove
  thus ex b1 being ordinal set st
       a1 = b1 &
        (for b2 being ordinal set
              st b2,b1 are_equipotent
           holds b1 c= b2);

:: CARD_1:def 1
theorem
for b1 being set holds
      b1 is cardinal
   iff
      ex b2 being ordinal set st
         b1 = b2 &
          (for b3 being ordinal set
                st b3,b2 are_equipotent
             holds b2 c= b3);

:: CARD_1:exreg 1
registration
  cluster cardinal set;
end;

:: CARD_1:modenot 1
definition
  mode Cardinal is cardinal set;
end;

:: CARD_1:condreg 1
registration
  cluster cardinal -> ordinal (set);
end;

:: CARD_1:th 4
theorem
for b1 being set holds
   ex b2 being ordinal set st
      b1,b2 are_equipotent;

:: CARD_1:prednot 1 => TARSKI:pred 1
notation
  let a1, a2 be cardinal set;
  synonym a1 <=` a2 for a1 c= a2;
end;

:: CARD_1:prednot 2 => HIDDEN:pred 2
notation
  let a1, a2 be cardinal set;
  synonym a1 <` a2 for a1 in a2;
end;

:: CARD_1:th 8
theorem
for b1, b2 being cardinal set holds
   b1 = b2
iff
   b1,b2 are_equipotent;

:: CARD_1:th 13
theorem
for b1, b2 being cardinal set holds
   b1 in b2
iff
   b1 c= b2 & b1 <> b2;

:: CARD_1:th 14
theorem
for b1, b2 being cardinal set holds
   b1 in b2
iff
   not b2 c= b1;

:: CARD_1:funcnot 2 => CARD_1:func 1
definition
  let a1 be set;
  func Card A1 -> cardinal set means
    a1,it are_equipotent;
  projectivity;
::  for a1 being set holds
::     Card Card a1 = Card a1;
end;

:: CARD_1:def 5
theorem
for b1 being set
for b2 being cardinal set holds
      b2 = Card b1
   iff
      b1,b2 are_equipotent;

:: CARD_1:funcreg 1
registration
  cluster {} -> cardinal;
end;

:: CARD_1:funcreg 2
registration
  let a1 be empty set;
  cluster Card a1 -> empty cardinal;
end;

:: CARD_1:funcreg 3
registration
  let a1 be non empty set;
  cluster Card a1 -> non empty cardinal;
end;

:: CARD_1:th 21
theorem
for b1, b2 being set holds
   b1,b2 are_equipotent
iff
   Card b1 = Card b2;

:: CARD_1:th 22
theorem
for b1 being Relation-like set
      st b1 is well-ordering
   holds field b1,order_type_of b1 are_equipotent;

:: CARD_1:th 23
theorem
for b1 being set
for b2 being cardinal set
      st b1 c= b2
   holds Card b1 c= b2;

:: CARD_1:th 24
theorem
for b1 being ordinal set holds
   Card b1 c= b1;

:: CARD_1:th 25
theorem
for b1 being set
for b2 being cardinal set
      st b1 in b2
   holds Card b1 in b2;

:: CARD_1:th 26
theorem
for b1, b2 being set holds
   Card b1 c= Card b2
iff
   ex b3 being Relation-like Function-like set st
      b3 is one-to-one & proj1 b3 = b1 & proj2 b3 c= b2;

:: CARD_1:th 27
theorem
for b1, b2 being set
      st b1 c= b2
   holds Card b1 c= Card b2;

:: CARD_1:th 28
theorem
for b1, b2 being set holds
   Card b1 c= Card b2
iff
   ex b3 being Relation-like Function-like set st
      proj1 b3 = b2 & b1 c= proj2 b3;

:: CARD_1:th 29
theorem
for b1 being set holds
   not b1,bool b1 are_equipotent;

:: CARD_1:th 30
theorem
for b1 being set holds
   Card b1 in Card bool b1;

:: CARD_1:funcnot 3 => CARD_1:func 2
definition
  let a1 be set;
  func nextcard A1 -> cardinal set means
    Card a1 in it &
     (for b1 being cardinal set
           st Card a1 in b1
        holds it c= b1);
end;

:: CARD_1:def 6
theorem
for b1 being set
for b2 being cardinal set holds
      b2 = nextcard b1
   iff
      Card b1 in b2 &
       (for b3 being cardinal set
             st Card b1 in b3
          holds b2 c= b3);

:: CARD_1:th 32
theorem
for b1 being cardinal set holds
   b1 in nextcard b1;

:: CARD_1:th 33
theorem
for b1 being set holds
   Card {} in nextcard b1;

:: CARD_1:th 34
theorem
for b1, b2 being set
      st Card b1 = Card b2
   holds nextcard b1 = nextcard b2;

:: CARD_1:th 35
theorem
for b1, b2 being set
      st b1,b2 are_equipotent
   holds nextcard b1 = nextcard b2;

:: CARD_1:th 36
theorem
for b1 being ordinal set holds
   b1 in nextcard b1;

:: CARD_1:attrnot 2 => CARD_1:attr 2
definition
  let a1 be cardinal set;
  attr a1 is limit means
    for b1 being cardinal set holds
       a1 <> nextcard b1;
end;

:: CARD_1:dfs 4
definiens
  let a1 be cardinal set;
To prove
     a1 is limit
it is sufficient to prove
  thus for b1 being cardinal set holds
       a1 <> nextcard b1;

:: CARD_1:def 7
theorem
for b1 being cardinal set holds
      b1 is limit
   iff
      for b2 being cardinal set holds
         b1 <> nextcard b2;

:: CARD_1:prednot 3 => CARD_1:attr 2
notation
  let a1 be cardinal set;
  synonym a1 is_limit_cardinal for limit;
end;

:: CARD_1:funcnot 4 => CARD_1:func 3
definition
  let a1 be ordinal set;
  func alef A1 -> set means
    ex b1 being Relation-like Function-like T-Sequence-like set st
       it = last b1 &
        proj1 b1 = succ a1 &
        b1 . {} = Card omega &
        (for b2 being ordinal set
              st succ b2 in succ a1
           holds b1 . succ b2 = nextcard union {b1 . b2}) &
        (for b2 being ordinal set
              st b2 in succ a1 & b2 <> {} & b2 is being_limit_ordinal
           holds b1 . b2 = Card sup (b1 | b2));
end;

:: CARD_1:def 8
theorem
for b1 being ordinal set
for b2 being set holds
      b2 = alef b1
   iff
      ex b3 being Relation-like Function-like T-Sequence-like set st
         b2 = last b3 &
          proj1 b3 = succ b1 &
          b3 . {} = Card omega &
          (for b4 being ordinal set
                st succ b4 in succ b1
             holds b3 . succ b4 = nextcard union {b3 . b4}) &
          (for b4 being ordinal set
                st b4 in succ b1 & b4 <> {} & b4 is being_limit_ordinal
             holds b3 . b4 = Card sup (b3 | b4));

:: CARD_1:funcreg 4
registration
  let a1 be ordinal set;
  cluster alef a1 -> cardinal;
end;

:: CARD_1:th 38
theorem
alef {} = Card omega;

:: CARD_1:th 39
theorem
for b1 being ordinal set holds
   alef succ b1 = nextcard alef b1;

:: CARD_1:th 40
theorem
for b1 being ordinal set
   st b1 <> {} & b1 is being_limit_ordinal
for b2 being Relation-like Function-like T-Sequence-like set
      st proj1 b2 = b1 &
         (for b3 being ordinal set
               st b3 in b1
            holds b2 . b3 = alef b3)
   holds alef b1 = Card sup b2;

:: CARD_1:th 41
theorem
for b1, b2 being ordinal set holds
   b1 in b2
iff
   alef b1 in alef b2;

:: CARD_1:th 42
theorem
for b1, b2 being ordinal set
      st alef b1 = alef b2
   holds b1 = b2;

:: CARD_1:th 43
theorem
for b1, b2 being ordinal set holds
   b1 c= b2
iff
   alef b1 c= alef b2;

:: CARD_1:th 44
theorem
for b1, b2, b3 being set
      st b1 c= b2 & b2 c= b3 & b1,b3 are_equipotent
   holds b1,b2 are_equipotent & b2,b3 are_equipotent;

:: CARD_1:th 45
theorem
for b1, b2 being set
      st bool b1 c= b2
   holds Card b1 in Card b2 & not b1,b2 are_equipotent;

:: CARD_1:th 46
theorem
for b1 being set
      st b1,{} are_equipotent
   holds b1 = {};

:: CARD_1:th 47
theorem
Card {} = {};

:: CARD_1:th 48
theorem
for b1, b2 being set holds
   b1,{b2} are_equipotent
iff
   ex b3 being set st
      b1 = {b3};

:: CARD_1:th 49
theorem
for b1, b2 being set holds
   Card b1 = Card {b2}
iff
   ex b3 being set st
      b1 = {b3};

:: CARD_1:th 50
theorem
for b1 being set holds
   Card {b1} = 1;

:: CARD_1:th 58
theorem
for b1, b2, b3, b4 being set
      st b1 misses b2 & b3 misses b4 & b1,b3 are_equipotent & b2,b4 are_equipotent
   holds b1 \/ b2,b3 \/ b4 are_equipotent;

:: CARD_1:th 59
theorem
for b1, b2, b3 being set
      st b1 in b2 & b3 in b2
   holds b2 \ {b1},b2 \ {b3} are_equipotent;

:: CARD_1:th 60
theorem
for b1 being set
for b2 being Relation-like Function-like set
      st b1 c= proj1 b2 & b2 is one-to-one
   holds b1,b2 .: b1 are_equipotent;

:: CARD_1:th 61
theorem
for b1, b2, b3, b4 being set
      st b1,b2 are_equipotent & b3 in b1 & b4 in b2
   holds b1 \ {b3},b2 \ {b4} are_equipotent;

:: CARD_1:th 62
theorem
for b1, b2 being set
      st succ b1,succ b2 are_equipotent
   holds b1,b2 are_equipotent;

:: CARD_1:th 63
theorem
for b1 being natural set
      st b1 <> {}
   holds ex b2 being natural set st
      b1 = succ b2;

:: CARD_1:th 64
theorem
for b1, b2 being natural set
      st b1,b2 are_equipotent
   holds b1 = b2;

:: CARD_1:th 65
theorem
for b1 being set
      st b1 in omega
   holds b1 is cardinal;

:: CARD_1:condreg 2
registration
  cluster natural -> cardinal (set);
end;

:: CARD_1:th 66
theorem
for b1 being natural set holds
   b1 = Card b1;

:: CARD_1:th 68
theorem
for b1, b2 being set
      st b1,b2 are_equipotent & b1 is finite
   holds b2 is finite;

:: CARD_1:th 69
theorem
for b1 being natural set holds
   b1 is finite & Card b1 is finite;

:: CARD_1:th 71
theorem
for b1, b2 being natural set
      st Card b1 = Card b2
   holds b1 = b2;

:: CARD_1:th 72
theorem
for b1, b2 being natural set holds
   Card b1 c= Card b2
iff
   b1 c= b2;

:: CARD_1:th 73
theorem
for b1, b2 being natural set holds
   Card b1 in Card b2
iff
   b1 in b2;

:: CARD_1:th 74
theorem
for b1 being set
      st b1 is finite
   holds ex b2 being natural set st
      b1,b2 are_equipotent;

:: CARD_1:th 76
theorem
for b1 being natural set holds
   nextcard Card b1 = Card succ b1;

:: CARD_1:funcnot 5 => CARD_1:func 4
definition
  let a1 be natural set;
  redefine func succ a1 -> Element of omega;
end;

:: CARD_1:funcnot 6 => CARD_1:func 1
notation
  let a1 be finite set;
  synonym card a1 for Card a1;
end;

:: CARD_1:funcnot 7 => CARD_1:func 5
definition
  let a1 be finite set;
  redefine func card a1 -> Element of omega;
  projectivity;
::  for a1 being finite set holds
::     card card a1 = card a1;
end;

:: CARD_1:th 78
theorem
card {} = {};

:: CARD_1:th 79
theorem
for b1 being set holds
   card {b1} = 1;

:: CARD_1:th 81
theorem
for b1, b2 being finite set
      st b1,b2 are_equipotent
   holds card b1 = card b2;

:: CARD_1:th 82
theorem
for b1 being set
      st b1 is finite
   holds nextcard b1 is finite;

:: CARD_1:sch 1
scheme CARD_1:sch 1
for b1 being cardinal set holds
   P1[b1]
provided
   P1[{}]
and
   for b1 being cardinal set
         st P1[b1]
      holds P1[nextcard b1]
and
   for b1 being cardinal set
         st b1 <> {} &
            b1 is limit &
            (for b2 being cardinal set
                  st b2 in b1
               holds P1[b2])
      holds P1[b1];


:: CARD_1:sch 2
scheme CARD_1:sch 2
for b1 being cardinal set holds
   P1[b1]
provided
   for b1 being cardinal set
         st for b2 being cardinal set
                 st b2 in b1
              holds P1[b2]
      holds P1[b1];


:: CARD_1:th 83
theorem
alef {} = omega;

:: CARD_1:th 84
theorem
Card omega = omega;

:: CARD_1:th 85
theorem
Card omega is limit;

:: CARD_1:condreg 3
registration
  cluster -> finite (Element of omega);
end;

:: CARD_1:exreg 2
registration
  cluster epsilon-transitive epsilon-connected ordinal finite cardinal set;
end;

:: CARD_1:th 86
theorem
for b1 being finite cardinal set holds
   ex b2 being natural set st
      b1 = Card b2;

:: CARD_1:funcreg 5
registration
  let a1 be finite set;
  cluster Card a1 -> finite cardinal;
end;

:: CARD_1:th 87
theorem
1 = {{}};

:: CARD_1:th 88
theorem
2 = {{},1};

:: CARD_1:th 89
theorem
3 = {{},1,2};

:: CARD_1:th 90
theorem
4 = {{},1,2,3};

:: CARD_1:th 91
theorem
5 = {{},1,2,3,4};

:: CARD_1:th 92
theorem
6 = {{},1,2,3,4,5};

:: CARD_1:th 93
theorem
7 = {{},1,2,3,4,5,6};

:: CARD_1:th 94
theorem
8 = {{},1,2,3,4,5,6,7};

:: CARD_1:th 95
theorem
9 = {{},1,2,3,4,5,6,7,8};

:: CARD_1:th 96
theorem
10 = {{},1,2,3,4,5,6,7,8,9};

:: CARD_1:th 97
theorem
for b1 being Relation-like Function-like set
      st proj1 b1 is infinite & b1 is one-to-one
   holds proj2 b1 is infinite;

:: CARD_1:funcnot 8 => CARD_1:func 6
definition
  let a1 be natural set;
  func Segm A1 -> set equals
    a1;
end;

:: CARD_1:def 12
theorem
for b1 being natural set holds
   Segm b1 = b1;

:: CARD_1:funcnot 9 => CARD_1:func 7
definition
  let a1 be natural set;
  redefine func Segm a1 -> Element of bool omega;
end;

:: CARD_1:th 102
theorem
for b1 being ordinal set
for b2 being natural set
      st b1,b2 are_equipotent
   holds b1 = b2;

:: CARD_1:th 103
theorem
for b1 being ordinal set holds
      b1 is finite
   iff
      b1 in omega;

:: CARD_1:condreg 4
registration
  cluster natural -> finite (set);
end;

:: CARD_1:condreg 5
registration
  cluster natural -> cardinal (set);
end;

:: CARD_1:funcreg 6
registration
  cluster omega -> infinite;
end;

:: CARD_1:exreg 3
registration
  cluster infinite set;
end;

:: CARD_1:funcreg 7
registration
  let a1 be infinite set;
  cluster bool a1 -> infinite;
end;

:: CARD_1:funcreg 8
registration
  let a1 be infinite set;
  let a2 be non empty set;
  cluster [:a1,a2:] -> infinite;
end;

:: CARD_1:funcreg 9
registration
  let a1 be infinite set;
  let a2 be non empty set;
  cluster [:a2,a1:] -> infinite;
end;

:: CARD_1:exreg 4
registration
  let a1 be infinite set;
  cluster infinite Element of bool a1;
end;