intermed. pqformula for Z-transform decompose-isar
authorWalther Neuper <neuper@ist.tugraz.at>
Wed, 07 Sep 2011 10:07:13 +0200
branchdecompose-isar
changeset 42248ac50595ffe6b
parent 42243 53b5347539a6
child 42249 361f45c2adb8
intermed. pqformula for Z-transform
src/Tools/isac/Interpret/script.sml
test/Tools/isac/Knowledge/polyeq.sml
test/Tools/isac/Test_Isac.thy
test/Tools/isac/Test_Some.thy
     1.1 --- a/src/Tools/isac/Interpret/script.sml	Mon Sep 05 12:40:23 2011 +0200
     1.2 +++ b/src/Tools/isac/Interpret/script.sml	Wed Sep 07 10:07:13 2011 +0200
     1.3 @@ -1,9 +1,10 @@
     1.4 -(* interpreter for scripts
     1.5 -   (c) Walther Neuper 2000
     1.6 +(* Title:  interpreter for scripts
     1.7 +   Author: Walther Neuper 2000
     1.8 +   (c) due to copyright terms
     1.9 +12345678901234567890123456789012345678901234567890123456789012345678901234567890
    1.10 +        10        20        30        40        50        60        70        80
    1.11 +*)
    1.12  
    1.13 -use"ME/script.sml";
    1.14 -use"script.sml";
    1.15 -*)
    1.16  signature INTERPRETER =
    1.17  sig
    1.18    (*type ets (list of executed tactics) see sequent.sml*)
    1.19 @@ -565,12 +566,12 @@
    1.20  
    1.21    | assod pt _ (m as Check_elementwise' (consts,_,(consts_chkd,_)))
    1.22      (Const ("Script.Check'_elementwise",_) $ consts' $ _) =
    1.23 -      ((*tracing("### assod Check'_elementwise: consts= "^(term2str consts)^
    1.24 +      (tracing("### assod Check'_elementwise: consts= "^(term2str consts)^
    1.25  	     ", consts'= "^(term2str consts'));
    1.26 -       atomty consts; atomty consts';*)
    1.27 +       atomty consts; atomty consts';
    1.28         if consts = consts'
    1.29 -       then ((*tracing"### assod Check'_elementwise: Ass";*) Ass (m, consts_chkd))
    1.30 -       else ((*tracing"### assod Check'_elementwise: NotAss";*) NotAss))
    1.31 +       then (tracing"### assod Check'_elementwise: Ass"; Ass (m, consts_chkd))
    1.32 +       else (tracing"### assod Check'_elementwise: NotAss"; NotAss))
    1.33  
    1.34    | assod pt _ (m as Or_to_List' (ors, list)) (Const ("Script.Or'_to'_List",_) $ _) =
    1.35  	    Ass (m, list) 
    1.36 @@ -1224,6 +1225,7 @@
    1.37  	             else Steps (ScrState is, ss))
    1.38  	
    1.39          | NasApp _ => NotLocatable
    1.40 +        | err => (writeln ("*** " ^ PolyML.makestring err); NotLocatable)
    1.41        end
    1.42  
    1.43    | locate_gen _ m _ (sc,_) (is, _) = 
     2.1 --- a/test/Tools/isac/Knowledge/polyeq.sml	Mon Sep 05 12:40:23 2011 +0200
     2.2 +++ b/test/Tools/isac/Knowledge/polyeq.sml	Wed Sep 07 10:07:13 2011 +0200
     2.3 @@ -1,11 +1,6 @@
     2.4  (* testexamples for PolyEq, poynomial equations and equational systems
     2.5 -   author: Richard Lang
     2.6 -   2003
     2.7 +   author: Richard Lang 2003  
     2.8     (c) due to copyright terms
     2.9 -
    2.10 -use"../smltest/IsacKnowledge/polyeq.sml";
    2.11 -use"polyeq.sml";
    2.12 -
    2.13  WN030609: some expls dont work due to unfinished handling of 'expanded terms';
    2.14            others marked with TODO have to be checked, too.
    2.15  *)
    2.16 @@ -16,6 +11,8 @@
    2.17  "-----------------------------------------------------------------";
    2.18  "----------- tests on predicates in problems ---------------------";
    2.19  "----------- test matching problems --------------------------0---";
    2.20 +"----------- lin.eq degree_0 -------------------------------------";
    2.21 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
    2.22  "----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
    2.23  "----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
    2.24  "----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
    2.25 @@ -28,110 +25,97 @@
    2.26  "-----------------------------------------------------------------";
    2.27  "-----------------------------------------------------------------";
    2.28  
    2.29 -(*=== inhibit exn ?=============================================================
    2.30 -
    2.31 -val c = []; 
    2.32 +val c = []; print_depth 5;
    2.33  
    2.34  "----------- tests on predicates in problems ---------------------";
    2.35  "----------- tests on predicates in problems ---------------------";
    2.36  "----------- tests on predicates in problems ---------------------";
    2.37  (* 
    2.38 - Compiler.Control.Print.printDepth:=5; (*4 default*)
    2.39   trace_rewrite:=true;
    2.40   trace_rewrite:=false;
    2.41  *)
    2.42   val t1 = (term_of o the o (parse thy)) "lhs (-8 - 2*x + x^^^2 = 0)";
    2.43 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t1;
    2.44 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t1;
    2.45   if ((term2str t) = "-8 - 2 * x + x ^^^ 2") then ()
    2.46   else  error "polyeq.sml: diff.behav. in lhs";
    2.47  
    2.48 -
    2.49   val t2 = (term_of o the o (parse thy)) "(-8 - 2*x + x^^^2) is_expanded_in x";
    2.50 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t2;
    2.51 - if (term2str t) = "HOL.True" then ()
    2.52 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t2;
    2.53 + if (term2str t) = "True" then ()
    2.54   else  error "polyeq.sml: diff.behav. 1 in is_expended_in";
    2.55  
    2.56   val t0 = (term_of o the o (parse thy)) "(sqrt(x)) is_poly_in x";
    2.57 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t0;
    2.58 - if (term2str t) = "HOL.False" then ()
    2.59 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t0;
    2.60 + if (term2str t) = "False" then ()
    2.61   else  error "polyeq.sml: diff.behav. 2 in is_poly_in";
    2.62  
    2.63 -
    2.64   val t3 = (term_of o the o (parse thy)) "(-8 + (-1)*2*x + x^^^2) is_poly_in x";
    2.65 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t3;
    2.66 - if (term2str t) = "HOL.True" then ()
    2.67 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
    2.68 + if (term2str t) = "True" then ()
    2.69   else  error "polyeq.sml: diff.behav. 3 in is_poly_in";
    2.70  
    2.71 -
    2.72   val t4 = (term_of o the o (parse thy)) "(lhs (-8 + (-1)*2*x + x^^^2 = 0)) is_expanded_in x";
    2.73 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t4;
    2.74 - if (term2str t) = "HOL.True" then ()
    2.75 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
    2.76 + if (term2str t) = "True" then ()
    2.77   else  error "polyeq.sml: diff.behav. 4 in is_expended_in";
    2.78  
    2.79  
    2.80   val t6 = (term_of o the o (parse thy)) "(lhs (-8 - 2*x + x^^^2 = 0)) is_expanded_in x";
    2.81 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t6;
    2.82 - if (term2str t) = "HOL.True" then ()
    2.83 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t6;
    2.84 + if (term2str t) = "True" then ()
    2.85   else  error "polyeq.sml: diff.behav. 5 in is_expended_in";
    2.86   
    2.87   val t3 = (term_of o the o (parse thy))"((-8 - 2*x + x^^^2) has_degree_in x) = 2";
    2.88 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t3;
    2.89 - if (term2str t) = "HOL.True" then ()
    2.90 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
    2.91 + if (term2str t) = "True" then ()
    2.92   else  error "polyeq.sml: diff.behav. in has_degree_in_in";
    2.93  
    2.94 -
    2.95   val t3 = (term_of o the o (parse thy)) "((sqrt(x)) has_degree_in x) = 2";
    2.96 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t3;
    2.97 - if (term2str t) = "HOL.False" then ()
    2.98 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
    2.99 + if (term2str t) = "False" then ()
   2.100   else  error "polyeq.sml: diff.behav. 6 in has_degree_in_in";
   2.101  
   2.102   val t4 = (term_of o the o (parse thy)) 
   2.103  	      "((-8 - 2*x + x^^^2) has_degree_in x) = 1";
   2.104 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t4;
   2.105 - if (term2str t) = "HOL.False" then ()
   2.106 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
   2.107 + if (term2str t) = "False" then ()
   2.108   else  error "polyeq.sml: diff.behav. 7 in has_degree_in_in";
   2.109  
   2.110 -
   2.111   val t5 = (term_of o the o (parse thy)) 
   2.112  	      "((-8 - 2*x + x^^^2) has_degree_in x) = 2";
   2.113 - val SOME (t,_) = rewrite_set_ PolyEq.thy false PolyEq_prls t5;
   2.114 - if (term2str t) = "HOL.True" then ()
   2.115 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t5;
   2.116 + if (term2str t) = "True" then ()
   2.117   else  error "polyeq.sml: diff.behav. 8 in has_degree_in_in";
   2.118  
   2.119 +"----------- test matching problems --------------------------0---";
   2.120 +"----------- test matching problems --------------------------0---";
   2.121 +"----------- test matching problems --------------------------0---";
   2.122 +val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", "solveFor x","solutions L"];
   2.123 +if match_pbl fmz (get_pbt ["expanded","univariate","equation"]) =
   2.124 +  Matches' {Find = [Correct "solutions L"], 
   2.125 +            With = [], 
   2.126 +            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
   2.127 +            Where = [Correct "matches (?a = 0) (-8 - 2 * x + x ^^^ 2 = 0)", 
   2.128 +                     Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) is_expanded_in x"], 
   2.129 +            Relate = []}
   2.130 +then () else error "match_pbl [expanded,univariate,equation]";
   2.131  
   2.132 -"----------- test matching problems --------------------------0---";
   2.133 -"----------- test matching problems --------------------------0---";
   2.134 -"----------- test matching problems --------------------------0---";
   2.135 - val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", "solveFor x","solutions L"];
   2.136 - val pbt as {thy = thy, where_ = pre, ppc = ppc,...} =
   2.137 -     get_pbt ["expanded","univariate","equation"];
   2.138 - 
   2.139 - match_pbl fmz (get_pbt ["expanded","univariate","equation"]);
   2.140 - (*Matches'
   2.141 -    {Find=[Correct "solutions L"],
   2.142 -     Given=[Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)",
   2.143 -            Correct "solveFor x"],Relate=[],
   2.144 -     Where=[Correct "matches (?a = 0) (-8 - 2 * x + x ^^^ 2 = 0)",
   2.145 -            Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) is_expanded_in x"],With=[]}
   2.146 - *)
   2.147 - match_pbl fmz (get_pbt ["degree_2","expanded","univariate","equation"]);
   2.148 - (*Matches'
   2.149 -    {Find=[Correct "solutions L"],
   2.150 -     Given=[Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)",
   2.151 -            Correct "solveFor x"],Relate=[],
   2.152 -     Where=[Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) has_degree_in x =!= 2"],
   2.153 -     With=[]}*)
   2.154 +if match_pbl fmz (get_pbt ["degree_2","expanded","univariate","equation"]) =
   2.155 +  Matches' {Find = [Correct "solutions L"], 
   2.156 +            With = [], 
   2.157 +            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
   2.158 +            Where = [Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) has_degree_in x = 2"], 
   2.159 +            Relate = []}              (*before WN110906 was: has_degree_in x =!= 2"]*)
   2.160 +then () else error "match_pbl [degree_2,expanded,univariate,equation]";
   2.161  
   2.162 -"-------------------- test thm's degree_0 --------------------------------------";
   2.163 -"-------------------- test thm's degree_0 --------------------------------------";
   2.164 +"----------- lin.eq degree_0 -------------------------------------";
   2.165 +"----------- lin.eq degree_0 -------------------------------------";
   2.166 +"----------- lin.eq degree_0 -------------------------------------";
   2.167  "----- d0_false ------";
   2.168 -(*EP*)
   2.169 -val fmz = ["equality ( 1 = 0)", "solveFor x","solutions L"];
   2.170 +(*=== inhibit exn WN110906 ======================================================
   2.171 +val fmz = ["equality (1 = (0::real))", "solveFor x", "solutions L"];
   2.172  val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
   2.173                       ["PolyEq","solve_d0_polyeq_equation"]);
   2.174 -(*val p = e_pos'; 
   2.175 -val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   2.176 -val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   2.177  val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.178  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.179  val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.180 @@ -144,12 +128,9 @@
   2.181  
   2.182  "----- d0_true ------";
   2.183  (*EP-7*)
   2.184 -val fmz = ["equality ( 0 = 0)", "solveFor x","solutions L"];
   2.185 +val fmz = ["equality (0 = (0::real))", "solveFor x","solutions L"];
   2.186  val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
   2.187                       ["PolyEq","solve_d0_polyeq_equation"]);
   2.188 -(*val p = e_pos'; val c = []; 
   2.189 -val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   2.190 -val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   2.191  val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.192  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.193  val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.194 @@ -159,16 +140,13 @@
   2.195  val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.196  case f of Form' (FormKF (~1,EdUndef,0,Nundef,"UniversalList")) => ()
   2.197  	 | _ => error "polyeq.sml: diff.behav. in 0 = 0 -> UniversalList";
   2.198 +============ inhibit exn WN110906 ============================================*)
   2.199  
   2.200 -"-------------------- test thm's degree_2 ------------------------------------------";
   2.201 -"-------------------- test thm's degree_2 ------------------------------------------";
   2.202 -
   2.203 -"-------------------- test thm's d2_pq_formulsxx[_neg]-----";
   2.204 -"-------------------- test thm's d2_pq_formulsxx[_neg]-----";
   2.205 -"-------------------- test thm's d2_pq_formulsxx[_neg]-----";
   2.206 -
   2.207 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
   2.208 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
   2.209 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
   2.210  "----- d2_pqformula1 ------!!!!";
   2.211 -val fmz = ["equality (-2 +(-1)*x + x^^^2 = 0)", "solveFor x","solutions L"];
   2.212 +val fmz = ["equality (-2 +(-1)*x + x^^^2 = (0::real))", "solveFor x","solutions L"];
   2.213  val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_pq_equation"]);
   2.214  (*val p = e_pos'; val c = []; 
   2.215  val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   2.216 @@ -186,6 +164,9 @@
   2.217  (*### or2list _ | _
   2.218    ### applicable_in Check_elementwise: --> ([x = 2, x = -1], [])
   2.219    ([4],Res)  "[x = 2, x = -1]"    Check_elementwise "Assumptions"*)
   2.220 +
   2.221 +(*============ inhibit exn WN110906 ==============================================
   2.222 +GOON WN110906
   2.223  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.224  (*### applicable_in Check_elementwise: --> ([x = 2, x = -1], [])
   2.225    ([5],Res)   "[x = 2, x = -1]"   Check_Postcond*)
   2.226 @@ -1178,4 +1159,6 @@
   2.227  val ((pt,p),_) = get_calc 1; show_pt pt;
   2.228  
   2.229  interSteps 1 ([1],Res) (*no Rewrite_Set...*);
   2.230 -===== inhibit exn ?===========================================================*)
   2.231 +
   2.232 +============ inhibit exn WN110906 ==============================================*)
   2.233 +
     3.1 --- a/test/Tools/isac/Test_Isac.thy	Mon Sep 05 12:40:23 2011 +0200
     3.2 +++ b/test/Tools/isac/Test_Isac.thy	Wed Sep 07 10:07:13 2011 +0200
     3.3 @@ -158,7 +158,7 @@
     3.4  (*use "Knowledge/rateq.sml"            2002*)
     3.5  (*use "Knowledge/rootrat.sml"          2002*)
     3.6  (*use "Knowledge/rootrateq.sml"        2002*)
     3.7 -(*use "Knowledge/polyeq.sml"           2002*)
     3.8 +(*use "Knowledge/polyeq.sml"           part. WN110906: problems with comments*)
     3.9  (*use "Knowledge/rlang.sml"            2002???*)
    3.10    use "Knowledge/calculus.sml"       (*new 2011*)
    3.11    use "Knowledge/trig.sml"
     4.1 --- a/test/Tools/isac/Test_Some.thy	Mon Sep 05 12:40:23 2011 +0200
     4.2 +++ b/test/Tools/isac/Test_Some.thy	Wed Sep 07 10:07:13 2011 +0200
     4.3 @@ -1,23 +1,119 @@
     4.4  (* Title:  run tests on a particular test file
     4.5     Author: Walther Neuper 101001
     4.6     (c) copyright due to lincense terms.
     4.7 +12345678901234567890123456789012345678901234567890123456789012345678901234567890
     4.8 +        10        20        30        40        50        60        70        80
     4.9  *)
    4.10  
    4.11  theory Test_Some imports Isac begin
    4.12  
    4.13 -use"../../../test/Tools/isac/ProgLang/rewrite.sml" 
    4.14 -
    4.15 -
    4.16 -ML{*
    4.17 +text{*
    4.18 +use"../../../test/Tools/isac/Knowledge/polyeq.sml" 
    4.19  *}
    4.20  
    4.21  ML {*
    4.22 +val c = [];
    4.23 +print_depth 5;
    4.24 +*}
    4.25 +
    4.26 +ML {*
    4.27 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
    4.28 +"----- d2_pqformula1 ------!!!!";
    4.29 +val fmz = ["equality (-2 +(-1)*x + x^^^2 = (0::real))", "solveFor x","solutions L"];
    4.30 +val (dI',pI',mI') = 
    4.31 +  ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"], 
    4.32 +   ["PolyEq","solve_d2_polyeq_pq_equation"]);
    4.33 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
    4.34 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.35 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.36 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.37 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.38 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.39 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
    4.40 +val (p,_,f,nxt,_,pt) = me nxt p c pt; (*f = .. "x = 2 | x = -1", nxt = (". ", Or_to_List)*)
    4.41 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
    4.42 +     (*f = "..[x = 2, x = -1]", nxt = ("..Check_elementwise "Assumptions")*)
    4.43 +*}
    4.44 +ML{*
    4.45 +"~~~~~ fun me, args:"; val (_,tac) = nxt;
    4.46 +"~~~~~ fun locatetac, args:"; val (tac, (ptp as (pt, p))) = (tac, (pt,p));
    4.47 +val (mI,m) = mk_tac'_ tac; (*m = Check_elementwise "Assumptions"*)
    4.48 +val  Appl m = applicable_in p pt m
    4.49 +*}
    4.50 +ML{*
    4.51 +print_depth 5; PolyML.makestring m
    4.52 +*}
    4.53 +ML{*
    4.54 +val Check_elementwise' (a,b,(c,d)) = m;
    4.55 +term2str a;
    4.56 +term2str c;
    4.57 +terms2str d;
    4.58 +*}
    4.59 +ML{*
    4.60 +print_depth 99; m;
    4.61 +*}
    4.62 +ML{*
    4.63 +*}
    4.64 +ML{*
    4.65 +*}
    4.66 +ML{*
    4.67 +locatetac tac (pt,p)
    4.68 +val it = ("failure", ([], [], (Nd (PblObj {...}, [...]), ([4], ...)))): string * 
    4.69 +*}
    4.70 +ML{* (*error*)
    4.71 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.72 +
    4.73 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.74 +case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -1]")) => ()
    4.75 +	 | _ => error "polyeq.sml: diff.behav. in -2 + (-1)*x + x^2 = 0 -> [x = 2, x = -1]";
    4.76 +
    4.77 +"----- d2_pqformula1_neg ------";
    4.78  
    4.79  *}
    4.80  ML{*
    4.81 -
    4.82 +val xxx = @{theory};
    4.83 +(writeln o PolyML.makestring) xxx;
    4.84 +*}
    4.85 +ML {*
    4.86 +NotLocatable
    4.87 +*}
    4.88 +ML {*
    4.89 +NasApp (e_scrstate,[])
    4.90  *}
    4.91  ML{*
    4.92 +((writeln o PolyML.makestring) xxx; NasApp (e_scrstate,[]))
    4.93 +*}
    4.94 +text{*
    4.95 +*** NasNap 
    4.96 +(Const ("List.list.Cons", "HOL.bool \<Rightarrow> HOL.bool List.list \<Rightarrow> HOL.bool List.list") $ 
    4.97 +  (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
    4.98 +    Free ("x", "RealDef.real") $ 
    4.99 +    Free ("2", "RealDef.real")) $ 
   4.100 +  (Const ("List.list.Cons", "HOL.bool \<Rightarrow> HOL.bool List.list \<Rightarrow> HOL.bool List.list") $ 
   4.101 +    (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
   4.102 +      Free ("x", "RealDef.real") $ 
   4.103 +      Free ("-1", "RealDef.real")) $ 
   4.104 +    Const ("List.list.Nil", "HOL.bool List.list")), 
   4.105 +
   4.106 +[(Free ("e_e", "HOL.bool"), 
   4.107 +    Const ("HOL.disj", "HOL.bool \<Rightarrow> HOL.bool \<Rightarrow> HOL.bool") $ 
   4.108 +      (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
   4.109 +        Free ("x", "RealDef.real") $ 
   4.110 +        Free ("2", "RealDef.real")) $ 
   4.111 +      (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
   4.112 +        Free ("x", "RealDef.real") $ 
   4.113 +        Free ("-1", "RealDef.real"))), 
   4.114 +  (Free ("v_v", "RealDef.real"), Free ("x", "RealDef.real")), 
   4.115 +  (Free ("L_L", "HOL.bool List.list"), 
   4.116 +    Const ("List.list.Cons", "HOL.bool \<Rightarrow> HOL.bool List.list \<Rightarrow> HOL.bool List.list") $ 
   4.117 +      (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
   4.118 +        Free ("x", "RealDef.real") $ 
   4.119 +        Free ("2", "RealDef.real")) $ 
   4.120 +    (Const ("List.list.Cons", "HOL.bool \<Rightarrow> HOL.bool List.list \<Rightarrow> HOL.bool List.list") $ 
   4.121 +      (Const ("HOL.eq", "RealDef.real \<Rightarrow> RealDef.real \<Rightarrow> HOL.bool") $ 
   4.122 +        Free ("x", "RealDef.real") $ 
   4.123 +        Free ("-1", "RealDef.real")) $ 
   4.124 +      Const ("List.list.Nil", "HOL.bool List.list")))]) 
   4.125  *}
   4.126  ML{*
   4.127  *}
   4.128 @@ -33,8 +129,8 @@
   4.129  end
   4.130  
   4.131  
   4.132 -(*============ inhibit exn AK110725 ==============================================
   4.133 -============ inhibit exn AK110725 ==============================================*)
   4.134 +(*============ inhibit exn WN110906 ==============================================
   4.135 +============ inhibit exn WN110906 ==============================================*)
   4.136  
   4.137  
   4.138  (*-.-.-.-.-.-isolate response.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.