ocaml-containers/tests/quick/ratTerm.ml
2014-04-19 01:27:34 +02:00

17 lines
505 B
OCaml
Executable file

#!/usr/bin/env ocaml
#use "tests/quick/.common.ml";;
#load "containers.cma";;
open Containers;;
module T = RatTerm.Default;;
#install_printer T.fmt;;
#install_printer T.Subst.fmt;;
let t = T.(app "f" [const "a"; app "f" [mk_ref 1; const "b"]]);;
let t2 = T.(app "f" [var (); app "f" [mk_ref 1; var ()]]);;
let t3 = T.(app "f" [var (); app "f" [var (); const "b"]]);;
let subst2 = match T.unify t t3 with Some s -> s | None -> assert false;;
let t3' = T.Subst.apply subst2 t3;;
T.eq_set t t3';;
ok();;