X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=components%2Fng_kernel%2FnCicUtils.mli;fp=components%2Fng_kernel%2FnCicUtils.mli;h=b032a2218eafd91a459907e79a37294a304632d9;hp=0000000000000000000000000000000000000000;hb=f61af501fb4608cc4fb062a0864c774e677f0d76;hpb=58ae1809c352e71e7b5530dc41e2bfc834e1aef1 diff --git a/components/ng_kernel/nCicUtils.mli b/components/ng_kernel/nCicUtils.mli new file mode 100644 index 000000000..b032a2218 --- /dev/null +++ b/components/ng_kernel/nCicUtils.mli @@ -0,0 +1,33 @@ +(* + ||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: nCicSubstitution.ml 8135 2008-02-13 15:35:43Z tassi $ *) + +exception Subst_not_found of int +exception Meta_not_found of int + +val sharing_map: ('a -> 'a) -> 'a list -> 'a list + +val expand_local_context : NCic.lc_kind -> NCic.term list + +val lookup_subst: int -> NCic.substitution -> NCic.subst_entry +val lookup_meta: int -> NCic.metasenv -> NCic.conjecture + +(* both functions raise "assert false" when a Meta is found + * call the 'a->'a function when a binder is crossed *) +val fold: + (NCic.hypothesis -> 'k -> 'k) -> 'k -> + ('k -> 'a -> NCic.term -> 'a) -> 'a -> NCic.term -> 'a +val map: + (NCic.hypothesis -> 'k -> 'k) -> 'k -> + ('k -> NCic.term -> NCic.term) -> NCic.term -> NCic.term + +val is_closed: NCic.term -> bool