Article NUMBERS, MML version 4.99.1005

:: NUMBERS:funcnot 1 => ORDINAL1:func 5
notation
  synonym NAT for omega;
end;

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

:: NUMBERS:funcnot 3 => NUMBERS:func 1
definition
  func REAL -> set equals
    (REAL+ \/ [:{{}},REAL+:]) \ {[{},{}]};
end;

:: NUMBERS:def 1
theorem
REAL = (REAL+ \/ [:{{}},REAL+:]) \ {[{},{}]};

:: NUMBERS:funcreg 1
registration
  cluster REAL -> non empty;
end;

:: NUMBERS:funcnot 4 => NUMBERS:func 2
definition
  func COMPLEX -> set equals
    ((Funcs({{},1},REAL)) \ {b1 where b1 is Element of Funcs({{},1},REAL): b1 . 1 = {}}) \/ REAL;
end;

:: NUMBERS:def 2
theorem
COMPLEX = ((Funcs({{},1},REAL)) \ {b1 where b1 is Element of Funcs({{},1},REAL): b1 . 1 = {}}) \/ REAL;

:: NUMBERS:funcnot 5 => NUMBERS:func 3
definition
  func RAT -> set equals
    (RAT+ \/ [:{{}},RAT+:]) \ {[{},{}]};
end;

:: NUMBERS:def 3
theorem
RAT = (RAT+ \/ [:{{}},RAT+:]) \ {[{},{}]};

:: NUMBERS:funcnot 6 => NUMBERS:func 4
definition
  func INT -> set equals
    (omega \/ [:{{}},omega:]) \ {[{},{}]};
end;

:: NUMBERS:def 4
theorem
INT = (omega \/ [:{{}},omega:]) \ {[{},{}]};

:: NUMBERS:funcnot 7 => NUMBERS:func 5
definition
  redefine func NAT -> Element of bool REAL;
end;

:: NUMBERS:funcreg 2
registration
  cluster COMPLEX -> non empty;
end;

:: NUMBERS:funcreg 3
registration
  cluster RAT -> non empty;
end;

:: NUMBERS:funcreg 4
registration
  cluster INT -> non empty;
end;

:: NUMBERS:funcnot 8 => NUMBERS:func 6
definition
  redefine func 0 -> Element of NAT;
end;

:: NUMBERS:th 1
theorem
REAL c< COMPLEX;

:: NUMBERS:th 2
theorem
RAT c< REAL;

:: NUMBERS:th 3
theorem
RAT c< COMPLEX;

:: NUMBERS:th 4
theorem
INT c< RAT;

:: NUMBERS:th 5
theorem
INT c< REAL;

:: NUMBERS:th 6
theorem
INT c< COMPLEX;

:: NUMBERS:th 7
theorem
NAT c< INT;

:: NUMBERS:th 8
theorem
NAT c< RAT;

:: NUMBERS:th 9
theorem
NAT c< REAL;

:: NUMBERS:th 10
theorem
NAT c< COMPLEX;

:: NUMBERS:th 11
theorem
REAL c= COMPLEX;

:: NUMBERS:th 12
theorem
RAT c= REAL;

:: NUMBERS:th 13
theorem
RAT c= COMPLEX;

:: NUMBERS:th 14
theorem
INT c= RAT;

:: NUMBERS:th 15
theorem
INT c= REAL;

:: NUMBERS:th 16
theorem
INT c= COMPLEX;

:: NUMBERS:th 17
theorem
NAT c= INT;

:: NUMBERS:th 18
theorem
NAT c= RAT;

:: NUMBERS:th 19
theorem
NAT c= REAL;

:: NUMBERS:th 20
theorem
NAT c= COMPLEX;

:: NUMBERS:th 21
theorem
REAL <> COMPLEX;

:: NUMBERS:th 22
theorem
RAT <> REAL;

:: NUMBERS:th 23
theorem
RAT <> COMPLEX;

:: NUMBERS:th 24
theorem
INT <> RAT;

:: NUMBERS:th 25
theorem
INT <> REAL;

:: NUMBERS:th 26
theorem
INT <> COMPLEX;

:: NUMBERS:th 27
theorem
NAT <> INT;

:: NUMBERS:th 28
theorem
NAT <> RAT;

:: NUMBERS:th 29
theorem
NAT <> REAL;

:: NUMBERS:th 30
theorem
NAT <> COMPLEX;

:: NUMBERS:funcnot 9 => NUMBERS:func 7
definition
  func ExtREAL -> set equals
    REAL \/ {REAL,[0,REAL]};
end;

:: NUMBERS:def 5
theorem
ExtREAL = REAL \/ {REAL,[0,REAL]};

:: NUMBERS:funcreg 5
registration
  cluster ExtREAL -> non empty;
end;

:: NUMBERS:th 31
theorem
REAL c= ExtREAL;

:: NUMBERS:th 32
theorem
REAL <> ExtREAL;

:: NUMBERS:th 33
theorem
REAL c< ExtREAL;

:: NUMBERS:funcreg 6
registration
  cluster INT -> infinite;
end;

:: NUMBERS:funcreg 7
registration
  cluster RAT -> infinite;
end;

:: NUMBERS:funcreg 8
registration
  cluster REAL -> infinite;
end;

:: NUMBERS:funcreg 9
registration
  cluster COMPLEX -> infinite;
end;