test/Tools/isac/Knowledge/rlang.sml
author wneuper <Walther.Neuper@jku.at>
Sun, 09 Oct 2022 07:44:22 +0200
changeset 60565 f92963a33fe3
parent 60340 0ee698b0a703
child 60571 19a172de0bb5
permissions -rw-r--r--
eliminate term2str in test/*
neuper@42393
     1
(* tests for various kinds of univariate equations.
neuper@42393
     2
  Author: Richard Lang 2003
neuper@42393
     3
  (c) due to copyright terms
neuper@42393
     4
neuper@42393
     5
These tests have not been updated with the transition Isabelle2002 --> 2011
neuper@42394
     6
# because there are many other tests on equations in other test-files
neuper@42394
     7
# some of these equations are twice, e.g. x / (x ^ 2 - 6 * x + 9) - 1 / (x ^ 2 - 3 * x) = 1 / x, x
neuper@42393
     8
# this file needs specifically much cleaning.
neuper@42393
     9
*)
neuper@37906
    10
neuper@37906
    11
(******************************************************************
neuper@37906
    12
WN.060104 transfer marked (*E..*)examples to the exp-collection
neuper@37906
    13
 # exp_IsacCore_Equ_Uni_Poly.xml   from rlang.sml    (*EP*)   exp
neuper@37906
    14
 # exp_IsacCore_Equ_Uni_Rat.xml    from rlang.sml    (*ER*)   exp
neuper@37906
    15
 # exp_IsacCore_Equ_Uni_Root.xml   from rlang.sml    (*EO*)   exp
neuper@37906
    16
*******************************************************************)
neuper@37906
    17
neuper@37906
    18
neuper@37906
    19
neuper@37906
    20
(*WN.12.6.03: for TODOs search 'writeln', for simplification search MG*)
neuper@37906
    21
(* use"kbtest/rlang.sml";
neuper@37906
    22
   use"rlang.sml";
neuper@37906
    23
   (c) Richard Lang 2003
neuper@37906
    24
   tests over all equations implemented in his diploma thesis
neuper@37906
    25
   Elementare Gleichungen der Mittelschulmathematik in der ISAC Wissensbasis,
neuper@37906
    26
   Master's thesis, University of Technology, Graz, Austria, March 2003.
neuper@37906
    27
   created: 030228
neuper@37906
    28
   by: rlang
neuper@37906
    29
   last change: 030603
neuper@37906
    30
*)
neuper@37906
    31
(*@Book{bSchalk1,
neuper@37906
    32
  author =       {Schalk, Heinz-Christian and Binder, Christian and Fertl, Walter and 
neuper@37906
    33
                  Firneis, Friedrich and Gems, Werner and Lehner, Dieter and 
wenzelm@60308
    34
                  Plihal, Andreas and Würl,Manfred},
wenzelm@60308
    35
  title =        {Mathematik für höhere technische Lehranstalten Band I},
neuper@37906
    36
  publisher =    {Reniets Verlag},
neuper@37906
    37
  year =         {1986},
neuper@37906
    38
  note =         {Schulbuch-Nr. 942},
neuper@37906
    39
}
neuper@37906
    40
neuper@37906
    41
@Book{bSchalk2,
neuper@37906
    42
  author =       {Schalk, Heinz-Christian and Baumgartner, Gerhard and Binder, Christian and 
neuper@37906
    43
                  Eder, Hans Gerhard and Fertl, Walter and Firneis, Friedrich and 
wenzelm@60308
    44
                  Konstantiniuk, Peter and Plihal, Andreas and Rümmele, Goswin and 
neuper@37906
    45
                  Steinwender, Andreas and Zangerl, Nikolaus},
wenzelm@60308
    46
  title =        {Mathematik für höhere technische Lehranstalten Band II},
neuper@37906
    47
  publisher =    {Reniets Verlag},
neuper@37906
    48
  year =         {1987},
neuper@37906
    49
  note =         {Schulbuch-Nr. 1682},
neuper@37906
    50
}
neuper@37906
    51
*)
neuper@37906
    52
walther@60330
    53
(*
walther@60330
    54
 Rewrite.trace_on:=false; (*true false*)
walther@59997
    55
 Refine.refine fmz ["univariate", "equation"];
neuper@37906
    56
*)
neuper@37906
    57
"---- rlang.sml begin-----------------------------------";
neuper@37906
    58
(*-----------------  Schalk I s.86 Bsp 5 ------------------------*)
walther@60329
    59
"Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = - 11)";
walther@60329
    60
"Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = - 11)";
walther@60329
    61
"Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = - 11)";
neuper@37906
    62
(*EP*)
walther@60329
    63
val fmz = ["equality (3*x - 1 - (5*x - (2 - 4*x)) = - 11)",
walther@59997
    64
	   "solveFor x", "solutions L"];
walther@59997
    65
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
    66
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
    67
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    68
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    69
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    70
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    71
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    72
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    73
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    74
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    75
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    76
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    77
neuper@37906
    78
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    79
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    80
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    81
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
    82
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 2]")) => ()
neuper@38031
    83
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 5 [x = 2]";
neuper@37906
    84
neuper@37906
    85
(*-----------------  Schalk I s.86 Bsp 19 ------------------------*)
neuper@37906
    86
"Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
neuper@37906
    87
"Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
neuper@37906
    88
"Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
neuper@37906
    89
(*EP*)
neuper@37906
    90
val fmz = ["equality ((x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20))",
walther@59997
    91
	   "solveFor x", "solutions L"];
walther@59997
    92
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
    93
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
    94
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    95
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    96
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    97
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    98
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
    99
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   100
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   101
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   102
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   103
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   104
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   105
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   106
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   107
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   108
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 8]")) => ()
neuper@38031
   109
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 19 [x = 8]";
neuper@37906
   110
neuper@37906
   111
(*-----------------  Schalk I s.86 Bsp 23 ------------------------*)
walther@60242
   112
"Schalk I s.86 Bsp 19 ((2*x+5) \<up> 2+(3*x+4) \<up> 2=(13*x+2)*(x+1)+2*(15+14*x))";
walther@60242
   113
"Schalk I s.86 Bsp 19 ((2*x+5) \<up> 2+(3*x+4) \<up> 2=(13*x+2)*(x+1)+2*(15+14*x))";
walther@60242
   114
"Schalk I s.86 Bsp 19 ((2*x+5) \<up> 2+(3*x+4) \<up> 2=(13*x+2)*(x+1)+2*(15+14*x))";
neuper@37906
   115
(*EP*)
walther@60242
   116
val fmz = ["equality ((2*x+5) \<up> 2+(3*x+4) \<up> 2=(13*x+2)*(x+1)+2*(15+14*x))",
walther@59997
   117
	   "solveFor x", "solutions L"];
walther@59997
   118
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   119
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   120
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   121
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   122
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   123
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   124
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   125
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   126
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   127
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   128
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   129
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   130
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   131
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   132
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   133
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   134
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = -9]")) => ()
neuper@38031
   135
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 23 [x = -9]";
neuper@37906
   136
neuper@37906
   137
(*-----------------  Schalk I s.86 Bsp 25 ------------------------*)
walther@60242
   138
"Schalk I s.86 Bsp 25 ((2*x+1) \<up> 3+(x+1) \<up> 3=(2*x+1) \<up> 2*2*x+(x+2) \<up> 3+x \<up> 2)";
walther@60242
   139
"Schalk I s.86 Bsp 25 ((2*x+1) \<up> 3+(x+1) \<up> 3=(2*x+1) \<up> 2*2*x+(x+2) \<up> 3+x \<up> 2)";
walther@60242
   140
"Schalk I s.86 Bsp 25 ((2*x+1) \<up> 3+(x+1) \<up> 3=(2*x+1) \<up> 2*2*x+(x+2) \<up> 3+x \<up> 2)";
neuper@37906
   141
(*EP*)
walther@60242
   142
val fmz = ["equality ((2*x+1) \<up> 3+(x+1) \<up> 3=(2*x+1) \<up> 2*2*x+(x+2) \<up> 3+x \<up> 2)",
walther@59997
   143
	   "solveFor x", "solutions L"];
walther@59997
   144
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   145
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   146
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   147
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   148
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   149
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   150
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   151
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   152
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   153
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   154
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   155
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   156
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   157
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   158
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   159
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   160
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = -6 / 5]")) => ()
neuper@38031
   161
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 25 [x = -6 / 5]";
neuper@37906
   162
neuper@37906
   163
(*-----------------  Schalk I s.86 Bsp 28b ------------------------*)
neuper@37906
   164
"Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
neuper@37906
   165
"Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
neuper@37906
   166
"Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
walther@60329
   167
(*ER- 2*)
neuper@37906
   168
val fmz = ["equality ((3*x+5)/18 - x/2 = -((3*x - 2)/9))",
walther@59997
   169
	   "solveFor x", "solutions L"];
walther@59997
   170
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   171
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   172
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   173
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   174
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   175
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   176
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   177
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   178
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   179
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   180
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   181
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   182
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   183
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   184
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
walther@59959
   185
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
neuper@38031
   186
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 28b []";
neuper@37906
   187
neuper@37906
   188
(*WN---v *)
walther@60340
   189
val bdv= (Thm.term_of o the o (TermC.parse thy)) "bdv";
walther@60340
   190
val v = (Thm.term_of o the o (TermC.parse thy)) "x";
walther@60340
   191
val t = (Thm.term_of o the o (TermC.parse thy)) "3 * x / 5";
neuper@37926
   192
val SOME (t',_) = rewrite_set_inst_ PolyEq.thy true 
wneuper@59497
   193
				    [ (bdv, v) ] make_ratpoly_in t;
walther@59868
   194
if UnparseC.term t' = "3 / 5 * x" then () else error "rlang.sml: 1";
neuper@37906
   195
Walther@60565
   196
val t = TermC.parse_test @{context} "(3*x+5)/18 - x/2  - -(3*x - 2)/9 = 0";
Walther@60565
   197
val subst = [(TermC.parse_test @{context} "bdv", TermC.parse_test @{context} "x")];
neuper@37926
   198
val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
walther@59868
   199
if UnparseC.term t' = "1 / 18 = 0" then () else error "rlang.sml: 2";
neuper@37906
   200
(*WN---^ *)
neuper@37906
   201
neuper@37906
   202
(*-----------------  Schalk I s.87 Bsp 36b ------------------------*)
neuper@37906
   203
"Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
neuper@37906
   204
"Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
neuper@37906
   205
"Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
walther@60329
   206
(*ER- 1*)
neuper@37906
   207
val fmz = ["equality ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 - (9*x - 7)/4 = 0)",
walther@59997
   208
	   "solveFor x", "solutions L"];
walther@59997
   209
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   210
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   211
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   212
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   213
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   214
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   215
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   216
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   217
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   218
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   219
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   220
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   221
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   222
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   223
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   224
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = - 237 / 65]")) => ()
walther@60329
   225
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 36b [x = - 237 / 65]";
neuper@37906
   226
neuper@37906
   227
neuper@37906
   228
(*WN---v *)
Walther@60565
   229
val t = TermC.parse_test @{context} "(17*x - 51)/9 - (-(13*x - 3)/6) + 11 - (9*x - 7)/4 = 0";
Walther@60565
   230
val subst = [(TermC.parse_test @{context} "bdv", TermC.parse_test @{context} "x")];
neuper@37926
   231
val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
walther@59868
   232
UnparseC.term t';
walther@59868
   233
if UnparseC.term t' = "79 / 12 + 65 / 36 * x = 0" then () 
neuper@38031
   234
else error "rlang.sml: 3";
neuper@37906
   235
(*WN---^ *)
neuper@37906
   236
neuper@37906
   237
neuper@37906
   238
(*-----------------  Schalk I s.87 Bsp 38b ------------------------*)
neuper@37906
   239
"Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
neuper@37906
   240
"Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
neuper@37906
   241
"Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
neuper@37906
   242
(*ER-3*)
walther@60329
   243
val fmz = ["equality (- 2/x + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) = 65/8)",
walther@59997
   244
	   "solveFor x", "solutions L"];
walther@59997
   245
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   246
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   247
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   248
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   249
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   250
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   251
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   252
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   253
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   254
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   255
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   256
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   257
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   258
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   259
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "296 + -3900 * x = 0")) then ()
neuper@38031
   260
else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 38b";
neuper@37906
   261
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   262
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   263
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   264
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   265
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   266
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   267
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   268
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   269
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   270
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   271
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 74 / 975]")) => ()
neuper@38031
   272
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 38b [x = 74 / 975]";
neuper@37906
   273
neuper@37906
   274
(*-----------------  Schalk I s.87 Bsp 40b ------------------------*)
neuper@37906
   275
"Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
neuper@37906
   276
"Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
neuper@37906
   277
"Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
neuper@37906
   278
(*ER-4*)
neuper@37906
   279
val fmz = ["equality ((x+3)/(2*x - 4)=3)",
walther@59997
   280
	   "solveFor x", "solutions L"];
walther@59997
   281
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   282
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   283
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   284
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   285
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   286
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   287
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   288
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   289
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   290
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   291
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   292
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   293
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   294
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
neuper@37906
   295
(*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   296
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;*)
walther@59959
   297
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "15 + -5 * x = 0")) then ()
neuper@38031
   298
else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 40b";
neuper@37906
   299
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   300
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   301
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   302
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   303
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   304
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   305
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   306
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   307
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   308
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 3]")) => ()
neuper@38031
   309
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 40b [x = 3]";
neuper@37906
   310
neuper@37906
   311
neuper@37906
   312
(*-----------------  Schalk I s.87 Bsp 44a ------------------------*)
walther@60242
   313
"Schalk I s.87 Bsp 44a ((1/2+(5*x)/2) \<up> 2 -((13*x)/2- 5/2) \<up> 2 -(6*x) \<up> 2+29)";
walther@60242
   314
"Schalk I s.87 Bsp 44a ((1/2+(5*x)/2) \<up> 2 -((13*x)/2- 5/2) \<up> 2 -(6*x) \<up> 2+29)";
walther@60242
   315
"Schalk I s.87 Bsp 44a ((1/2+(5*x)/2) \<up> 2 -((13*x)/2- 5/2) \<up> 2 -(6*x) \<up> 2+29)";
neuper@37906
   316
(*ER-5*)
walther@60329
   317
val fmz = ["equality ((1/2 + (5*x)/2) \<up> 2 - ((13*x)/2 - 5/2) \<up> 2 = - 1*(6*x) \<up> 2 + 29)",
walther@59997
   318
	   "solveFor x", "solutions L"];
walther@59997
   319
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   320
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@60330
   321
Rewrite.trace_on:=true; (*true false*)
walther@60330
   322
neuper@37906
   323
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   324
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   325
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   326
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   327
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   328
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   329
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   330
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   331
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   332
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   333
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   334
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   335
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   336
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   337
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 1]")) => ()
neuper@38031
   338
	 | _ => error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 44a [x = 1]";
neuper@37906
   339
neuper@37906
   340
(*WN---v *)
Walther@60565
   341
val t = TermC.parse_test @{context} "(1/2 + (5*x)/2) \<up> 2 - ((13*x)/2 - 5/2) \<up> 2 - (6*x) \<up> 2 + 29";
Walther@60565
   342
val subst = [(TermC.parse_test @{context} "bdv", TermC.parse_test @{context} "x")];
neuper@37926
   343
val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
walther@60242
   344
if UnparseC.term t' = "23 + 35 * x + -72 * x \<up> 2" then () 
neuper@38031
   345
else error "rlang.sml: 4";
neuper@37906
   346
Walther@60565
   347
val t = TermC.parse_test @{context} "(1/2 + (5*x)/2) \<up> 2 - ((13*x)/2 - 5/2) \<up> 2 + (6*x) \<up> 2 - 29";
Walther@60565
   348
val subst = [(TermC.parse_test @{context} "bdv", TermC.parse_test @{context} "x")];
neuper@37926
   349
val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
walther@59868
   350
if UnparseC.term t' = "-35 + 35 * x" then () 
neuper@38031
   351
else error "rlang.sml: 4.1";
neuper@37906
   352
(*WN---^ *)
neuper@37906
   353
neuper@37906
   354
(*-----------------  Schalk I s.88 Bsp 64c ------------------------*)
neuper@37906
   355
"Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
neuper@37906
   356
"Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
neuper@37906
   357
"Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
neuper@37906
   358
(*ER-8*)
neuper@37906
   359
val fmz = ["equality (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)",
walther@59997
   360
	   "solveFor x", "solutions L"];
walther@59997
   361
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   362
neuper@37906
   363
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   364
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   365
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   366
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   367
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   368
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   369
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   370
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   371
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   372
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   373
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   374
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   375
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
walther@60329
   376
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "-3 + - 1 * x = 0")) then ()
neuper@38031
   377
else error "rlangsml: diff.behav. in Schalk I s.88 Bsp 64c";
neuper@37906
   378
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   379
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   380
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   381
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   382
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   383
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   384
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   385
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   386
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   387
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   388
case f of Form' (Test_Out.FormKF (_,_,0,_,"[x = -3]")) => ()
neuper@38031
   389
	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.88 Bsp 64c [x = -3]";
neuper@37906
   390
neuper@37906
   391
(*-----------------  Schalk I s.88 Bsp 79a (2) ------------------------*)
neuper@37906
   392
"Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
neuper@37906
   393
"Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
neuper@37906
   394
"Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
walther@60329
   395
(*ER- 10*)
neuper@37906
   396
val fmz = ["equality (m1*v1+m2*v2=0)",
walther@59997
   397
	   "solveFor m1", "solutions L"];
walther@59997
   398
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   399
neuper@37906
   400
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   401
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   402
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   403
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   404
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   405
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   406
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   407
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   408
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   409
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   410
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   411
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   412
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   413
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   414
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[m1 = - 1 * m2 * v2 / v1]")) => ()
walther@60329
   415
	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.88 Bsp 79a (2) [m1 = - 1 * m2 * v2 / v1]";
neuper@37906
   416
neuper@37906
   417
(*-----------------  Schalk I s.89 Bsp 90a(1) ------------------------*)
neuper@37906
   418
"Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
neuper@37906
   419
"Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
neuper@37906
   420
"Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
walther@60329
   421
(*ER- 11*)
neuper@37906
   422
val fmz = ["equality (f=((w+u)/(w+v))*v0)",
walther@59997
   423
	   "solveFor v", "solutions L"];
walther@59997
   424
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   425
neuper@37906
   426
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   427
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   428
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   429
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   430
(*val nxt = Specify_Problem ["rational", "univariate", "equation"])      *)
neuper@37906
   431
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   432
(*val nxt = Specify_Method ["RatEq", "solve_rat_equation"])      *)
neuper@37906
   433
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   434
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   435
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   436
(*nxt = Subproblem ("RatEq",["univariate", "equation"]))      *)
neuper@37906
   437
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   438
(*val nxt =Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
   439
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   440
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   441
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   442
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   443
(*val nxt = ("Apply_Method",Apply_Method ["PolyEq", "normalise_poly"])*)
neuper@37906
   444
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   445
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   446
(*val nxt =Subproblem ("PolyEq",["polynomial", "univariate", "equation"]))*)
neuper@37906
   447
if f = Form'
walther@59959
   448
      (Test_Out.FormKF
neuper@37906
   449
         (~1,
neuper@37906
   450
            EdUndef,
neuper@37906
   451
            0,
neuper@37906
   452
            Nundef,
walther@60329
   453
            "f * w + - 1 * u * v0 + - 1 * v0 * w + f * v = 0")) then ()
neuper@38031
   454
else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 90a";
neuper@37906
   455
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   456
(*val nxt = Model_Problem ["degree_1", "polynomial", "univariate", "equation"])*)
neuper@37906
   457
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   458
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   459
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   460
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   461
(*val nxt = ("Apply_Method",Apply_Method ["PolyEq", "solve_d1_poly_equation"])*)
neuper@37906
   462
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   463
(*val f = "v = - 1 * (f * w + - 1 * u * v0 + - 1 * v0 * w) / f")) : mout
neuper@37906
   464
val nxt = ("Or_to_List",Or_to_List) : string * tac *)
neuper@37906
   465
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   466
(*val f = "[v = - 1 * (f * w + - 1 * u * v0 + - 1 * v0 * w) / f]")) : mout
neuper@37906
   467
val nxt = ("Check_elementwise",Check_elementwise "Assumptions") *)
neuper@37906
   468
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   469
(*val f = "[v = - 1 * (f * w + - 1 * u * v0 + - 1 * v0 * w) / f]")) : mout
walther@59997
   470
val nxt = Check_Postcond ["degree_1", "polynomial", "univariate", "equation"])*)
neuper@37906
   471
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   472
(*val f = "[v = - 1 * (f * w + - 1 * u * v0 + - 1 * v0 * w) / f]")) : mout
walther@59997
   473
val nxt = Check_Postcond ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
   474
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   475
(*val f = "[v = - 1 * (f * w + - 1 * u * v0 + - 1 * v0 * w) / f]")) : mout
neuper@37906
   476
val nxt = ("Check_elementwise",Check_elementwise "Assumptions")*)
neuper@37906
   477
walther@59844
   478
Ctree.get_assumptions pt p;
neuper@37906
   479
(*it = ["v + w ~= 0"]    ... goes to the solution as an assumption*)
neuper@37906
   480
neuper@37906
   481
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   482
(*val f = Form' (Test_Out.FormKF (~1,EdUndef,1,Nundef,"[]")) : mout
walther@59997
   483
val nxt = Check_Postcond ["rational", "univariate", "equation"])        *)
neuper@37906
   484
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   485
case f of Form'  (Test_Out.FormKF (~1,EdUndef,0,Nundef,
walther@60329
   486
        "[v = (u * v0 + v0 * w + - 1 * f * w) / f]")) => ()
neuper@38031
   487
	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 90a (1) [v=...]";
walther@59844
   488
if Ctree.get_assumptions pt p = 
Walther@60565
   489
   [TermC.parse_test @{context}"(u * v0 + v0 * w + - 1 * f * w) / f + w ~= 0"] then () 
neuper@38031
   490
else error "rlang.sml: diff.behav. in I s.89 Bsp 90a (1) [v=...] asm";
neuper@37906
   491
neuper@37906
   492
neuper@37906
   493
(*-----------------  Schalk I s.89 Bsp 90a(2) ------------------------*)
neuper@37906
   494
"Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
neuper@37906
   495
"Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
neuper@37906
   496
"Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
walther@60329
   497
(*ER- 12*)
neuper@37906
   498
val fmz = ["equality (f=((w+u)/(w+v))*v0)",
walther@59997
   499
	   "solveFor w", "solutions L"];
walther@59997
   500
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   501
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   502
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   503
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   504
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   505
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   506
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   507
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   508
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   509
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   510
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   511
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   512
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   513
if f = Form'
walther@59959
   514
      (Test_Out.FormKF
neuper@37906
   515
         (~1,
neuper@37906
   516
            EdUndef,
neuper@37906
   517
            0,
neuper@37906
   518
            Nundef,
walther@60329
   519
            "f * v + - 1 * u * v0 + (f + - 1 * v0) * w = 0")) then ()
neuper@38031
   520
else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 90a (2)";
neuper@37906
   521
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   522
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   523
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   524
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   525
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   526
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   527
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   528
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   529
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   530
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[w = (u * v0 + - 1 * f * v) / (f + - 1 * v0)]")) => ()
neuper@38031
   531
	 | _ => error "rlang.sml: diff.behav. in Schalk I Bsp 90a(2)";
walther@59844
   532
if Ctree.get_assumptions pt p = 
Walther@60565
   533
[TermC.parse_test @{context}"v + (u * v0 + - 1 * f * v) / (f + - 1 * v0) ~= 0",
Walther@60565
   534
 TermC.parse_test @{context}"f + - 1 * v0 ~= 0"]
neuper@37906
   535
then writeln "asm should be simplified ???" 
neuper@38031
   536
else error "rlang.sml: diff.behav. in Schalk I Bsp 90a(2) asm";
neuper@37906
   537
neuper@37906
   538
(*-----------------  Schalk I s.89 Bsp 98a(1) ------------------------*)
neuper@37906
   539
"Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
neuper@37906
   540
"Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
neuper@37906
   541
"Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
neuper@37906
   542
(*ER-9*)
neuper@37906
   543
val fmz = ["equality (1/R=1/R1+1/R2)",
walther@59997
   544
	   "solveFor R1", "solutions L"];
walther@59997
   545
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
   546
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   547
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   548
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   549
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   550
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   551
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   552
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   553
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   554
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   555
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   556
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   557
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   558
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   559
if f = Form'
walther@59959
   560
      (Test_Out.FormKF
walther@60329
   561
        (~1, EdUndef, 0, Nundef, "- 1 * R * R2 + (R2 + - 1 * R) * R1 = 0"))then()
neuper@38031
   562
else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 98a (1)";
neuper@37906
   563
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   564
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   565
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   566
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   567
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   568
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   569
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   570
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   571
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   572
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[R1 = R * R2 / (R2 + - 1 * R)]")) => ()
neuper@38031
   573
	 | _ => error "rlang.sml: diff.behav. in 98a(1) [R1 = ...]";
Walther@60565
   574
if Ctree.get_assumptions pt p = [TermC.parse_test @{context}"R * R2 * R2 ~= (R2 + - 1 * R) * 0",
Walther@60565
   575
			    TermC.parse_test @{context}"R2 + - 1 * R ~= 0",
Walther@60565
   576
			    TermC.parse_test @{context}"R2 + - 1 * R ~= 0"] 
neuper@37906
   577
    then writeln "asm should be simplified"
neuper@38031
   578
else error "rlang.sml: diff.behav. in 98a(1) asm";
neuper@37906
   579
neuper@37906
   580
(*-----------------  Schalk I s.89 Bsp 104a(1) ------------------------*)
walther@60242
   581
"Schalk I s.89 Bsp 104a (1) (y \<up> 2=2*p*x)";
walther@60242
   582
"Schalk I s.89 Bsp 104a (1) (y \<up> 2=2*p*x)";
walther@60242
   583
"Schalk I s.89 Bsp 104a (1) (y \<up> 2=2*p*x)";
walther@60329
   584
(*ER- 13 + EO- 11 ?!?*)
walther@60242
   585
val fmz = ["equality (y \<up> 2=2*p*x)",
walther@59997
   586
	   "solveFor p", "solutions L"];
walther@59997
   587
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   588
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   589
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   590
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   591
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   592
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   593
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   594
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   595
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   596
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   597
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   598
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   599
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt; 
neuper@37906
   600
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   601
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   602
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
   603
case f of Form' (Test_Out.FormKF (_,_,0,_,"[p = y \<up> 2 / (2 * x)]")) => ()
neuper@38031
   604
	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 104a (1) [p = y^2/(2*x)]";
Walther@60565
   605
if Ctree.get_assumptions pt p = [TermC.parse_test @{context}"- 2 * x ~= 0"] 
neuper@37906
   606
then writeln"should be x ~= 0\nshould be x ~= 0\nshould be x ~= 0\n" 
neuper@38031
   607
else error "rlang.sml: diff.behav. in  I s.89 Bsp 104a(1) asm";
neuper@37906
   608
neuper@37906
   609
neuper@37906
   610
(*-----------------  Schalk I s.89 Bsp 104a(2) ------------------------*)
walther@60242
   611
"Schalk I s.89 Bsp 104a (2) (y \<up> 2=2*p*x)";
walther@60242
   612
"Schalk I s.89 Bsp 104a (2) (y \<up> 2=2*p*x)";
walther@60242
   613
"Schalk I s.89 Bsp 104a (2) (y \<up> 2=2*p*x)";
neuper@37906
   614
(*EO ??*)
walther@60242
   615
val fmz = ["equality (y \<up> 2=2*p*x)",
walther@59997
   616
	   "solveFor y", "solutions L"];
walther@59997
   617
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   618
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   619
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   620
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   621
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   622
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   623
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   624
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   625
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   626
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   627
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   628
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   629
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   630
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   631
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   632
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   633
case f of Form' (Test_Out.FormKF (_,_,0,_,"[y = sqrt (2 * p * x), y = - 1 * sqrt (2 * p * x)]")) => ()
neuper@38031
   634
| _ => error "rlang.sml: diff.behav. Schalk I s.89 Bsp 104a(2) [x = ]";
Walther@60565
   635
if Ctree.get_assumptions pt p = [TermC.parse_test @{context}"0 <= - 1 * (- 2 * p * x)",
Walther@60565
   636
                            TermC.parse_test @{context}"0 <= - 1 * (- 2 * p * x)"] 
neuper@41956
   637
then writeln "asm should be simplified\nshould be simplified"
neuper@38031
   638
else error "rlang.sml: diff.behav. in I s.89 Bsp 104a(2) asm";
neuper@37906
   639
neuper@37906
   640
neuper@37906
   641
(*-----------------  Schalk I s.90 Bsp 118a (1) ------------------------*)
walther@60242
   642
"Schalk I s.90 Bsp 118a (1) (b \<up> 2*x \<up> 2 + a \<up> 2*y \<up> 2 = a \<up> 2*b \<up> 2)";
walther@60242
   643
"Schalk I s.90 Bsp 118a (1) (b \<up> 2*x \<up> 2 + a \<up> 2*y \<up> 2 = a \<up> 2*b \<up> 2)";
walther@60242
   644
"Schalk I s.90 Bsp 118a (1) (b \<up> 2*x \<up> 2 + a \<up> 2*y \<up> 2 = a \<up> 2*b \<up> 2)";
neuper@37906
   645
(*EO-8*)
walther@60242
   646
val fmz = ["equality (b \<up> 2*x \<up> 2 + a \<up> 2*y \<up> 2 = a \<up> 2*b \<up> 2)",
walther@59997
   647
	   "solveFor x", "solutions L"];
walther@59997
   648
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   649
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   650
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   651
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   652
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   653
neuper@37906
   654
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   655
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
neuper@37906
   656
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
neuper@37906
   657
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
neuper@37906
   658
neuper@37906
   659
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   660
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   661
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   662
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   663
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   664
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   665
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   666
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   667
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
walther@59844
   668
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@59844
   669
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@59844
   670
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@59844
   671
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@59868
   672
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;UnparseC.terms (*WN1104changed*) (Ctree.get_assumptions pt p);
walther@59868
   673
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;UnparseC.terms (*WN1104changed*) (Ctree.get_assumptions pt p);
neuper@37906
   674
walther@59844
   675
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@59844
   676
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;Ctree.get_assumptions pt p;
walther@60329
   677
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = sqrt ((a \<up> 2 * b \<up> 2 + - 1 * a \<up> 2 * y \<up> 2) / b \<up> 2),\n x = - 1 * sqrt ((a \<up> 2 * b \<up> 2 + - 1 * a \<up> 2 * y \<up> 2) / b \<up> 2)]")) => writeln"should be simplified MG"
neuper@38031
   678
| _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 118a(2) [x = ]";
walther@59844
   679
val asms = Ctree.get_assumptions pt p;
neuper@41956
   680
if asms = 
Walther@60565
   681
  [TermC.parse_test @{context}"0 * b \<up> 2 <= - 1 * (a \<up> 2 * y \<up> 2 + - 1 * a \<up> 2 * b \<up> 2)",
Walther@60565
   682
   TermC.parse_test @{context}"b \<up> 2 ~= 0",
Walther@60565
   683
   TermC.parse_test @{context}"0 * b \<up> 2 <= - 1 * (a \<up> 2 * y \<up> 2 + - 1 * a \<up> 2 * b \<up> 2)",
Walther@60565
   684
   TermC.parse_test @{context}"b \<up> 2 ~= 0"] then writeln"should be simplified MG"
neuper@38031
   685
else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 118a(2) asms";
neuper@37906
   686
neuper@37906
   687
(*-----------------  Schalk I s.102 Bsp 268(1) ------------------------*)
neuper@37906
   688
"Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
neuper@37906
   689
"Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
neuper@37906
   690
"Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
walther@60329
   691
(*ER- 14*)
neuper@37906
   692
val fmz = ["equality (A = (1/2)*(x1*(y2 - y3)+x2*(y3 - y1)+x3*(y1 - y2)))",
walther@59997
   693
	   "solveFor x2", "solutions L"];
walther@59997
   694
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
   695
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   696
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   697
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   698
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   699
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   700
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   701
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   702
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   703
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   704
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   705
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   706
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   707
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   708
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   709
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   710
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x2 =\n (- 2 * A + x1 * y2 + x3 * y1 + - 1 * x1 * y3 + - 1 * x3 * y2) /\n (y1 + - 1 * y3)]")) => ()
neuper@38031
   711
| _ => error "rlang.sml: diff.behav. Schalk I s.102 Bsp 268(1) [x2=...]";
Walther@60565
   712
if Ctree.get_assumptions pt p = [TermC.parse_test @{context}"y1 / 2 + - 1 * y3 / 2 ~= 0"] then ()
neuper@38031
   713
else error "rlang.sml: diff.behav. in I s.102 Bsp 268(1) asm";
neuper@37906
   714
neuper@37906
   715
(*--------------------  Schalk II ----------------------------*)
neuper@37906
   716
(*--------------------  Schalk II ----------------------------*)
neuper@37906
   717
(*--------------------  Schalk II ----------------------------*)
neuper@37906
   718
(*--------------------  Schalk II ----------------------------*)
neuper@37906
   719
(*--------------------  Schalk II ----------------------------*)
neuper@37906
   720
neuper@37906
   721
neuper@37906
   722
(*-----------------  Schalk II s.56 Bsp 67b ------------------------*)
neuper@37906
   723
"Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
neuper@37906
   724
"Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
neuper@37906
   725
"Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
neuper@37906
   726
(*EO*)
neuper@37906
   727
val fmz = ["equality (4*sqrt(4*x+1)=3*sqrt(7*x+2))",
walther@59997
   728
	   "solveFor x", "solutions L"];
walther@59997
   729
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
   730
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   731
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   732
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   733
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   734
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   735
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   736
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   737
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   738
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   739
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   740
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   741
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   742
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
walther@60329
   743
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "- 2 + x = 0")) then ()
neuper@38031
   744
else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 67b";
neuper@37906
   745
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   746
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   747
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   748
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   749
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   750
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   751
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   752
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   753
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   754
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 2]")) => ()
neuper@38031
   755
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 67b [x=2]";
neuper@37906
   756
neuper@37906
   757
(*-----------------  Schalk II s.56 Bsp 68a ------------------------*)
neuper@37906
   758
"Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
neuper@37906
   759
"Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
neuper@37906
   760
"Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
neuper@37906
   761
val fmz = ["equality (5*sqrt(x) - 1 = 7*sqrt(x) - 5)",
walther@59997
   762
	   "solveFor x", "solutions L"];
walther@59997
   763
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
   764
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
   765
(* val nxt = ("Model_Problem",Model_Problem ["normalise", "rootX", "univariate", "equation"])*)
wneuper@59489
   766
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   767
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   768
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   769
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   770
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   771
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
   772
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   773
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   774
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   775
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   776
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   777
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   778
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   779
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
   780
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   781
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   782
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   783
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   784
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   785
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   786
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59844
   787
Ctree.get_assumptions pt p;
walther@59997
   788
(* val nxt = ("Model_Problem",  Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
   789
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   790
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   791
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   792
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   793
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   794
if f = Form'
walther@59959
   795
      (Test_Out.FormKF
walther@60329
   796
         (~1, EdUndef, 0, Nundef, "256 + - 2368 * x + 576 * x \<up> 2 = 0"))then()
neuper@38031
   797
else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 68a";
neuper@37906
   798
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59844
   799
Ctree.get_assumptions pt p;
neuper@37906
   800
(* val nxt = ("Model_Problem",  Model_Problem
walther@59997
   801
     ["abcFormula", "degree_2", "polynomial", "univariate", "equation"])*)
neuper@37906
   802
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   803
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   804
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   805
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   806
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   807
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59844
   808
Ctree.get_assumptions pt p;
neuper@37906
   809
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   810
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   811
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   812
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   813
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 4, x = 1 / 9]")) 
neuper@37906
   814
then writeln "only [x = 4] !\nonly [x = 4] !\nonly [x = 4] !\n"
neuper@38031
   815
else error "rlang.sml: diff.behav. in II 68a";
walther@59844
   816
val asms = Ctree.get_assumptions pt p;
walther@59868
   817
if UnparseC.terms (*WN1104changed*) asms = 
walther@60329
   818
"[0 <= (25 * (1 / 9) + - 1 * (16 + 49 * (1 / 9))) * -56,\
neuper@41956
   819
 \0 <= 1 / 9,\
neuper@41956
   820
 \0 <= 1 / 9,\
neuper@41956
   821
 \0 <= (-5 + 7 * sqrt (1 / 9) + 1) * 5,\
neuper@41956
   822
 \0 <= 1 / 9,\
walther@60329
   823
 \0 <= (25 * (1 / 9) + - 1 * (16 + 49 * (1 / 9))) * -56,\
neuper@41956
   824
 \0 <= 1 / 9]"
walther@59851
   825
(*WN050916 before correction 'rewrite__set_ called with 'Rule_Set.Empty' for ..'
walther@59851
   826
  thus: maybe the rls for the asms is Rule_Set.Empty ??:
Walther@60565
   827
   [(TermC.parse_test @{context}"0 <= (25 * (1 / 9) + - 1 * (16 + 49 * (1 / 9))) * -56", []),
Walther@60565
   828
    (TermC.parse_test @{context}"9 ~= 0", []),
Walther@60565
   829
    (TermC.parse_test @{context}"0 <= (-5 + 7 * sqrt (1 / 9) + 1) * 5", []),
Walther@60565
   830
    (TermC.parse_test @{context}"9 ~= 0", []),
Walther@60565
   831
    (TermC.parse_test @{context}"0 <= (25 * (1 / 9) + - 1 * (16 + 49 * (1 / 9))) * -56", [])]*)
neuper@37906
   832
    then "should get True * False!!!"
neuper@38031
   833
else error "rlang.sml: diff.behav. in II 68a asms";
neuper@37906
   834
neuper@37906
   835
(*-----------------  Schalk II s.56 Bsp 73b ------------------------*)
neuper@37906
   836
"Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
neuper@37906
   837
"Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
neuper@37906
   838
"Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
walther@60329
   839
(*EO- 2*)
neuper@37906
   840
val fmz = ["equality (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))",
walther@59997
   841
	   "solveFor x", "solutions L"];
walther@59997
   842
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
   843
neuper@37906
   844
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   845
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   846
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   847
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   848
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   849
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   850
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   851
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   852
(*"13 + 13 * x + - 2 * sqrt ((4 + 4 * x) * (9 + 9 * x)) = 1 + x" 
neuper@37991
   853
-> Subproblem ("RootEq", ["univariate", ...])*)
neuper@37906
   854
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   855
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   856
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   857
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   858
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   859
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   860
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
   861
(*"144 + 288 * x + 144 * x \<up> 2 = 144 + x \<up> 2 + 288 * x + 143 * x \<up> 2"
neuper@37991
   862
-> Subproblem ("RootEq", ["univariate", ...])*)
neuper@37906
   863
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   864
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   865
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   866
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   867
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   868
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   869
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "0 = 0")) then ()
neuper@38031
   870
else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 73b";
neuper@37906
   871
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   872
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   873
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   874
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   875
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   876
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   877
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   878
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   879
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   880
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59844
   881
val asm = Ctree.get_assumptions pt p;
walther@59959
   882
if asm=[] andalso f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"UniversalList")) andalso nxt = ("End_Proof'",End_Proof') then ()
neuper@38031
   883
else error "rlang.sml: diff.behav. in UniversalList 2";
neuper@37906
   884
neuper@37906
   885
(*-----------------  Schalk II s.56 Bsp 74a ------------------------*)
neuper@37906
   886
"Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
neuper@37906
   887
"Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
neuper@37906
   888
"Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
neuper@37906
   889
(*EO-3*)
neuper@37906
   890
val fmz = ["equality (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))",
walther@59997
   891
	   "solveFor x", "solutions L"];
walther@59997
   892
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
   893
neuper@37906
   894
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
   895
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   896
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   897
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   898
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   899
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   900
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   901
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   902
(*4 + 5 * x + - 2 * sqrt (3 + 13 * x + 4 * x \<up> 2) = - 2 + x" 
neuper@37991
   903
-> Subproblem ("RootEq", ["univariate", ...])*)
neuper@37906
   904
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   905
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   906
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   907
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   908
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   909
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   910
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   911
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
   912
(*"12 + 52 * x + 16 * x \<up> 2 = 36 + x \<up> 2 + 48 * x + 15 * x \<up> 2"
neuper@37991
   913
-> Subproblem ("RootEq", ["univariate", ...])*)
neuper@37906
   914
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   915
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   916
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   917
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   918
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   919
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
   920
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "- 24 + 4 * x = 0")) then ()
neuper@38031
   921
else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 74a";
neuper@37991
   922
(*-> ubproblem ("PolyEq", ["degree_1", ...]*)
neuper@37906
   923
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   924
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   925
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   926
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   927
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   928
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   929
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   930
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   931
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   932
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   933
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 6]")) => ()
neuper@38031
   934
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 74a [x = 6]";
neuper@37906
   935
neuper@37906
   936
neuper@37906
   937
(*-----------------  Schalk II s.56 Bsp 77b ------------------------*)
neuper@37906
   938
"Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
neuper@37906
   939
"Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
neuper@37906
   940
"Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
neuper@37906
   941
(*EO-4*)
neuper@37906
   942
val fmz = ["equality (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))",
walther@59997
   943
	   "solveFor x", "solutions L"];
walther@59997
   944
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
   945
neuper@37906
   946
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
   947
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
wneuper@59489
   948
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   949
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   950
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   951
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   952
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   953
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
   954
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
   955
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
   956
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   957
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   958
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   959
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   960
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   961
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   962
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
neuper@37906
   963
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; 
walther@59997
   964
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
   965
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   966
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   967
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   968
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   969
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   970
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   971
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   972
(*val nxt = ("Model_Problem", 
walther@59997
   973
 Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
   974
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   975
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   976
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   977
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   978
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   979
(*val (p,_,f,nxt,_,pt) = me nxt p [1] pt; since MGs norm_Rational*)
walther@60329
   980
if f = Form'(Test_Out.FormKF (~1, EdUndef, 0, Nundef, "451584 + - 112896 * x = 0"))then()
neuper@38031
   981
else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 77b";
neuper@37906
   982
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   983
(* val nxt = ("Model_Problem",
walther@59997
   984
   Model_Problem ["degree_1", "polynomial", "univariate", "equation"])*)
neuper@37906
   985
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   986
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   987
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   988
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   989
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   990
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   991
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   992
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   993
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
   994
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
neuper@38031
   995
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 77b []";
neuper@37906
   996
(*added 040209 at introducing MGs norm_Rational ?!*)
neuper@37906
   997
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
   998
neuper@37906
   999
neuper@37906
  1000
(*-----------------  Schalk II s.66 Bsp 4 ------------------------*)
neuper@37906
  1001
"Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
neuper@37906
  1002
"Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
neuper@37906
  1003
"Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
neuper@37906
  1004
(*EP*)
neuper@37906
  1005
val fmz = ["equality ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)",
walther@59997
  1006
	   "solveFor x", "solutions L"];
walther@59997
  1007
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1008
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1009
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1010
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1011
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1012
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1013
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1014
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1015
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1016
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1017
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1018
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1019
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1020
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1021
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1022
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
  1023
case f of   Form' (Test_Out.FormKF (_,_,0,_,"[x = 5, x = -5]")) => ()
neuper@38031
  1024
  | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 4 []";
neuper@37906
  1025
neuper@37906
  1026
neuper@37906
  1027
(*-----------------  Schalk II s.66 Bsp 8a ------------------------*)
neuper@37906
  1028
"Schalk II s.66 Bsp 8a ((x - 4)/(x+4) = (1 - x)/(1+x))";
walther@60329
  1029
(*ER- 15*)
neuper@37906
  1030
val fmz = ["equality ((x - 4)/(x+4) = (1 - x)/(1+x))",
walther@59997
  1031
	   "solveFor x", "solutions L"];
walther@59997
  1032
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1033
neuper@37906
  1034
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1035
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1036
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1037
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1038
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1039
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1040
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1041
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
walther@60329
  1042
(*"(-4 + x) * (1 + x) = (1 + - 1 * x) * (4 + x)"
neuper@37991
  1043
-> Subproblem ("RatEq", ["univariate", ...])*)
neuper@37906
  1044
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1045
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1046
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1047
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1048
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1049
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1050
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
  1051
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "-8 + 2 * x \<up> 2 = 0")) then ()
neuper@38031
  1052
else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 8a";
neuper@37991
  1053
(*-> Subproblem ("PolyEq", ["polynomial", ...])*)
neuper@37906
  1054
(* 
walther@59959
  1055
 val Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, str)) = f;
neuper@37906
  1056
 *)
neuper@37906
  1057
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1058
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1059
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1060
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1061
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1062
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1063
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1064
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1065
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
  1066
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = - 2]")) => ()
walther@60329
  1067
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 8a [x = 2, x = - 2]";
neuper@37906
  1068
neuper@37906
  1069
(*-----------------  Schalk II s.66 Bsp 10b ------------------------*)
walther@60242
  1070
"Schalk II s.66 Bsp 10b (1/(x \<up> 2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
walther@60242
  1071
"Schalk II s.66 Bsp 10b (1/(x \<up> 2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
walther@60242
  1072
"Schalk II s.66 Bsp 10b (1/(x \<up> 2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
walther@60242
  1073
val fmz = ["equality (1/(x \<up> 2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))",
walther@59997
  1074
	   "solveFor x", "solutions L"];
walther@59997
  1075
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1076
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1077
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1078
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1079
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1080
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1081
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1082
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1083
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1084
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1085
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1086
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1087
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1088
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1089
if f = Form'
walther@59959
  1090
      (Test_Out.FormKF
neuper@37906
  1091
         (~1,
neuper@37906
  1092
            EdUndef,
neuper@37906
  1093
            0,
neuper@37906
  1094
            Nundef,
walther@60329
  1095
            "60 + 28 * x + - 13 * x \<up> 2 + - 1 * x \<up> 3 = 0")) then ()
neuper@38031
  1096
else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 10b";
neuper@37906
  1097
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1098
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1099
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1100
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1101
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1102
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
  1103
(*60 + 28 * x + - 13 * x \<up> 2 + - 1 * x \<up> 3 = 0 ... degree 3 not solvable*)
neuper@37906
  1104
neuper@37906
  1105
neuper@37906
  1106
(*-----------------  Schalk II s.66 Bsp 20a ------------------------*)
neuper@37906
  1107
(*EO-6*)
walther@60242
  1108
"Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x \<up> 2 - 9))=5)";
walther@60242
  1109
"Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x \<up> 2 - 9))=5)";
walther@60242
  1110
"Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x \<up> 2 - 9))=5)";
walther@60242
  1111
val fmz = ["equality (sqrt(29 - sqrt(x \<up> 2 - 9))=5)",
walther@59997
  1112
	   "solveFor x", "solutions L"];
walther@59997
  1113
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1114
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1115
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1116
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1117
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1118
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1119
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1120
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1121
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1122
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1123
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1124
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1125
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1126
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1127
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1128
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1129
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1130
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1131
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1132
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
  1133
if f = Form' (Test_Out.FormKF (~1, EdUndef, 0, Nundef, "- 25 + x \<up> 2 = 0")) then ()
neuper@38031
  1134
else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 20a";
neuper@37906
  1135
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1136
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1137
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1138
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1139
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1140
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1141
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1142
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1143
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1144
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1145
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
  1146
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 5, x = -5]")) => ()
neuper@38031
  1147
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 20a [x = 5, x = -5]";
neuper@37906
  1148
neuper@37906
  1149
(*-----------------  Schalk II s.66 Bsp 23b ------------------------*)
neuper@37906
  1150
"Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
neuper@37906
  1151
"Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
neuper@37906
  1152
"Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
neuper@37906
  1153
(*EO WN060310 something wrong:
walther@60329
  1154
([6, 6, 3, 1], Frm) "- 1064944 + 32 * x + -48 * x \<up> 2 = 0"
neuper@37906
  1155
	### or2list False
neuper@41928
  1156
([6, 6, 3, 1], Res) "HOL.False"
neuper@37906
  1157
*)
neuper@37906
  1158
val fmz = ["equality (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))",
walther@59997
  1159
	   "solveFor x", "solutions L"];
walther@59997
  1160
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1161
neuper@37906
  1162
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1163
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1164
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1165
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1166
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1167
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1168
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1169
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1170
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1171
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1172
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1173
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1174
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1175
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1176
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1177
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1178
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1179
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1180
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1181
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1182
val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
neuper@37906
  1183
if f = Form'
walther@59959
  1184
      (Test_Out.FormKF
walther@60329
  1185
       (~1, EdUndef, 0, Nundef, "- 1064944 + 32 * x + -48 * x \<up> 2 = 0"))then()
neuper@38031
  1186
else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 23b";
neuper@37906
  1187
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1188
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1189
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1190
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1191
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1192
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1193
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
  1194
case f of Form' (Test_Out.FormKF (~1,EdUndef,_,Nundef,"[]")) => ()
neuper@38031
  1195
	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 23b []";
neuper@37906
  1196
neuper@37906
  1197
(*-----------------  Schalk II s.66 Bsp 28a ------------------------*)
walther@60242
  1198
"Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a \<up> 2 - c \<up> 2))";
walther@60242
  1199
"Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a \<up> 2 - c \<up> 2))";
walther@60242
  1200
"Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a \<up> 2 - c \<up> 2))";
walther@60242
  1201
val fmz = ["equality (A=(c/d)*sqrt(4*a \<up> 2 - c \<up> 2))",
walther@59997
  1202
	   "solveFor a", "solutions L"];
walther@59997
  1203
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1204
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1205
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1206
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1207
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1208
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1209
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1210
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1211
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1212
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1213
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1214
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1215
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1216
(*if f = Form'
walther@59959
  1217
      (Test_Out.FormKF
neuper@37906
  1218
         (~1,
neuper@37906
  1219
            EdUndef,
neuper@37906
  1220
            0,
neuper@37906
  1221
            Nundef,
walther@60242
  1222
            "c \<up> 4 / d \<up> 2 + A \<up> 2 * d \<up> 2 / d \<up> 2 +\n-4 * c \<up> 2 / d \<up> 2 * a \<up> 2 =\n0")) then ()*)
neuper@37906
  1223
if f2str f = 
walther@60242
  1224
   "c \<up> 4 / d \<up> 2 + A \<up> 2 / 1 + -4 * c \<up> 2 / d \<up> 2 * a \<up> 2 = 0"
neuper@38031
  1225
then () else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 28a";
neuper@37906
  1226
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1227
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1228
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1229
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1230
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1231
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1232
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1233
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1234
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
  1235
case f of Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[a = sqrt ((c \<up> 4 + A \<up> 2 * d \<up> 2) / (4 * c \<up> 2)),\n a = - 1 * sqrt ((c \<up> 4 + A \<up> 2 * d \<up> 2) / (4 * c \<up> 2))]")) => ()
neuper@38031
  1236
| _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 28a [a=...]";
neuper@37906
  1237
neuper@37906
  1238
neuper@37906
  1239
neuper@37906
  1240
(*-----------------  Schalk II s.68 Bsp 52b ------------------------*)
neuper@37906
  1241
"Schalk II s.68 Bsp 52b (1/(x - a+b)=1/x - 1/a + 1/b)";
neuper@37906
  1242
val fmz = ["equality (1/(x - a+b)=1/x - 1/a + 1/b)",
walther@59997
  1243
	   "solveFor x", "solutions L"];
walther@59997
  1244
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1245
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1246
(* val nxt = ("Model_Problem",Model_Problem ["rational", "univariate", "equation"])*)
neuper@37906
  1247
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1248
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37991
  1249
(*val nxt = ("Specify_Theory",Specify_Theory "RatEq")*)
neuper@37906
  1250
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1251
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1252
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1253
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1254
(*val p = ([3],Res)
walther@60329
  1255
val f="1 * (a * (b * x)) = (a * b + (a * x + - 1 * (b * x))) * (b + (x + - 1 * a)
walther@59997
  1256
val nxt = Subproblem ("RatEq",["univariate", "equation"]))*)
neuper@37906
  1257
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1258
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1259
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37991
  1260
(*val nxt = ("Specify_Theory",Specify_Theory "PolyEq")*)
neuper@37906
  1261
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
  1262
(* nxt = Specify_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
  1263
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1264
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1265
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1266
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1267
(*val (p,_,f,nxt,_,pt) = me nxt p [1] pt; at introducing of MGs norm_Rational*)
walther@60329
  1268
(*val p = ([4,5],Res)  val f ="b * a \<up> 2 + - 1 * a * b \<up> 2 + (a \<up> 2 + b \<up> 2 + - 2 * a * b) * x +\n(b + - 1 * a) * x \<up> 2 =\n0"))
walther@59997
  1269
val nxt = Subproblem ("PolyEq",["polynomial", "univariate", "equation"]))*)
neuper@37906
  1270
if f = Form'
walther@59959
  1271
      (Test_Out.FormKF
neuper@37906
  1272
         (~1,
neuper@37906
  1273
            EdUndef,
neuper@37906
  1274
            0,
neuper@37906
  1275
            Nundef,
walther@60329
  1276
            "b * a \<up> 2 + - 1 * a * b \<up> 2 + (a \<up> 2 + b \<up> 2 + - 2 * a * b) * x +\n(b + - 1 * a) * x \<up> 2 =\n0")) then ()
neuper@38031
  1277
else error "rlang.sml: diff.behav. in chalk I s.87 Bsp 38b";
neuper@37906
  1278
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1279
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1280
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37991
  1281
(*val nxt = ("Specify_Theory",Specify_Theory "PolyEq")*)
neuper@37906
  1282
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
  1283
(*Specify_Problem["abcFormula", "degree_2", "polynomial", "univariate", "equation*)
neuper@37906
  1284
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1285
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1286
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1287
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1288
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1289
(*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;introducing MGs norm_Rational*)
walther@60329
  1290
(*val p = ([4,6,5],Res) val f ="[x =\n (2 * a * b + - 1 * a \<up> 2 + - 1 * b \<up> 2 +\n  sqrt\n   (a \<up> 4 + b \<up> 4 + -4 * a * a * b \<up> 2 + -4 * a * b * a \<up> 2 +\n    -4 * b * b * a \<up> 2 +\n    4 * a * a * b \<up> 2 +\n    4 * a * b * a \<up> 2 +\n    2 * a \<up> 2 * b \<up> 2)) /\n (- 2 * a + 2 * #"
walther@59997
  1291
nx Check_Postcond["abcFormula", "degree_2", "polynomial", "univariate", "equation*)
walther@59997
  1292
(*9.9.03:   -"-  ["normalise", "polynomial", "univar...*)
neuper@37906
  1293
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1294
(*val p = ([4,6],Res)
walther@59997
  1295
val nxt =Check_Postcond ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
  1296
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1297
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;(*1 additional for MGs norm_Rational*)
walther@59959
  1298
if p = ([],Res) andalso f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,
walther@60329
  1299
"[x =\n (2 * a * b + - 1 * a \<up> 2 + - 1 * b \<up> 2 +\n  sqrt\n   (a \<up> 4 + b \<up> 4 + -4 * a * a * b \<up> 2 + -4 * a * b * a \<up> 2 +\n    -4 * b * b * a \<up> 2 +\n    4 * a * a * b \<up> 2 +\n    4 * a * b * a \<up> 2 +\n    2 * a \<up> 2 * b \<up> 2)) /\n (- 2 * a + 2 * b),\n x =\n (2 * a * b + - 1 * a \<up> 2 + - 1 * b \<up> 2 +\n  - 1 *\n  sqrt\n   (a \<up> 4 + b \<up> 4 + -4 * a * a * b \<up> 2 + -4 * a * b * a \<up> 2 +\n    -4 * b * b * a \<up> 2 +\n    4 * a * a * b \<up> 2 +\n    4 * a * b * a \<up> 2 +\n    2 * a \<up> 2 * b \<up> 2)) /\n (- 2 * a + 2 * b)]")) andalso nxt = ("End_Proof'",End_Proof') then writeln"simplify MG"
neuper@38031
  1300
else error "rlang.sml: diff.behav. in rational-a-b";
neuper@37906
  1301
neuper@37906
  1302
(*-----------------  Schalk II s.68 Bsp 56a ------------------------*)
walther@60242
  1303
"Schalk II s.68 Bsp 56a ((a+b*x)/(a-b*x) - (a - b*x)/(a+b*x)= (4*a*b)/(a \<up> 2 - b \<up> 2))";
walther@60242
  1304
val fmz = ["equality ((a+b*x)/(a-b*x) - (a - b*x)/(a+b*x)= (4*a*b)/(a \<up> 2 - b \<up> 2))", "solveFor x", "solutions L"];
walther@59997
  1305
val (dI',pI',mI') = ("RatEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1306
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1307
(* val nxt = ("Model_Problem",Model_Problem ["rational", "univariate", "equation"]) *)
neuper@37906
  1308
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1309
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1310
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1311
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1312
(*SK loops with poly:
neuper@37906
  1313
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1314
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1315
neuper@37906
  1316
... with sml-nj:
walther@60329
  1317
 (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + b * x) / (a + b * x) =
walther@60329
  1318
    4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@52105
  1319
add_fractions_p wird nicht angewendet, weil ...
neuper@37906
  1320
add_fract terminiert nicht: 030603
neuper@37906
  1321
siehe Rational.ML rational.sml
neuper@37906
  1322
*)
neuper@37906
  1323
neuper@37906
  1324
(*
walther@60329
  1325
"(a + b * x) / (a + - 1 * (b * x)) + - 1 * (a + - 1 * (b * x)) / (a + b * x) =\n4 * a * b / (a \<up> 2 + - 1 * b \<up> 2)"
neuper@37906
  1326
neuper@37906
  1327
val nxt = ("Rewrite_Set",Rewrite_Set "make_ratpoly") : string * tac           
walther@60329
  1328
"(a + b * x) / (a + - 1 * b * x) + (- 1 * a + b * x) / (a + b * x) =\n4 *
walther@60329
  1329
a * b / (a \<up> 2 + - 1 * b \<up> 2)"
neuper@37906
  1330
neuper@37906
  1331
Walther@60565
  1332
val t = TermC.parse_test @{context}"(a + b * x) / (a + - 1 * (b * x)) + - 1 * (a + - 1 * (b * x)) / (a + b * x) =\n4 * a * b / (a \<up> 2 + - 1 * b \<up> 2)";
walther@60330
  1333
Rewrite.trace_on := false; (*true false*)
neuper@37926
  1334
val SOME (t',asm) = rewrite_set_ thy false norm_Rational t;
walther@59868
  1335
UnparseC.term t';
walther@60330
  1336
Rewrite.trace_on:=false; (*true false*)
neuper@37906
  1337
walther@60329
  1338
#  rls: norm_Rational on: (a + b * x) / (a + - 1 * (b * x)) + - 1 * (a + - 1 * (b * x)) / (a + b * x) = 4 * a * b / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1339
neuper@37906
  1340
##  rls: discard_minus on: 
neuper@37906
  1341
##  rls: powers on:
neuper@37906
  1342
##  rls: rat_mult_divide on:
neuper@37906
  1343
##  rls: expand on:
neuper@37906
  1344
##  rls: reduce_0_1_2 on:
neuper@37906
  1345
##  rls: order_add_mult on:
walther@59877
  1346
###  try thm: mult.commute
walther@60329
  1347
===  rewrites to: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + - 1 * (- 1 * (b * x))) / (a + b * x) = b * (4 * a) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1348
neuper@37906
  1349
###  try thm: real_mult_left_commute
walther@60329
  1350
===  rewrites to: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + - 1 * (- 1 * (b * x))) / (a + b * x) = 4 * (b * a) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1351
walther@59877
  1352
###  try thm: mult.commute
walther@60329
  1353
===  rewrites to: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + - 1 * (- 1 * (b * x))) / (a + b * x) = 4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1354
neuper@37906
  1355
###  try calc: op *'
walther@60329
  1356
===  calc. to: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + 1 * (b * x)) / (a +b * x) = 4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1357
walther@60329
  1358
##  rls: add_fractions_p on: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + 1 * (b * x)) / (a + b * x) = 
walther@60329
  1359
                                                                                                    4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1360
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
neuper@37906
  1361
neuper@37906
  1362
##  rls: discard_minus on:
neuper@37906
  1363
##  rls: powers on:
neuper@37906
  1364
##  rls: rat_mult_divide on:
neuper@37906
  1365
##  rls: expand on:
neuper@37906
  1366
##  rls: reduce_0_1_2 on:
neuper@37906
  1367
###  try thm: real_mult_1
walther@60329
  1368
===  rewrites to: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + b * x) / (a + b * x) = 4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1369
neuper@37906
  1370
##  rls: order_add_mult on:
neuper@37906
  1371
walther@60329
  1372
##  rls: add_fractions_p on: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + b * x) / (a + b * x) =
walther@60329
  1373
                                                                                                    4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1374
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
neuper@37906
  1375
neuper@37906
  1376
##  rls: discard_minus on:
neuper@37906
  1377
##  rls: powers on:
neuper@37906
  1378
##  rls: rat_mult_divide on:
neuper@37906
  1379
##  rls: expand on:
neuper@37906
  1380
##  rls: reduce_0_1_2 on:
neuper@37906
  1381
##  rls: order_add_mult on:
neuper@37906
  1382
##  rls: collect_numerals on:
walther@60329
  1383
##  rls: add_fractions_p on: (a + b * x) / (a + - 1 * (b * x)) + (- 1 * a + b * x) / (a + b * x) =
walther@60329
  1384
4 * (a * b) / (a \<up> 2 + - 1 * b \<up> 2)
neuper@37906
  1385
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
neuper@37906
  1386
*)
neuper@37906
  1387
 
neuper@37906
  1388
neuper@37906
  1389
(*-----------------  Schalk II s.68 Bsp 61b ------------------------*)
neuper@37906
  1390
"Schalk II s.68 Bsp 61b (sqrt(x+a)+sqrt(b - x)=sqrt(a+b))";
neuper@37906
  1391
val fmz = ["equality (sqrt(x+a)+sqrt(b - x)=sqrt(a+b))",
walther@59997
  1392
	   "solveFor x", "solutions L"];
walther@59997
  1393
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1394
neuper@37906
  1395
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1396
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"])*)
wneuper@59489
  1397
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1398
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1399
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1400
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1401
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1402
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
wneuper@59489
  1403
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59997
  1404
(* val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"])*)
neuper@37906
  1405
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1406
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1407
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1408
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1409
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1410
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1411
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1412
(*val nxt = ("Model_Problem",
walther@59997
  1413
   Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
  1414
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1415
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1416
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1417
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1418
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1419
if f = Form'
walther@59959
  1420
      (Test_Out.FormKF
neuper@37906
  1421
         (~1,
neuper@37906
  1422
            EdUndef,
neuper@37906
  1423
            0,
neuper@37906
  1424
            Nundef,
walther@60329
  1425
            (*"-4 * b \<up> 2 + -4 * a * b + 4 * b \<up> 2 + 8 * a * b +\n(- 2 * a + -4 * a + -4 * b + 2 * a + 8 * b) * x +\n-4 * x \<up> 2 =\n0" before MG*)
walther@60242
  1426
	    "4 * a * b + (-4 * a + 4 * b) * x + -4 * x \<up> 2 = 0")) then ()
neuper@38031
  1427
else error "rlang.sml: diff.behav. in Schalk II s.68 Bsp 61b";
neuper@37906
  1428
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1429
(*val nxt = ("Model_Problem", Model_Problem
walther@59997
  1430
     ["abcFormula", "degree_2", "polynomial", "univariate", "equation"])*)
neuper@37906
  1431
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1432
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1433
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1434
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
  1435
(* f= ... "-4 * b \<up> 2 + -4 * a * b + 4 * b \<up> 2 + 8 * a * b + 
walther@60329
  1436
           (- 2 * a + -4 * a + -4 * b + 2 * a + 8 * b) * x + -4 * x \<up> 2 =0"*)
neuper@37906
  1437
(*val nxt = ("Rewrite_Set_Inst",Rewrite_Set_Inst ([#],"d2_polyeq_abcFormula_simplify"))*)
neuper@37906
  1438
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1439
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1440
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1441
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1442
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1443
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@59959
  1444
(*if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef, with norm_Rational before MG
walther@60329
  1445
"[x =\n (- 2 * a + -4 * b + 6 * a +\n  sqrt\n   (32 * a * b + - 16 * a \<up> 2 + -48 * b \<up> 2 + 24 * a \<up> 2 +\n    64 * b \<up> 2 +\n    8 * a \<up> 2)) /\n -8,\n x =\n (- 2 * a + -4 * b + 6 * a +\n  - 1 *\n  sqrt\n   (32 * a * b + - 16 * a \<up> 2 + -48 * b \<up> 2 + 24 * a \<up> 2 +\n    64 * b \<up> 2 +\n    8 * a \<up> 2)) /\n -8]")) then writeln"simplify MG"*)
walther@60329
  1446
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x =\n (-4 * b + 4 * a + sqrt (32 * a * b + 16 * a \<up> 2 + 16 * b \<up> 2)) / -8,\n x =\n (-4 * b + 4 * a + - 1 * sqrt (32 * a * b + 16 * a \<up> 2 + 16 * b \<up> 2)) /\n -8]")) then ()
neuper@38031
  1447
else error "rlang.sml: diff.behav. Bsp 61b";
neuper@37906
  1448
(*WN.18.12.03: extreme run-time !!!*)
neuper@37906
  1449
neuper@37906
  1450
neuper@37906
  1451
(*-----------------  Schalk II s.68 Bsp 62b ------------------------*)
walther@60242
  1452
"Schalk II s.68 Bsp 62b (sqrt((x+a) \<up> 2+(x - 2*b) \<up> 2)=a+2*b)";
walther@60242
  1453
val fmz = ["equality (sqrt((x+a) \<up> 2+(x - 2*b) \<up> 2)=a+2*b)",
walther@59997
  1454
	   "solveFor x", "solutions L"];
walther@59997
  1455
val (dI',pI',mI') = ("RootEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1456
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1457
(*val nxt = ("Model_Problem",Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
  1458
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1459
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1460
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1461
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1462
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1463
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1464
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1465
(* val nxt = ("Model_Problem",
walther@59997
  1466
   Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
  1467
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1468
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1469
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1470
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1471
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1472
if f = Form'
walther@59959
  1473
      (Test_Out.FormKF
neuper@37906
  1474
         (~1,
neuper@37906
  1475
            EdUndef,
neuper@37906
  1476
            0,
neuper@37906
  1477
            Nundef,
walther@60242
  1478
            "-4 * a * b + (-4 * b + 2 * a) * x + 2 * x \<up> 2 = 0")) then ()
neuper@38031
  1479
else error "rlang.sml: diff.behav. in Schalk II s.68 Bsp 62b";
neuper@37906
  1480
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1481
(*val nxt =  ("Model_Problem", Model_Problem
walther@59997
  1482
     ["abcFormula", "degree_2", "polynomial", "univariate", "equation"])*)
neuper@37906
  1483
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1484
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1485
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1486
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1487
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60242
  1488
(*val f = ... "-4 * a * b + (-4 * b + 2 * a) * x + 2 * x \<up> 2 = 0" *)
neuper@37906
  1489
(*val nxt =  ("Rewrite_Set_Inst",Rewrite_Set_Inst ([#],"d2_polyeq_abcFormula_simplify"))*)
neuper@37906
  1490
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1491
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1492
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1493
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1494
(*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;introduc.MGs norm_Rational*)
walther@59959
  1495
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,
walther@60329
  1496
        "[x = (- 2 * a + 4 * b + sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4,\n x =\n (- 2 * a + 4 * b + - 1 * sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4]")) then writeln "simplify MG"
neuper@38031
  1497
else error "rlang.sml: diff.behav. in II 62b [x=...]";
walther@59844
  1498
val asms = Ctree.get_assumptions pt p;
Walther@60565
  1499
if asms = [TermC.parse_test @{context}"0 <= ((- 2 * a + 4 * b + sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4 + a) \<up> 2 + ((- 2 * a + 4 * b + sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4 - 2 * b) \<up> 2",
Walther@60565
  1500
	   TermC.parse_test @{context}"0 <= a + 2 * b",
Walther@60565
  1501
	   TermC.parse_test @{context}"8 * (-4 * a * b) <= (-4 * b + 2 * a) \<up> 2",
Walther@60565
  1502
	   TermC.parse_test @{context}"8 * (-4 * a * b) <= (-4 * b + 2 * a) \<up> 2",
Walther@60565
  1503
	   TermC.parse_test @{context}"0 <= ((- 2 * a + 4 * b + - 1 * sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4 + a) \<up> 2 + ((- 2 * a + 4 * b + - 1 * sqrt (16 * a * b + 16 * b \<up> 2 + 4 * a \<up> 2)) / 4 - 2 * b) \<up> 2",
Walther@60565
  1504
	   TermC.parse_test @{context}"0 <= a + 2 * b",
Walther@60565
  1505
	   TermC.parse_test @{context}"8 * (-4 * a * b) <= (-4 * b + 2 * a) \<up> 2",
Walther@60565
  1506
	   TermC.parse_test @{context}"8 * (-4 * a * b) <= (-4 * b + 2 * a) \<up> 2"] 
neuper@37906
  1507
then writeln "should be simplified MG"
neuper@38031
  1508
else error "rlang.sml: diff.behav. in II 62b asms";
neuper@37906
  1509
neuper@37906
  1510
"------ WN.TEST---------------------------------";
neuper@37906
  1511
"------ WN.TEST---------------------------------";
neuper@37906
  1512
"------ WN.TEST---------------------------------";
neuper@37906
  1513
(*EO-7*)
walther@60242
  1514
val fmz = ["equality ((2*x+1)*x \<up> 2 = 0)",
walther@59997
  1515
	   "solveFor x", "solutions L"];
walther@59997
  1516
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1517
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
  1518
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1519
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1520
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1521
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1522
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1523
(*
walther@60242
  1524
val f = Form' (Test_Out.FormKF (~1,EdUndef,1,Nundef,"(2 * x + 1) * x \<up> 2 = 0"))
neuper@37906
  1525
normiert nicht ... korr.WN:
Walther@60565
  1526
val t = TermC.parse_test @{context} "(2*x+1)*x \<up> 2 = 0";
Walther@60565
  1527
val subst = [(TermC.parse_test @{context} "bdv", TermC.parse_test @{context} "x")];
neuper@37926
  1528
val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
walther@60242
  1529
if UnparseC.term t' = "x \<up> 2 + 2 * x \<up> 3 = 0" then () 
neuper@38031
  1530
else error "rlang.sml: 7";
neuper@37906
  1531
*)
neuper@37906
  1532
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1533
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1534
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1535
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1536
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1537
neuper@37906
  1538
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1539
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1540
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1541
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
neuper@37906
  1542
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
walther@60329
  1543
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = 0, x = - 1 / 2]")) then()
neuper@38031
  1544
else error "rlang.sml WN.TEST new behaviour";
neuper@37906
  1545
neuper@37906
  1546
"------ rlang.sml end---------------------------------";
neuper@37906
  1547
neuper@37906
  1548
(*------------------------------vvv-Rewrite_Set "rat_eliminate"---------
walther@60330
  1549
> Rewrite.trace_on:=true; (*true false*)
Walther@60565
  1550
> val t = TermC.parse_test @{context} 
walther@60329
  1551
  "(3 + - 1 * x + 1 * x \<up> 2) / (9 * x + -6 * x \<up> 2 + 1 * x \<up> 3) = 1 / x";
neuper@37926
  1552
> val SOME (t',asm) = 
neuper@37906
  1553
      rewrite_ thy dummy_ord rateq_erls true rat_mult_denominator_both t;
walther@59868
  1554
> UnparseC.term t'; UnparseC.terms asm;
walther@60329
  1555
"(3 + - 1 * x + 1 * x \<up> 2) * x = 1 * (9 * x + -6 * x \<up> 2 + 1 * x \<up> 3)"
walther@60242
  1556
"[\"9 * x + -6 * x \<up> 2 + 1 * x \<up> 3 ~= 0\",\"x ~= 0\"]"
walther@60330
  1557
> Rewrite.trace_on:=false; (*true false*)
walther@60242
  1558
  ------------------------------ \<up> -Rewrite_Set "rat_eliminate"---------*)
neuper@37906
  1559
neuper@37906
  1560
neuper@37906
  1561
"-------------------- WN.15.5.03: Pythagoras -------------------------------";
neuper@37906
  1562
"-------------------- WN.15.5.03: Pythagoras -------------------------------";
neuper@37906
  1563
"-------------------- WN.15.5.03: Pythagoras -------------------------------";
neuper@37906
  1564
(*EO-9*)
walther@60242
  1565
val fmz = ["equality ((a/2) \<up> 2 + (b/2) \<up> 2 = r \<up> 2)",
walther@59997
  1566
	   "solveFor a", "solutions L"];
walther@59997
  1567
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1568
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1569
(*   Model_Problem ["normalise", "polynomial", "univariate", "equation"])*)
neuper@37906
  1570
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1571
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1572
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1573
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1574
(*val nxt = ("Apply_Method",Apply_Method ["PolyEq", "normalise_poly"])*)
neuper@37906
  1575
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1576
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1577
(*val nxt = Subproblem ("PolyEq",["polynomial", "univariate", "equation"])*)
neuper@37906
  1578
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1579
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1580
(*val nxt =Model_Problem ["sq_only", "degree_2", "polynomial", "univariate", "equation"])*)
neuper@37906
  1581
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1582
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1583
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1584
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1585
(*val nxt = Apply_Method ["PolyEq", "solve_d2_polyeq_sqonly_equation"])*)
neuper@37906
  1586
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1587
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1588
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1589
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1590
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1591
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1592
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59959
  1593
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,
walther@60329
  1594
"[a = sqrt ((- 1 * b \<up> 2 + 4 * r \<up> 2) / 1),\n a = - 1 * sqrt ((- 1 * b \<up> 2 + 4 * r \<up> 2) / 1)]")) andalso nxt = ("End_Proof'",End_Proof')
neuper@37906
  1595
then writeln"simplify result\nsimplify result\nsimplify result"
neuper@38031
  1596
else error "rlang.sml: diff.behav. in Pythagoras";
walther@59844
  1597
val asms = Ctree.get_assumptions pt p;
Walther@60565
  1598
(*if asms = [TermC.parse_test @{context}"0 <= -4 * (b \<up> 2 / 4 + -4 * r \<up> 2 / 4)",
Walther@60565
  1599
             TermC.parse_test @{context}"0 <= -4 * (b \<up> 2 / 4 + -4 * r \<up> 2 / 4)"]*)
walther@59868
  1600
if UnparseC.terms (*WN1104changed*) asms = 
walther@60329
  1601
   "[0 <= -4 * (b \<up> 2 / 4 + - 1 * r \<up> 2 / 1),\
walther@60329
  1602
   \0 <= -4 * (b \<up> 2 / 4 + - 1 * r \<up> 2 / 1)]"
neuper@37906
  1603
then writeln"simplify result\nsimplify result\nsimplify result"
neuper@38031
  1604
else error "rlang.sml: diff.behav. in Pythagoras asms";
neuper@37906
  1605
neuper@37906
  1606
neuper@37906
  1607
"-------------------- WN.15.5.03: equation within the maximum example ------";
neuper@37906
  1608
"-------------------- WN.15.5.03: equation within the maximum example ------";
neuper@37906
  1609
"-------------------- WN.15.5.03: equation within the maximum example ------";
walther@60329
  1610
(*EO- 10*)
walther@60242
  1611
val fmz = ["equality (2*sqrt(r \<up> 2 - (u/2) \<up> 2) - u \<up> 2/(2*sqrt(r \<up> 2 - (u/2) \<up> 2))= 0)",
walther@59997
  1612
	   "solveFor u", "solutions L"];
walther@59997
  1613
val (dI',pI',mI') = ("PolyEq",["univariate", "equation"],["no_met"]);
neuper@37906
  1614
neuper@37906
  1615
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
walther@59997
  1616
(*   Model_Problem ["normalise", "rootX", "univariate", "equation"])*)
neuper@37906
  1617
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1618
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1619
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1620
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1621
(*val nxt = Apply_Method ["RootEq", "norm_sq_root_equation"])     *)
neuper@37906
  1622
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1623
(*val nxt = Subproblem ("RootEq",["univariate", "equation"]))*)
neuper@37906
  1624
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1625
(*val nxt = Model_Problem ["sq", "rootX", "univariate", "equation"]) *)
neuper@37906
  1626
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1627
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1628
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1629
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1630
(*val nxt = Apply_Method ["RootEq", "solve_sq_root_equation"])     *)
neuper@37906
  1631
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1632
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1633
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1634
(*val nxt = Subproblem ("RootEq",["univariate", "equation"]))*)
neuper@37906
  1635
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1636
(*val nxt = Model_Problem ["rational", "univariate", "equation"]) *)
neuper@37906
  1637
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1638
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1639
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1640
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1641
(*val nxt = Apply_Method ["RootEq", "solve_rat_equation"])     *)
neuper@37906
  1642
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1643
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1644
(*val nxt = Subproblem ("RootEq",["univariate", "equation"]))*)
neuper@37906
  1645
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1646
(*val nxt = Model_Problem ["normalise", "polynomial", "univariate", "equation"]) *)
neuper@37906
  1647
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1648
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1649
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1650
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1651
(*val nxt = Apply_Method ["PolyEq", "normalise_poly"])     *)
neuper@37906
  1652
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1653
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1654
(*val nxt = Subproblem ("PolyEq",["polynomial", "univariate", "equation"]))*)
neuper@37906
  1655
if f = Form'
walther@59959
  1656
      (Test_Out.FormKF
neuper@37906
  1657
         (~1,
neuper@37906
  1658
            EdUndef,
neuper@37906
  1659
            0,
neuper@37906
  1660
            Nundef,
walther@60329
  1661
            "- 16 * r \<up> 4 + 8 * r \<up> 2 * u \<up> 2 = 0")) then ()
neuper@38031
  1662
else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 38b";
neuper@37906
  1663
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1664
(*val nxt = Model_Problem ["sq_only", "degree_2", "polynomial", "univariate", "equation"]) *)
neuper@37906
  1665
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1666
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1667
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1668
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@59997
  1669
(*val nxt = Apply_Method ["PolyEq", "solve_d2_polyeq_sqonly_equation"])     *)
neuper@37906
  1670
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1671
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1672
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1673
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1674
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1675
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
  1676
val (p,_,f,nxt,_,pt) = me nxt p c pt;
walther@60329
  1677
if f = Form' (Test_Out.FormKF (~1,EdUndef,0,Nundef,"[u = sqrt (2 * r \<up> 2 / 1), u = - 1 * sqrt (2 * r \<up> 2 / 1)]")) then()
neuper@38031
  1678
else error "rlang.sml WN.TEST new behaviour in max-rooteq";