let prof2 = HExtlib.profiling_enabled := true;HExtlib.profile "dancing sorts";;
(* t1, t2 must be well-typed *)
let are_convertible ?(subst=[]) get_relevance =
+(*
let get_relevance_p ~subst context t args =
(match prof with {HExtlib.profile = p} -> p)
(fun (a,b,c,d) -> get_relevance ~subst:a b c d)
in
let dance () = (match prof2 with {HExtlib.profile = p} -> p) (fun () -> ()) ()
in
+*)
let rec aux test_eq_only context t1 t2 =
- let rec alpha_eq test_eq_only t1 t2 =
+ let alpha_eq test_eq_only t1 t2 =
if t1 === t2 then
true
else
let head_beta_reduce ?delta ?upto t = head_beta_reduce ?delta ?upto t [];;
+type stack_item = RS.stack_term
+type environment_item = RS.env_term
+
+type machine = int * environment_item list * NCic.term * stack_item list
+
+let reduce_machine = R.reduce
+let from_stack = RS.from_stack
+let unwind = R.unwind
+
(* vim:set foldmethod=marker: *)