src/HOL/Real/Lubs.thy
author nipkow
Thu, 12 Oct 2000 18:38:23 +0200
changeset 10212 33fe2d701ddd
parent 9279 fb4186e20148
child 14368 2763da611ad9
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     1
(*  Title       : Lubs.thy
7219
4e3f386c2e37 inserted Id: lines
paulson
parents: 5078
diff changeset
     2
    ID          : $Id$
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     3
    Author      : Jacques D. Fleuriot
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     4
    Copyright   : 1998  University of Cambridge
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     5
    Description : Upper bounds, lubs definitions
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     6
                  suggested by James Margetson
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     7
*) 
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     8
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
     9
7562
wenzelm
parents: 7219
diff changeset
    10
Lubs = Main +
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    11
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    12
consts
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    13
    
9279
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    14
    "*<=" :: ['a set, 'a::ord] => bool     (infixl 70)
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    15
    "<=*" :: ['a::ord, 'a set] => bool     (infixl 70)
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    16
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    17
constdefs
9279
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    18
    leastP      :: ['a =>bool,'a::ord] => bool
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    19
    "leastP P x == (P x & x <=* Collect P)"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    20
9279
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    21
    isLub       :: ['a set, 'a set, 'a::ord] => bool    
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    22
    "isLub R S x  == leastP (isUb R S) x"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    23
9279
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    24
    isUb        :: ['a set, 'a set, 'a::ord] => bool     
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    25
    "isUb R S x   == S *<= x & x: R"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    26
9279
fb4186e20148 added type classes to constant's type
nipkow
parents: 7562
diff changeset
    27
    ubs         :: ['a set, 'a::ord set] => 'a set
5078
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    28
    "ubs R S      == Collect (isUb R S)"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    29
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    30
defs
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    31
    setle_def
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    32
    "S *<= x    == (ALL y: S. y <= x)"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    33
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    34
    setge_def
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    35
    "x <=* S    == (ALL y: S. x <= y)"
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    36
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    37
end                    
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    38
7b5ea59c0275 Installation of target HOL-Real
paulson
parents:
diff changeset
    39