completed "SubProblem setzeRandbedingungen", test ok start_Take
authorwneuper
Thu, 07 Sep 2006 16:46:30 +0200
branchstart_Take
changeset 656d557fbec30b6
parent 655 46b9564c5864
child 657 fda9193a1027
completed "SubProblem setzeRandbedingungen", test ok
src/sml/IsacKnowledge/Biegelinie.ML
src/smltest/IsacKnowledge/biegel-test-stimmen2.sml
src/smltest/IsacKnowledge/biegelinie.sml
     1.1 --- a/src/sml/IsacKnowledge/Biegelinie.ML	Wed Sep 06 10:03:22 2006 +0200
     1.2 +++ b/src/sml/IsacKnowledge/Biegelinie.ML	Thu Sep 07 16:46:30 2006 +0200
     1.3 @@ -376,31 +376,31 @@
     1.4  		srls = srls2, 
     1.5  		prls=e_rls,
     1.6  	     crls = Atools_erls, nrls = e_rls},
     1.7 -"Script SetzeRandbedScript (funs_::bool list) (rb_::bool list) =\
     1.8 -\ (let b1_ = nth_ 1 rb_;                               \
     1.9 -\      fs_ = filter (sameFunId (lhs b1_)) funs_;                \
    1.10 -\      (e1_::bool) =                                               \
    1.11 +"Script SetzeRandbedScript (funs_::bool list) (rb_::bool list) = \
    1.12 +\ (let b1_ = nth_ 1 rb_;                                         \
    1.13 +\      fs_ = filter (sameFunId (lhs b1_)) funs_;                 \
    1.14 +\      (e1_::bool) =                                             \
    1.15  \             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
    1.16 -\                          [Equation,fromFunction])         \
    1.17 -\                          [bool_ (hd fs_), bool_ b1_]);                    \
    1.18 -\      b2_ = nth_ 2 rb_;                               \
    1.19 -\      fs_ = filter (sameFunId (lhs b2_)) funs_;                \
    1.20 -\      (e2_::bool) =                                               \
    1.21 +\                          [Equation,fromFunction])              \
    1.22 +\                          [bool_ (hd fs_), bool_ b1_]);         \
    1.23 +\      b2_ = nth_ 2 rb_;                                         \
    1.24 +\      fs_ = filter (sameFunId (lhs b2_)) funs_;                 \
    1.25 +\      (e2_::bool) =                                             \
    1.26  \             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
    1.27 -\                          [Equation,fromFunction])         \
    1.28 -\                          [bool_ (hd fs_), bool_ b2_])                    \
    1.29 -\      b3_ = nth_ 3 rb_;                               \
    1.30 -\      fs_ = filter (sameFunId (lhs b3_)) funs_;                \
    1.31 -\      (e3_::bool) =                                               \
    1.32 +\                          [Equation,fromFunction])              \
    1.33 +\                          [bool_ (hd fs_), bool_ b2_]);         \
    1.34 +\      b3_ = nth_ 3 rb_;                                         \
    1.35 +\      fs_ = filter (sameFunId (lhs b3_)) funs_;                 \
    1.36 +\      (e3_::bool) =                                             \
    1.37  \             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
    1.38 -\                          [Equation,fromFunction])         \
    1.39 -\                          [bool_ (hd fs_), bool_ b3_])                    \
    1.40 -\      b4_ = nth_ 4 rb_;                               \
    1.41 -\      fs_ = filter (sameFunId (lhs b4_)) funs_;                \
    1.42 -\      (e4_::bool) =                                               \
    1.43 +\                          [Equation,fromFunction])              \
    1.44 +\                          [bool_ (hd fs_), bool_ b3_]);         \
    1.45 +\      b4_ = nth_ 4 rb_;                                         \
    1.46 +\      fs_ = filter (sameFunId (lhs b4_)) funs_;                 \
    1.47 +\      (e4_::bool) =                                             \
    1.48  \             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
    1.49 -\                          [Equation,fromFunction])         \
    1.50 -\                          [bool_ (hd fs_), bool_ b4_])                    \
    1.51 +\                          [Equation,fromFunction])              \
    1.52 +\                          [bool_ (hd fs_), bool_ b4_])          \
    1.53  \ in [e1_,e2_,e3_,e4_])"
    1.54  ));
    1.55  
     2.1 --- a/src/smltest/IsacKnowledge/biegel-test-stimmen2.sml	Wed Sep 06 10:03:22 2006 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,193 +0,0 @@
     2.4 -(* tests intermediate WN060905
     2.5 -
     2.6 -use"../smltest/IsacKnowledge/biegel-test-stimmen2.sml";
     2.7 -*)
     2.8 -
     2.9 -
    2.10 -"----- met [Biegelinien,ausBelastung] in IntegrierenUndKonstanteBestimmen2";
    2.11 -val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
    2.12 -	     "Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]",
    2.13 -	     "FunktionsVariable x"];
    2.14 -val (dI',pI',mI') = ("Biegelinie.thy", ["Biegelinien"],
    2.15 -		     ["IntegrierenUndKonstanteBestimmen2"]);
    2.16 -val p = e_pos'; val c = [];
    2.17 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
    2.18 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.19 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.20 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.21 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.22 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.23 -if nxt = ("Apply_Method", Apply_Method ["IntegrierenUndKonstanteBestimmen2"])
    2.24 -then () else raise error "biegelinie.sml met2 a";
    2.25 -
    2.26 -(*** actual arg(s) missing for '["(#Find, (Funktionen, funs_))"]' i.e. should be 'copy-named' by '*_._'
    2.27 -... THIS MEANS: 
    2.28 -#a# "Script Biegelinie2Script ..
    2.29 -\         ... (SubProblem (Biegelinie_,[vonBelastungZu,Biegelinien],      \
    2.30 -\                          [Biegelinien,ausBelastung])                    \
    2.31 -\                          [real_ q_, real_ v_]);                         \
    2.32 -
    2.33 -#b# prep_met ... (["Biegelinien","ausBelastung"],
    2.34 -              ... ("#Given" ,["Streckenlast q_","FunktionsVariable v_"]),
    2.35 -   "Script Belastung2BiegelScript (q_::real) (v_::real) =                 \
    2.36 -
    2.37 -#a#b# BOTH HAVE 2 ARGUMENTS q_ and v_ ...OK
    2.38 -##########################################################################
    2.39 -BUT THE (#Find, (Funktionen, funs_)) IS NOT COPYNAMED BY funs___ !!!3*_!!!
    2.40 -##########################################################################*)
    2.41 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.42 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.43 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.44 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.45 -if nxt = ("Apply_Method", Apply_Method ["Biegelinien", "ausBelastung"])
    2.46 -then () else raise error "biegelinie.sml met2 b";
    2.47 -
    2.48 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =   "q x = q_0";
    2.49 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "- q x = - q_0";
    2.50 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =  "Q' x = - q_0";
    2.51 -case nxt of (_, Subproblem (_, ["named", "integrate", "function"])) => ()
    2.52 -| _ => raise error "biegelinie.sml met2 c";
    2.53 -
    2.54 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.55 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.56 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.57 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.58 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.59 -
    2.60 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
    2.61 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
    2.62 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b' x = c + -1 * q_0 * x";
    2.63 -case nxt of (_,Subproblem (_, ["named", "integrate", "function"])) => ()
    2.64 -| _ => raise error "biegelinie.sml met2 d";
    2.65 -
    2.66 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.67 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.68 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.69 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.70 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
    2.71 -		   "M_b x = Integral c + -1 * q_0 * x D x";
    2.72 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
    2.73 -		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    2.74 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.75 -		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    2.76 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.77 -		   "- EI * y'' x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    2.78 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.79 -		   "y'' x = 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2)";
    2.80 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.81 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.82 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.83 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.84 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.85 -    "y' x = Integral 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    2.86 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.87 -"y' x = Integral 1 / (-1 * EI) * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    2.88 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.89 -"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    2.90 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.91 -"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    2.92 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.93 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.94 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.95 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    2.96 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.97 -"y x =\nIntegral c_3 +\n         1 / (-1 * EI) *\n         (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3) D x";
    2.98 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    2.99 -"y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   2.100 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   2.101 -   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   2.102 -
   2.103 -
   2.104 -(*vvvvvvvvvvvvvvvvvvvvvv@@@@@@@@@@@@@@@@@@@@@@vvvvvvvvvvvvvvvvvvvvvvvvvvvv*)
   2.105 -p = ([1, 9], Res);
   2.106 -(writeln o istate2str) (get_istate pt p);
   2.107 -(writeln o istate2str) (get_istate pt ([1], Res))(*linie2Script: funs_ missg*);
   2.108 -nxt = ("Check_Postcond", Check_Postcond ["vonBelastungZu", "Biegelinien"]);
   2.109 -
   2.110 -(* val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   2.111 -
   2.112 -   f2str f =
   2.113 -   "[Q x = c + -1 * q_0 * x,\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4),\n y' x =\n c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]";
   2.114 -case nxt of (_,Subproblem (_, ["setzeRandbedingungen", "Biegelinien"])) => ()
   2.115 -| _ => raise error "biegelinie.sml met2 d";
   2.116 -(writeln o istate2str) (get_istate pt p);
   2.117 -show_pt pt;
   2.118 -
   2.119 -val ([(_, Check_Postcond'
   2.120 -               (["vonBelastungZu", "Biegelinien"],
   2.121 -                  vvv),
   2.122 -            _)],
   2.123 -      [],
   2.124 -      _) = xxx;
   2.125 -val (ttt, _) = vvv;
   2.126 -term2str ttt;
   2.127 -
   2.128 -trace_script := true;
   2.129 -
   2.130 -val ScrState (E,l,a,XXX,YYY,b) =  get_istate pt (p,p_); 
   2.131 -(*val a = Some (str2term "B__::bool"); (*!!!!!!!!!!!!!!!!!!!vvv is M__*)*)
   2.132 -val a = None;
   2.133 -val is as ScrState (E,l,a,XXX,YYY,b) = ScrState (E,l,a,XXX,YYY,b);
   2.134 -writeln (istate2str is);
   2.135 -
   2.136 -      val (_,_,(scval,scsaf)) = next_tac (thy',srls) (pt,(p,p_)) sc is;
   2.137 -term2str scval;
   2.138 -
   2.139 -THERE IS A PROBLEM WITH @@ and curried functions !!!!!!!!!!!!!^^^
   2.140 -
   2.141 -*)
   2.142 -(*^^^^^^^^^^^^^^^^^^^^^^@@@@@@@@@@@@@@@@@@@@@@^^^^^^^^^^^^^^^^^^^^^^^^^^^^*)
   2.143 -p = ([1], Res);
   2.144 -(writeln o istate2str) (get_istate pt p);
   2.145 -nxt = ("Subproblem",
   2.146 -       Subproblem ("Biegelinie.thy", ["setzeRandbedingungen", "Biegelinien"]));
   2.147 -
   2.148 -
   2.149 -(* 
   2.150 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.151 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.152 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.153 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.154 -*)
   2.155 -(********************************************* setzeRandbedingungenEin !!!!
   2.156 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.157 -case nxt of (_, Apply_Method ["Biegelinien", "setzeRandbedingungenEin"]) => ()
   2.158 -| _ => raise error "biegelinie.sml met2 e";
   2.159 -
   2.160 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y 0 = 0";
   2.161 -(*WN060902 is the ctree ok here?: Take -> SubProblem !*)
   2.162 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.163 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.164 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.165 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.166 -case nxt of (_, Apply_Method ["Equation", "fromFunction"]) => ()
   2.167 -| _ => raise error "biegelinie.sml met2 f";
   2.168 -
   2.169 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.170 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.171 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)";
   2.172 -
   2.173 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y L = 0";
   2.174 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.175 -(*WN060902 strange msgs *** upd_env_opt: (None,SubProblem (Biegelinie_, [m..*)
   2.176 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.177 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.178 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.179 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.180 -case nxt of (_, Apply_Method ["Equation", "fromFunction"]) => ()
   2.181 -| _ => raise error "biegelinie.sml met2 g";
   2.182 -
   2.183 -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2*)
   2.184 -
   2.185 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.186 -nxt = ("Empty_Tac", Empty_Tac) (*true*);
   2.187 -
   2.188 -
   2.189 -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2*)
   2.190 -(*
   2.191 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
   2.192 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   2.193 -*)
   2.194 -******************************************************************8*)
   2.195 -
   2.196 -
     3.1 --- a/src/smltest/IsacKnowledge/biegelinie.sml	Wed Sep 06 10:03:22 2006 +0200
     3.2 +++ b/src/smltest/IsacKnowledge/biegelinie.sml	Thu Sep 07 16:46:30 2006 +0200
     3.3 @@ -16,10 +16,11 @@
     3.4  "----------- simplify_leaf for this script -----------------------";
     3.5  "----------- Bsp 7.27 me -----------------------------------------";
     3.6  "----------- Bsp 7.27 autoCalculate ------------------------------";
     3.7 +"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
     3.8  "----------- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
     3.9  "----------- method [Biegelinien,setzeRandbedingungenEin] + exec -";
    3.10  "----------- IntegrierenUndKonstanteBestimmen2 -------------------";
    3.11 -"----------- investigate normalforms -----------------------------";
    3.12 +"----------- investigate normalforms in biegelinien --------------";
    3.13  "-----------------------------------------------------------------";
    3.14  "-----------------------------------------------------------------";
    3.15  "-----------------------------------------------------------------";
    3.16 @@ -450,10 +451,12 @@
    3.17  	  | _ => raise error  "biegelinie.sml: Bsp 7.27 autoCalculate#4c";
    3.18  
    3.19   autoCalculate 1 CompleteCalc;  
    3.20 +val ((pt,p),_) = get_calc 1;
    3.21 +if p = ([], Res) andalso length (children pt) = 23 andalso 
    3.22 +term2str (get_obj g_res pt (fst p)) = "y x =\n-1 * q_0 * L ^^^ 4 / (-24 * EI * L) * x +\n(2 * L * q_0 / (-24 * EI) * x ^^^ 3 + -1 * q_0 / (-24 * EI) * x ^^^ 4)"then () else raise error "biegelinie.sml: 1st biegelin.7.27 changed";
    3.23 +
    3.24   val (unc, del, gen) = (([],Pbl), ([],Pbl), ([],Res));
    3.25   getFormulaeFromTo 1 unc gen 1 (*only level 1*) false;
    3.26 -
    3.27 - val ((pt,_),_) = get_calc 1;
    3.28   show_pt pt;
    3.29  
    3.30  (*check all formulae for getTactic*)
    3.31 @@ -465,6 +468,87 @@
    3.32   getTactic 1 ([8],Res) (* ---"---                      ["M_b L = 0"]*);
    3.33  
    3.34  
    3.35 +"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    3.36 +"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    3.37 +"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    3.38 +val fmz = 
    3.39 +    ["Streckenlast q_0","FunktionsVariable x",
    3.40 +     "Funktionen [Q x = c + -1 * q_0 * x, \
    3.41 +     \M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2,\
    3.42 +     \ y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\
    3.43 +     \ y x = c_4 + c_3 * x + 1 / (-1 * EI) * (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]"];
    3.44 +val (dI',pI',mI') = ("Biegelinie.thy", ["vonBelastungZu","Biegelinien"],
    3.45 +		     ["Biegelinien","ausBelastung"]);
    3.46 +val p = e_pos'; val c = [];
    3.47 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
    3.48 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.49 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.50 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.51 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.52 +if nxt = ("Apply_Method", Apply_Method ["Biegelinien", "ausBelastung"])
    3.53 +then () else raise error "biegelinie.sml met2 b";
    3.54 +
    3.55 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =   "q x = q_0";
    3.56 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "- q x = - q_0";
    3.57 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =  "Q' x = - q_0";
    3.58 +case nxt of (_, Subproblem (_, ["named", "integrate", "function"])) => ()
    3.59 +| _ => raise error "biegelinie.sml met2 c";
    3.60 +
    3.61 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.62 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.63 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.64 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.65 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.66 +
    3.67 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
    3.68 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
    3.69 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b' x = c + -1 * q_0 * x";
    3.70 +case nxt of (_,Subproblem (_, ["named", "integrate", "function"])) => ()
    3.71 +| _ => raise error "biegelinie.sml met2 d";
    3.72 +
    3.73 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.74 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.75 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.76 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.77 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
    3.78 +		   "M_b x = Integral c + -1 * q_0 * x D x";
    3.79 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
    3.80 +		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    3.81 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.82 +		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    3.83 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.84 +		   "- EI * y'' x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
    3.85 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.86 +		   "y'' x = 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2)";
    3.87 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.88 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.89 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.90 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    3.91 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.92 +    "y' x = Integral 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    3.93 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.94 +"y' x = Integral 1 / (-1 * EI) * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    3.95 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.96 +"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    3.97 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    3.98 +"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    3.99 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.100 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.101 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.102 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.103 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.104 +"y x =\nIntegral c_3 +\n         1 / (-1 * EI) *\n         (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3) D x";
   3.105 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.106 +"y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.107 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.108 +   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.109 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   3.110 +if nxt = ("End_Proof'", End_Proof') andalso f2str f =
   3.111 +   "[Q x = c + -1 * q_0 * x, M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2,\n y' x =\n c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]" then ()
   3.112 +else raise error "biegelinie.sml met2 e";
   3.113 +
   3.114 +
   3.115 +
   3.116  "----------- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
   3.117  "----------- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
   3.118  "----------- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
   3.119 @@ -598,35 +682,6 @@
   3.120  ;
   3.121  val sc = ((inst_abs thy) o term_of o the o (parse thy)) str;
   3.122  (*---vvv-NOTok--------------------------------------------------------------*)
   3.123 -val str =
   3.124 -"Script SetzeRandbedScript (funs_::bool list) (rb_::bool list) =\
   3.125 -\ (let b1_ = Take (nth_ 1 rb_);                               \
   3.126 -\      fs_ = filter (sameFunId (lhs b1_)) funs_;                \
   3.127 -\      (e1_::bool) =                                               \
   3.128 -\             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
   3.129 -\                          [Equation,fromFunction])         \
   3.130 -\                          [bool_ (hd fs_), bool_ b1_]);                    \
   3.131 -\      b2_ = Take (nth_ 2 rb_);                               \
   3.132 -\      fs_ = filter (sameFunId (lhs b2_)) funs_;                \
   3.133 -\      (e2_::bool) =                                               \
   3.134 -\             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
   3.135 -\                          [Equation,fromFunction])         \
   3.136 -\                          [bool_ (hd fs_), bool_ b2_])                    \
   3.137 -\      b3_ = Take (nth_ 3 rb_);                               \
   3.138 -\      fs_ = filter (sameFunId (lhs b3_)) funs_;                \
   3.139 -\      (e3_::bool) =                                               \
   3.140 -\             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
   3.141 -\                          [Equation,fromFunction])         \
   3.142 -\                          [bool_ (hd fs_), bool_ b3_])                    \
   3.143 -\      b4_ = Take (nth_ 4 rb_);                               \
   3.144 -\      fs_ = filter (sameFunId (lhs b4_)) funs_;                \
   3.145 -\      (e4_::bool) =                                               \
   3.146 -\             (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
   3.147 -\                          [Equation,fromFunction])         \
   3.148 -\                          [bool_ (hd fs_), bool_ b4_])                    \
   3.149 -\ in [e1_,e2_,e3_,e4_])"
   3.150 -;
   3.151 -val sc = ((inst_abs thy) o term_of o the o (parse thy)) str;
   3.152  (*---^^^-OK-----------------------------------------------------------------*)
   3.153  atomty sc;
   3.154  
   3.155 @@ -679,7 +734,7 @@
   3.156  show_types := false;
   3.157  
   3.158  
   3.159 -"----- execute script by interpreter";
   3.160 +"----- execute script by interpreter: setzeRandbedingungenEin";
   3.161  val fmz = ["Funktionen [Q x = c + -1 * q_0 * x,\
   3.162      \M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2,\
   3.163      \y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\
   3.164 @@ -693,42 +748,95 @@
   3.165  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.166  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.167  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.168 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.169 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.170 +
   3.171 +"--- before 1.subpbl [Equation, fromFunction]";
   3.172 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.173  case nxt of (_, Apply_Method ["Biegelinien", "setzeRandbedingungenEin"])=>()
   3.174 -| _ => raise error "biegelinie.sml: met setzeRandbed*Ein 1";
   3.175 -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*)
   3.176 -(*
   3.177 +| _ => raise error "biegelinie.sml: met setzeRandbed*Ein aa";
   3.178 +"----- Randbedingung y 0 = 0 in SUBpbl with met [Equation, fromFunction]";
   3.179  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.180 -(** upd_env_opt: (None,??.empty)
   3.181 -*** upd_env_opt: (None,??.empty)
   3.182 -*** upd_env_opt: (None,??.empty)
   3.183 -*** upd_env_opt: (None,Subproblem (thy, [makeFunctionTo, equation]))
   3.184 -*** upd_env_opt: (None,Subproblem (thy, [makeFunctionTo, equation]))
   3.185 -*** upd_env_opt: (None,y 0 = 0)
   3.186 -*** upd_env_opt: (None,y 0 = 0)
   3.187 -*** upd_env_opt: (None,[y x = c_4 + c_3 * x + ...*)
   3.188 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.189 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.190 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.191 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.192 -case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   3.193 -| _ => raise error "biegelinie.sml: met setzeRandbed*Ein 2";
   3.194 -
   3.195 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.196 -   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)" (*true*);
   3.197 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.198 -   "y 0 =\nc_4 + c_3 * 0 +\n1 / (-1 * EI) *\n(c_2 / 2 * 0 ^^^ 2 + c / 6 * 0 ^^^ 3 + -1 * q_0 / 24 * 0 ^^^ 4)" (*true*);
   3.199 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.200 -   "0 =\nc_4 + c_3 * 0 +\n1 / (-1 * EI) *\n(c_2 / 2 * 0 ^^^ 2 + c / 6 * 0 ^^^ 3 + -1 * q_0 / 24 * 0 ^^^ 4)" (*true*);
   3.201 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)";
   3.202 -(*WN060902 thm real_0_divide in rls reduce_0_1_2 in rls norm_Rational^^^notap*)
   3.203 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)";
   3.204 -(*end of 1st "Randbedingung einsetzen"*)
   3.205 +if (#1 o (get_obj g_fmz pt)) (fst p) =
   3.206 +   ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   3.207 +      "substitution (y 0 = 0)", "equality equ___"] then ()
   3.208 +else raise error "biegelinie.sml met setzeRandbed*Ein bb";
   3.209 +(writeln o istate2str) (get_istate pt p);
   3.210 +"--- after 1.subpbl [Equation, fromFunction]";
   3.211  
   3.212  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.213 -(*WN060902 strange msgs also here !!!! GOON*)
   3.214 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.215 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.216 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.217 +case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   3.218 +| _ => raise error "biegelinie.sml met2 ff";
   3.219 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.220 +   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.221 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.222 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.223 +case nxt of (_, Check_Postcond ["makeFunctionTo", "equation"]) => ()
   3.224 +| _ => raise error "biegelinie.sml met2 gg";
   3.225  
   3.226 +"--- before 2.subpbl [Equation, fromFunction]";
   3.227 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)" ;
   3.228 +case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   3.229 +| _ => raise error "biegelinie.sml met2 hh";
   3.230 +"--- after 1st arrival at 2.subpbl [Equation, fromFunction]";
   3.231  
   3.232 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   3.233 +if (#1 o (get_obj g_fmz pt)) (fst p) =
   3.234 +    ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   3.235 +      "substitution (y L = 0)", "equality equ___"] then ()
   3.236 +else raise error "biegelinie.sml metsetzeRandbed*Ein bb ";
   3.237 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.238 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.239 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.240 +
   3.241 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.242 +case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   3.243 +| _ => raise error "biegelinie.sml met2 ii";
   3.244 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.245 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y L =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   3.246 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   3.247 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)" ;
   3.248 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)";
   3.249 +case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   3.250 +| _ => raise error "biegelinie.sml met2 jj";
   3.251 +
   3.252 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.253 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.254 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.255 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.256 +case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   3.257 +| _ => raise error "biegelinie.sml met2 kk";
   3.258 +
   3.259 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2"(*true*);
   3.260 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * 0 + -1 * q_0 / 2 * 0 ^^^ 2";
   3.261 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   3.262 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   3.263 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.264 +case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   3.265 +| _ => raise error "biegelinie.sml met2 ll";
   3.266 +
   3.267 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.268 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.269 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.270 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.271 +case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   3.272 +| _ => raise error "biegelinie.sml met2 mm";
   3.273 +
   3.274 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   3.275 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b L = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   3.276 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   3.277 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   3.278 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   3.279 +case nxt of (_, Check_Postcond ["setzeRandbedingungen", "Biegelinien"]) => ()
   3.280 +| _ => raise error "biegelinie.sml met2 nn";
   3.281 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   3.282 +if nxt = ("End_Proof'", End_Proof') andalso f2str f =
   3.283 +   "[0 = c_4 + 0 / (-1 * EI),\n 0 =\n c_4 + L * c_3 +\n (12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]" then ()
   3.284 +else raise error "biegelinie.sml met2 oo";
   3.285 +
   3.286 +(*
   3.287  val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
   3.288  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.289  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.290 @@ -800,128 +908,14 @@
   3.291  ##########################################################################
   3.292  BUT THE (#Find, (Funktionen, funs_)) IS NOT COPYNAMED BY funs___ !!!3*_!!!
   3.293  ##########################################################################*)
   3.294 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.295 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.296 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.297 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.298 -if nxt = ("Apply_Method", Apply_Method ["Biegelinien", "ausBelastung"])
   3.299 -then () else raise error "biegelinie.sml met2 b";
   3.300 +"further 'me' see ----- SubProblem (_,[vonBelastungZu,Biegelinien] -------\
   3.301 +\                 ----- SubProblem (_,[setzeRandbedingungen,Biegelinien] -";
   3.302  
   3.303 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =   "q x = q_0";
   3.304 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "- q x = - q_0";
   3.305 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =  "Q' x = - q_0";
   3.306 -case nxt of (_, Subproblem (_, ["named", "integrate", "function"])) => ()
   3.307 -| _ => raise error "biegelinie.sml met2 c";
   3.308  
   3.309 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.310 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.311 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.312 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.313 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.314  
   3.315 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
   3.316 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "Q x = c + -1 * q_0 * x";
   3.317 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b' x = c + -1 * q_0 * x";
   3.318 -case nxt of (_,Subproblem (_, ["named", "integrate", "function"])) => ()
   3.319 -| _ => raise error "biegelinie.sml met2 d";
   3.320 -
   3.321 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.322 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.323 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.324 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.325 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
   3.326 -		   "M_b x = Integral c + -1 * q_0 * x D x";
   3.327 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = 
   3.328 -		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   3.329 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.330 -		   "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   3.331 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.332 -		   "- EI * y'' x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   3.333 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.334 -		   "y'' x = 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2)";
   3.335 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.336 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.337 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.338 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.339 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.340 -    "y' x = Integral 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
   3.341 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.342 -"y' x = Integral 1 / (-1 * EI) * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
   3.343 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.344 -"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
   3.345 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.346 -"y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
   3.347 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.348 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.349 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.350 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.351 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.352 -"y x =\nIntegral c_3 +\n         1 / (-1 * EI) *\n         (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3) D x";
   3.353 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.354 -"y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.355 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.356 -   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   3.357 -
   3.358 -
   3.359 -(*vvvvvvvvvvvvvvvvvvvvvv@@@@@@@@@@@@@@@@@@@@@@vvvvvvvvvvvvvvvvvvvvvvvvvvvv*)
   3.360 -(writeln o istate2str) (get_istate pt p);
   3.361 -
   3.362 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   3.363 -   "[Q x = c + -1 * q_0 * x,\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4),\n y' x =\n c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]";
   3.364 -case nxt of (_,Subproblem (_, ["setzeRandbedingungen", "Biegelinien"])) => ()
   3.365 -| _ => raise error "biegelinie.sml met2 d";
   3.366 -(writeln o istate2str) (get_istate pt p);
   3.367 -show_pt pt;
   3.368 -(*^^^^^^^^^^^^^^^^^^^^^^@@@@@@@@@@@@@@@@@@@@@@^^^^^^^^^^^^^^^^^^^^^^^^^^^^*)
   3.369 - 
   3.370 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.371 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.372 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.373 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.374 -(********************************************* setzeRandbedingungenEin !!!!
   3.375 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.376 -case nxt of (_, Apply_Method ["Biegelinien", "setzeRandbedingungenEin"]) => ()
   3.377 -| _ => raise error "biegelinie.sml met2 e";
   3.378 -
   3.379 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y 0 = 0";
   3.380 -(*WN060902 is the ctree ok here?: Take -> SubProblem !*)
   3.381 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.382 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.383 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.384 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.385 -case nxt of (_, Apply_Method ["Equation", "fromFunction"]) => ()
   3.386 -| _ => raise error "biegelinie.sml met2 f";
   3.387 -
   3.388 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.389 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.390 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)";
   3.391 -
   3.392 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y L = 0";
   3.393 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.394 -(*WN060902 strange msgs *** upd_env_opt: (None,SubProblem (Biegelinie_, [m..*)
   3.395 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.396 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.397 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.398 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.399 -case nxt of (_, Apply_Method ["Equation", "fromFunction"]) => ()
   3.400 -| _ => raise error "biegelinie.sml met2 g";
   3.401 -
   3.402 -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2*)
   3.403 -
   3.404 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.405 -nxt = ("Empty_Tac", Empty_Tac) (*true*);
   3.406 -
   3.407 -
   3.408 -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2*)
   3.409 -(*
   3.410 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
   3.411 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   3.412 -*)
   3.413 -******************************************************************8*)
   3.414 -
   3.415 -"----------- investigate normalforms -----------------------------";
   3.416 -"----------- investigate normalforms -----------------------------";
   3.417 -"----------- investigate normalforms -----------------------------";
   3.418 +"----------- investigate normalforms in biegelinien --------------";
   3.419 +"----------- investigate normalforms in biegelinien --------------";
   3.420 +"----------- investigate normalforms in biegelinien --------------";
   3.421  "----- coming from integration:";
   3.422  val Q = str2term "Q x = c + -1 * q_0 * x";
   3.423  val M_b = str2term "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";