test/Tools/isac/Interpret/ctree.sml
changeset 42360 2c8de368c64c
parent 42218 dbdaf1e4e614
child 42394 977788dfed26
     1.1 --- a/test/Tools/isac/Interpret/ctree.sml	Thu Jan 05 17:43:48 2012 +0100
     1.2 +++ b/test/Tools/isac/Interpret/ctree.sml	Sat Jan 07 10:06:06 2012 +0100
     1.3 @@ -46,6 +46,7 @@
     1.4  "=====new ptree 6 minisubpbl intersteps ==========================";
     1.5  "-------------- get_allpos' new ----------------------------------";
     1.6  "-------------- cut_tree new (from ptree above)-------------------";
     1.7 +"-------------- subst2subs subs2subst sube2subst subte2subst -----";
     1.8  "-----------------------------------------------------------------";
     1.9  "-----------------------------------------------------------------";
    1.10  "-----------------------------------------------------------------";
    1.11 @@ -1373,3 +1374,42 @@
    1.12  show_pt pt;
    1.13  *)
    1.14  ========== inhibit exn AK110726 ==============================================*)
    1.15 +
    1.16 +"-------------- subst2subs subs2subst sube2subst subte2subst -----";
    1.17 +"-------------- subst2subs subs2subst sube2subst subte2subst -----";
    1.18 +"-------------- subst2subs subs2subst sube2subst subte2subst -----";
    1.19 +val subst = [(str2term "bdv", str2term "x"), (str2term "err", str2term "0")];
    1.20 +
    1.21 +if ["bdv = x", "err = 0"] = subte2sube [str2term "bdv = x", str2term "err = 0"] then ()
    1.22 +else error "subte2sube broken";
    1.23 +
    1.24 +subst2subs : (term * term) list -> string list;
    1.25 +if subst2subs subst = ["(bdv, x)", "(err, 0)"] then ()
    1.26 +else error "subst2subs broken";
    1.27 +
    1.28 +subst2subs' : (term * term) list -> (string * string) list;
    1.29 +if subst2subs' subst = [("bdv", "x"), ("err", "0")] then ()
    1.30 +else error "subst2subs' broken";
    1.31 +
    1.32 +subs2subst : theory -> string list -> (term * term) list;
    1.33 +val [(i1, v1), (i2, v2)] = subs2subst thy ["(bdv, x)", "(err, 0)"];
    1.34 +if term2str i1 = "bdv" andalso term2str v1 = "x" andalso 
    1.35 +  term2str i2 = "err" andalso term2str v2 = "0" then ()
    1.36 +else error "subs2subst broken";
    1.37 +
    1.38 +sube2subst : theory -> string list -> (term * term) list;
    1.39 +val [(i1, v1), (i2, v2)] = sube2subst thy ["bdv = x", "err = 0"];
    1.40 +if term2str i1 = "bdv" andalso term2str v1 = "x" andalso 
    1.41 +  term2str i2 = "err" andalso term2str v2 = "0" then ()
    1.42 +else error "sube2subst broken";
    1.43 +
    1.44 +sube2subte : string list -> term list;
    1.45 +val [eq1, eq2] = sube2subte ["bdv = x", "err = 0"];
    1.46 +if term2str eq1 = "bdv = x" andalso term2str eq2 = "err = 0" then ()
    1.47 +else error "sube2subte broken";
    1.48 +
    1.49 +val [(i1, v1), (i2, v2)] = subte2subst [str2term "bdv = x", str2term "err = 0"];
    1.50 +if term2str i1 = "bdv" andalso term2str v1 = "x" andalso 
    1.51 +  term2str i2 = "err" andalso term2str v2 = "0" then ()
    1.52 +else error "subte2subst broken";
    1.53 +