+++ /dev/null
-(*
- ||M|| This file is part of HELM, an Hypertextual, Electronic
- ||A|| Library of Mathematics, developed at the Computer Science
- ||T|| Department, University of Bologna, Italy.
- ||I||
- ||T|| HELM is free software; you can redistribute it and/or
- ||A|| modify it under the terms of the GNU General Public License
- \ / version 2 or (at your option) any later version.
- \ / This software is distributed as is, NO WARRANTY.
- V_______________________________________________________________ *)
-
-module N = Level
-
-type ix = int (* index *)
-
-type id = string (* identifier *)
-
-type info = string * string (* language, text *)
-
-type kind = Decl (* generic declaration *)
- | Ax (* axiom *)
- | Cong (* conjecture *)
- | Def (* generic definition *)
- | Th (* theorem *)
-
-type bind =
-(* name, real?, domain *)
- | Abst of (id * bool * term) list
-(* name, bodies *)
- | Abbr of (id * term) list
-(* names *)
- | Void of id list
-
-and term =
-(* level *)
- | Sort of ix
-(* named level *)
- | NSrt of id
-(* index, offset *)
- | LRef of ix * ix
-(* name *)
- | NRef of id
-(* domain, element *)
- | Cast of term * term
-(* arguments, function *)
- | Appl of term list * term
-(* level, binder, scope *)
- | Bind of N.level * bind * term
-(* function, arguments *)
- | Inst of term * term list
-(* level, strong?, label, source, target *)
- | Impl of N.level * bool * id * term * term
-
-type command =
-(* required files: names *)
- | Require of id list
-(* hierarchy graph: name *)
- | Graph of id
-(* sorts: index, name *)
- | Sorts of (int option * id) list
-(* section: Some id = open, None = close last *)
- | Section of id option
-(* entity: main?, class, name, info, contents *)
- | Entity of bool * kind * N.level * id * info * term
-(* predefined generated entity: arguments *)
- | Generate of term list