Article CARD_2, MML version 4.99.1005

:: CARD_2:th 2
theorem
for b1, b2 being set holds
   Card b1 c= Card b2
iff
   ex b3 being Relation-like Function-like set st
      b1 c= b3 .: b2;

:: CARD_2:th 3
theorem
for b1 being set
for b2 being Relation-like Function-like set holds
   Card (b2 .: b1) c= Card b1;

:: CARD_2:th 4
theorem
for b1, b2 being set
      st Card b1 in Card b2
   holds b2 \ b1 <> {};

:: CARD_2:th 5
theorem
for b1, b2, b3 being set
      st b1 in b2 & b2,b3 are_equipotent
   holds b3 <> {} &
    (ex b4 being set st
       b4 in b3);

:: CARD_2:th 6
theorem
for b1 being set holds
   bool b1,bool Card b1 are_equipotent &
    Card bool b1 = Card bool Card b1;

:: CARD_2:th 7
theorem
for b1, b2, b3 being set
      st b1 in Funcs(b2,b3)
   holds b1,b2 are_equipotent & Card b1 = Card b2;

:: CARD_2:funcnot 1 => CARD_2:func 1
definition
  let a1, a2 be cardinal set;
  func A1 +` A2 -> cardinal set equals
    Card (a1 +^ a2);
  commutativity;
::  for a1, a2 being cardinal set holds
::  a1 +` a2 = a2 +` a1;
end;

:: CARD_2:def 1
theorem
for b1, b2 being cardinal set holds
b1 +` b2 = Card (b1 +^ b2);

:: CARD_2:funcnot 2 => CARD_2:func 2
definition
  let a1, a2 be cardinal set;
  func A1 *` A2 -> cardinal set equals
    Card [:a1,a2:];
  commutativity;
::  for a1, a2 being cardinal set holds
::  a1 *` a2 = a2 *` a1;
end;

:: CARD_2:def 2
theorem
for b1, b2 being cardinal set holds
b1 *` b2 = Card [:b1,b2:];

:: CARD_2:funcnot 3 => CARD_2:func 3
definition
  let a1, a2 be cardinal set;
  func exp(A1,A2) -> cardinal set equals
    Card Funcs(a2,a1);
end;

:: CARD_2:def 3
theorem
for b1, b2 being cardinal set holds
exp(b1,b2) = Card Funcs(b2,b1);

:: CARD_2:th 11
theorem
for b1, b2 being set holds
[:b1,b2:],[:b2,b1:] are_equipotent &
 Card [:b1,b2:] = Card [:b2,b1:];

:: CARD_2:th 12
theorem
for b1, b2, b3 being set holds
[:[:b1,b2:],b3:],[:b1,[:b2,b3:]:] are_equipotent &
 Card [:[:b1,b2:],b3:] = Card [:b1,[:b2,b3:]:];

:: CARD_2:th 13
theorem
for b1, b2 being set holds
b1,[:b1,{b2}:] are_equipotent &
 Card b1 = Card [:b1,{b2}:];

:: CARD_2:th 14
theorem
for b1, b2 being set holds
[:b1,b2:],[:Card b1,b2:] are_equipotent &
 [:b1,b2:],[:b1,Card b2:] are_equipotent &
 [:b1,b2:],[:Card b1,Card b2:] are_equipotent &
 Card [:b1,b2:] = Card [:Card b1,b2:] &
 Card [:b1,b2:] = Card [:b1,Card b2:] &
 Card [:b1,b2:] = Card [:Card b1,Card b2:];

:: CARD_2:th 15
theorem
for b1, b2, b3, b4 being set
      st b1,b2 are_equipotent & b3,b4 are_equipotent
   holds [:b1,b3:],[:b2,b4:] are_equipotent &
    Card [:b1,b3:] = Card [:b2,b4:];

:: CARD_2:th 16
theorem
for b1, b2 being ordinal set
for b3, b4 being set
      st b3 <> b4
   holds b1 +^ b2,[:b1,{b3}:] \/ [:b2,{b4}:] are_equipotent &
    Card (b1 +^ b2) = Card ([:b1,{b3}:] \/ [:b2,{b4}:]);

:: CARD_2:th 17
theorem
for b1, b2 being cardinal set
for b3, b4 being set
      st b3 <> b4
   holds b1 +` b2,[:b1,{b3}:] \/ [:b2,{b4}:] are_equipotent &
    b1 +` b2 = Card ([:b1,{b3}:] \/ [:b2,{b4}:]);

:: CARD_2:th 18
theorem
for b1, b2 being ordinal set holds
b1 *^ b2,[:b1,b2:] are_equipotent &
 Card (b1 *^ b2) = Card [:b1,b2:];

:: CARD_2:th 19
theorem
0 = Card {} & 1 = Card 1 & 2 = Card succ 1;

:: CARD_2:th 22
theorem
2 = {{},1} & 2 = succ 1;

:: CARD_2:th 23
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
      st b1,b2 are_equipotent & b3,b4 are_equipotent & b5 <> b6 & b7 <> b8
   holds [:b1,{b5}:] \/ [:b3,{b6}:],[:b2,{b7}:] \/ [:b4,{b8}:] are_equipotent &
    Card ([:b1,{b5}:] \/ [:b3,{b6}:]) = Card ([:b2,{b7}:] \/ [:b4,{b8}:]);

:: CARD_2:th 24
theorem
for b1, b2 being ordinal set holds
Card (b1 +^ b2) = (Card b1) +` Card b2;

:: CARD_2:th 25
theorem
for b1, b2 being ordinal set holds
Card (b1 *^ b2) = (Card b1) *` Card b2;

:: CARD_2:th 26
theorem
for b1, b2 being set holds
[:b1,{0}:] \/ [:b2,{1}:],[:b2,{0}:] \/ [:b1,{1}:] are_equipotent &
 Card ([:b1,{0}:] \/ [:b2,{1}:]) = Card ([:b2,{0}:] \/ [:b1,{1}:]);

:: CARD_2:th 27
theorem
for b1, b2, b3, b4 being set holds
[:b1,b2:] \/ [:b3,b4:],[:b2,b1:] \/ [:b4,b3:] are_equipotent &
 Card ([:b1,b2:] \/ [:b3,b4:]) = Card ([:b2,b1:] \/ [:b4,b3:]);

:: CARD_2:th 28
theorem
for b1, b2, b3, b4 being set
      st b1 <> b2
   holds (Card b3) +` Card b4 = Card ([:b3,{b1}:] \/ [:b4,{b2}:]);

:: CARD_2:th 29
theorem
for b1 being cardinal set holds
   b1 +` 0 = b1;

:: CARD_2:th 31
theorem
for b1, b2, b3 being cardinal set holds
(b1 +` b2) +` b3 = b1 +` (b2 +` b3);

:: CARD_2:th 32
theorem
for b1 being cardinal set holds
   b1 *` 0 = 0;

:: CARD_2:th 33
theorem
for b1 being cardinal set holds
   b1 *` 1 = b1;

:: CARD_2:th 35
theorem
for b1, b2, b3 being cardinal set holds
(b1 *` b2) *` b3 = b1 *` (b2 *` b3);

:: CARD_2:th 36
theorem
for b1 being cardinal set holds
   2 *` b1 = b1 +` b1;

:: CARD_2:th 37
theorem
for b1, b2, b3 being cardinal set holds
b1 *` (b2 +` b3) = (b1 *` b2) +` (b1 *` b3);

:: CARD_2:th 38
theorem
for b1 being cardinal set holds
   exp(b1,0) = 1;

:: CARD_2:th 39
theorem
for b1 being cardinal set
      st b1 <> 0
   holds exp(0,b1) = 0;

:: CARD_2:th 40
theorem
for b1 being cardinal set holds
   exp(b1,1) = b1 & exp(1,b1) = 1;

:: CARD_2:th 41
theorem
for b1, b2, b3 being cardinal set holds
exp(b1,b2 +` b3) = (exp(b1,b2)) *` exp(b1,b3);

:: CARD_2:th 42
theorem
for b1, b2, b3 being cardinal set holds
exp(b1 *` b2,b3) = (exp(b1,b3)) *` exp(b2,b3);

:: CARD_2:th 43
theorem
for b1, b2, b3 being cardinal set holds
exp(b1,b2 *` b3) = exp(exp(b1,b2),b3);

:: CARD_2:th 44
theorem
for b1 being set holds
   exp(2,Card b1) = Card bool b1;

:: CARD_2:th 45
theorem
for b1 being cardinal set holds
   exp(b1,2) = b1 *` b1;

:: CARD_2:th 46
theorem
for b1, b2 being cardinal set holds
exp(b1 +` b2,2) = ((b1 *` b1) +` ((2 *` b1) *` b2)) +` (b2 *` b2);

:: CARD_2:th 47
theorem
for b1, b2 being set holds
Card (b1 \/ b2) c= (Card b1) +` Card b2;

:: CARD_2:th 48
theorem
for b1, b2 being set
      st b1 misses b2
   holds Card (b1 \/ b2) = (Card b1) +` Card b2;

:: CARD_2:th 49
theorem
for b1, b2 being Element of NAT holds
b1 + b2 = b1 +^ b2;

:: CARD_2:th 50
theorem
for b1, b2 being Element of NAT holds
b1 * b2 = b1 *^ b2;

:: CARD_2:th 51
theorem
for b1, b2 being Element of NAT holds
Card (b1 + b2) = (Card b1) +` Card b2;

:: CARD_2:th 52
theorem
for b1, b2 being Element of NAT holds
Card (b1 * b2) = (Card b1) *` Card b2;

:: CARD_2:th 53
theorem
for b1, b2 being finite set
      st b1 misses b2
   holds card (b1 \/ b2) = (card b1) + card b2;

:: CARD_2:th 54
theorem
for b1 being set
for b2 being finite set
      st not b1 in b2
   holds card (b2 \/ {b1}) = (card b2) + 1;

:: CARD_2:th 57
theorem
for b1, b2 being finite set holds
   Card b1 c= Card b2
iff
   card b1 <= card b2;

:: CARD_2:th 58
theorem
for b1, b2 being finite set holds
   Card b1 in Card b2
iff
   card b1 < card b2;

:: CARD_2:th 59
theorem
for b1 being set
      st Card b1 = 0
   holds b1 = {};

:: CARD_2:th 60
theorem
for b1 being set holds
      Card b1 = 1
   iff
      ex b2 being set st
         b1 = {b2};

:: CARD_2:th 62
theorem
for b1, b2 being finite set holds
card (b1 \/ b2) <= (card b1) + card b2;

:: CARD_2:th 63
theorem
for b1, b2 being finite set
      st b2 c= b1
   holds card (b1 \ b2) = (card b1) - card b2;

:: CARD_2:th 64
theorem
for b1, b2 being finite set holds
card (b1 \/ b2) = ((card b1) + card b2) - card (b1 /\ b2);

:: CARD_2:th 65
theorem
for b1, b2 being finite set holds
card [:b1,b2:] = (card b1) * card b2;

:: CARD_2:th 66
theorem
for b1 being Relation-like Function-like finite set holds
   card proj2 b1 <= card proj1 b1;

:: CARD_2:th 67
theorem
for b1, b2 being finite set
      st b1 c< b2
   holds card b1 < card b2 & Card b1 in Card b2;

:: CARD_2:th 68
theorem
for b1, b2 being set
      st (Card b1 c= Card b2 or Card b1 in Card b2) &
         b2 is finite
   holds b1 is finite;

:: CARD_2:th 69
theorem
for b1, b2 being set holds
card {b1,b2} <= 2;

:: CARD_2:th 70
theorem
for b1, b2, b3 being set holds
card {b1,b2,b3} <= 3;

:: CARD_2:th 71
theorem
for b1, b2, b3, b4 being set holds
card {b1,b2,b3,b4} <= 4;

:: CARD_2:th 72
theorem
for b1, b2, b3, b4, b5 being set holds
card {b1,b2,b3,b4,b5} <= 5;

:: CARD_2:th 73
theorem
for b1, b2, b3, b4, b5, b6 being set holds
card {b1,b2,b3,b4,b5,b6} <= 6;

:: CARD_2:th 74
theorem
for b1, b2, b3, b4, b5, b6, b7 being set holds
card {b1,b2,b3,b4,b5,b6,b7} <= 7;

:: CARD_2:th 75
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set holds
card {b1,b2,b3,b4,b5,b6,b7,b8} <= 8;

:: CARD_2:th 76
theorem
for b1, b2 being set
      st b1 <> b2
   holds card {b1,b2} = 2;

:: CARD_2:th 77
theorem
for b1, b2, b3 being set
      st b1 <> b2 & b1 <> b3 & b2 <> b3
   holds card {b1,b2,b3} = 3;

:: CARD_2:th 78
theorem
for b1, b2, b3, b4 being set
      st b1 <> b2 & b1 <> b3 & b1 <> b4 & b2 <> b3 & b2 <> b4 & b3 <> b4
   holds card {b1,b2,b3,b4} = 4;

:: CARD_2:th 79
theorem
for b1 being finite set
      st card b1 = 2
   holds ex b2, b3 being set st
      b2 <> b3 & b1 = {b2,b3};

:: CARD_2:th 80
theorem
for b1 being Relation-like Function-like set holds
   Card proj2 b1 c= Card proj1 b1;

:: CARD_2:th 81
theorem
for b1 being set
      st b1 <> {} &
         b1 is finite &
         (for b2, b3 being set
               st b2 in b1 & b3 in b1 & not b2 c= b3
            holds b3 c= b2)
   holds union b1 in b1;

:: CARD_2:th 82
theorem
for b1, b2, b3, b4, b5 being set
      st b1,b2,b3,b4,b5 are_mutually_different
   holds card {b1,b2,b3,b4,b5} = 5;

:: CARD_2:th 83
theorem
for b1, b2 being set
      st Card b1 = 0 & Card b2 = 0
   holds b1 = b2;