2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
14 exception RefineFailure of (Stdpp.location * string) Lazy.t;;
15 exception Uncertain of (Stdpp.location * string) Lazy.t;;
16 exception AssertFailure of string Lazy.t;;
19 ?localise:(NCic.term -> Stdpp.location) ->
21 NCic.metasenv -> NCic.substitution -> NCic.context ->
22 (* inferred type, expected type *)
23 NCic.term -> NCic.term ->
24 (* enriched metasenv, new term, its type, metavriable to
25 * be unified with the old term *)
26 (NCic.metasenv * NCic.term * NCic.term * NCic.term) list
28 NCic.metasenv -> NCic.substitution -> NCic.context ->
29 NCic.term -> NCic.term option -> (* term, expected type *)
30 NCic.metasenv * NCic.substitution * NCic.term * NCic.term
31 (* menv, subst,refined term, type *)