]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_paramodulation/paramod.ml
First tests for paramodulation (pretty printer, unification)
[helm.git] / helm / software / components / ng_paramodulation / paramod.ml
1 let nparamod metasenv subst context t =
2   let module C = struct
3     let metasenv = metasenv
4     let subst = subst
5     let context = context
6   end
7   in
8   let module B = NCicBlob.NCicBlob(C) in
9   let module Pp = Pp.Pp (B) in
10   let res,vars = B.embed t in
11   let module FU = Founif.Founif(B) in
12   let test_unification vars = function
13     | Terms.Node [_; _; lhs; rhs] ->
14         prerr_endline "Unification test :";
15         prerr_endline (Pp.pp_foterm lhs);
16         prerr_endline (Pp.pp_foterm rhs);
17         FU.unification vars [] lhs rhs
18     | _ -> assert false
19   in
20   let subst,vars = test_unification vars res in
21     prerr_endline "Result :";
22     prerr_endline (Pp.pp_foterm res);
23     prerr_endline "Substitution :";
24     prerr_endline (Pp.pp_substitution subst)
25 ;;