X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnReference.mli;h=d7f87e57c1712e63cba89dd1ea29d49d00893c14;hb=f6c887944d48d718f372a57f1609f3d059908aa8;hp=116e30ac95bce6610147b2288383d1c692569979;hpb=085cfc8bc4f775e8879a31c6de35d08aed500332;p=helm.git diff --git a/helm/software/components/ng_kernel/nReference.mli b/helm/software/components/ng_kernel/nReference.mli index 116e30ac9..d7f87e57c 100644 --- a/helm/software/components/ng_kernel/nReference.mli +++ b/helm/software/components/ng_kernel/nReference.mli @@ -1,44 +1,38 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) +(* + ||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_______________________________________________________________ *) + +(* $Id$ *) exception IllFormedReference of string Lazy.t type spec = | Decl - | Def - | Fix of int * int (* fixno, recparamno *) + | Def of int (* height *) + | Fix of int * int * int (* fixno, recparamno, height *) | CoFix of int - | Ind of int - | Con of int * int (* indtyno, constrno *) + | Ind of bool * int * int (* inductive, indtyno, leftno *) + | Con of int * int * int (* indtyno, constrno, leftno *) + +type reference = private Ref of NUri.uri * spec -type reference = Ref of int * string * spec +val reference_of_spec: NUri.uri -> spec -> reference val eq: reference -> reference -> bool +val compare: reference -> reference -> int val string_of_reference: reference -> string +val reference_of_string: string -> reference - -(* CACCA *) -val reference_of_ouri: UriManager.uri -> spec -> reference -val ouri_of_reference: reference -> UriManager.uri +(* given the reference of an inductive type, returns the i-th contructor *) +val mk_constructor: int -> reference -> reference +(* given the reference of an inductive type constructor, returns the indty *) +val mk_indty: bool -> reference -> reference +val mk_fix: int -> int -> reference -> reference +val mk_cofix: int -> reference -> reference