| Copyright | (c) Galois Inc, 2015 |
|---|---|
| License | Apache-2 |
| Maintainer | jhendrix@galois.com, lcasburn@galois.com |
| Safe Haskell | Trustworthy |
| Language | Haskell98 |
Language.Lean.Univ
Contents
Description
Operations for universe levels.
- data Univ
- zeroUniv :: Univ
- succUniv :: Univ -> Univ
- maxUniv :: Univ -> Univ -> Univ
- imaxUniv :: Univ -> Univ -> Univ
- paramUniv :: Name -> Univ
- globalUniv :: Name -> Univ
- metaUniv :: Name -> Univ
- explicitUniv :: Integer -> Univ
- data UnivView
- univView :: Univ -> UnivView
- showUniv :: Univ -> String
- showUnivUsing :: Univ -> Options -> String
- normalizeUniv :: Univ -> Univ
- instantiateUniv :: Univ -> [(Name, Univ)] -> Univ
- instantiateUniv2 :: Univ -> List Name -> List Univ -> Univ
- univGeq :: Univ -> Univ -> Bool
- univLt :: Univ -> Univ -> Bool
Documentation
A Lean universe level
Instances
| Eq Univ Source | |
| Ord Univ Source | |
| Show Univ Source | |
| IsLeanValue Univ (Ptr Univ) Source | |
| IsList (List Univ) Source | Allow |
| Eq (List Univ) Source | |
| Show (List Univ) Source | |
| IsListIso (List Univ) Source | |
| IsLeanValue (List Univ) (Ptr (List Univ)) Source | |
| data List Univ = ListUniv (ForeignPtr (List Univ)) Source | A list of universes (constructor not actually exported) |
| type Item (List Univ) = Univ Source |
globalUniv :: Name -> Univ Source
A global universe with the given name.
explicitUniv :: Integer -> Univ Source
Create an explicit universe level
A view of a universe.
Constructors
| UnivZero | The zero universe. |
| UnivSucc !Univ | Successor of the previous universe. |
| UnivMax !Univ !Univ | Maximum of two universes. |
| UnivIMax !Univ !Univ |
|
| UnivParam !Name | Universe parameter with the given name. |
| UnivGlobal !Name | Reference to a global universe. |
| UnivMeta !Name | Meta variable with the given name. |
showUnivUsing :: Univ -> Options -> String Source
Show a universe with the given options.
Operations on universe levels
normalizeUniv :: Univ -> Univ Source
Return the normal form for a universe.
instantiateUniv2 :: Univ -> List Name -> List Univ -> Univ Source
Instantiate the parameters with universes using separate lists for names and levels.