]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicReduction.mli
- Procedural: generation of "exact" is now complete
[helm.git] / helm / software / components / ng_kernel / nCicReduction.mli
index 52b95cdda63353a3c73bcb81676879dcc30f1e04..691d6605d3875f6e023607f3f0e62390308ef136 100644 (file)
 (* $Id$ *)
 
 val whd : 
-  ?delta:int -> ?subst:NCic.substitution -> 
+  ?delta:int -> subst:NCic.substitution -> 
   NCic.context -> NCic.term -> 
     NCic.term
 
-val are_convertible : 
-  ?subst:NCic.substitution -> 
-  NCic.context -> NCic.term -> NCic.term -> 
-  bool
+val set_get_relevance : 
+  (metasenv:NCic.metasenv -> subst:NCic.substitution ->
+   NCic.context -> NCic.term -> NCic.term list -> bool list) -> unit
+
+val are_convertible :
+  metasenv:NCic.metasenv -> subst:NCic.substitution ->
+  NCic.context -> NCic.term -> NCic.term -> bool
+
 
 (* performs head beta/(delta)/cast reduction; the default is to not perform
    delta reduction; if provided, ~upto is the maximum number of beta redexes
    reduced *)
-val head_beta_reduce: ?delta:int -> ?upto:int -> NCic.term -> NCic.term
+val head_beta_reduce: 
+  ?delta:int -> ?upto:int -> ?subst:NCic.substitution -> NCic.term -> NCic.term
+
+type stack_item
+type environment_item
+
+type machine = int * environment_item list * NCic.term * stack_item list
+
+val reduce_machine : 
+     delta:int -> ?subst:NCic.substitution -> NCic.context -> machine -> 
+      machine * bool
+val from_stack : stack_item -> machine
+val unwind : machine -> NCic.term
+