1 (* Title: Knowledge/eqsystem-2.sml
2 author: Walther Neuper 050826,
3 (c) due to copyright terms
5 "-----------------------------------------------------------------------------------------------";
6 "table of contents -----------------------------------------------------------------------------";
7 "-----------------------------------------------------------------------------------------------";
8 "----------- occur_exactly_in ---------------------------------------------------equsystem-1.sml";
9 "----------- problems -----------------------------------------------------------equsystem-1.sml";
10 "----------- rewrite-order ord_simplify_System ----------------------------------equsystem-1.sml";
11 "----------- rewrite in [EqSystem,normalise,2x2] --------------------------------equsystem-1.sml";
12 "----------- rewrite example from 2nd [EqSystem,normalise,2x2] ------------------equsystem-1.sml";
13 "----------- rewrite in [EqSystem,top_down_substitution,2x2] --------------------equsystem-1.sml";
14 "----------- rewrite in [EqSystem,normalise,4x4] --------------------------------equsystem-1.sml";
15 "----------- script [EqSystem,top_down_substitution,2x2] Vers.1 -----------------equsystem-1.sml";
16 "----------- refine [linear,system]----------------------------------------------equsystem-1.sml";
17 "----------- refine [2x2,linear,system] search error-----------------------------equsystem-1.sml";
18 "----------- me [EqSystem,normalise,2x2], refine Subproblem ---------------------equsystem-1.sml";
19 "----------- me [EqSystem,normalise,2x2], refine Subproblem, step into istate---equsystem-1a.sml";
20 "----------- me [linear,system] ..normalise..top_down_sub..----------------------equsystem-2.sml";
21 "----------- all systems from Biegelinie ----------------------------------------equsystem-2.sml";
22 "----------- 4x4 systems from Biegelinie ----------------------------------------equsystem-2.sml";
23 "-----------------------------------------------------------------------------------------------";
24 "-----------------------------------------------------------------------------------------------";
25 "-----------------------------------------------------------------------------------------------";
27 val thy = @{theory "EqSystem"};
28 val ctxt = Proof_Context.init_global thy;
30 "----------- me [linear,system] ..normalise..top_down_sub..-------";
31 "----------- me [linear,system] ..normalise..top_down_sub..-------";
32 "----------- me [linear,system] ..normalise..top_down_sub..-------";
35 \[0 = c_2 + c * 0 + 1 / EI * (L * q_0 / 12 * 0 \<up> 3 + \
36 \ - 1 * q_0 / 24 * 0 \<up> 4),\
37 \ 0 = c_2 + c * L + 1 / EI * (L * q_0 / 12 * L \<up> 3 + \
38 \ - 1 * q_0 / 24 * L \<up> 4)]",
39 "solveForVars [c, c_2]", "solution LL"];
41 ("Biegelinie",["LINEAR", "system"], ["no_met"]);
42 val p = e_pos'; val c = [];
43 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
44 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
45 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
46 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
47 val (p,_,f,nxt,_,pt) = me nxt p c pt;
48 case nxt of (Specify_Method ["EqSystem", "normalise", "2x2"]) => ()
49 | _ => error "eqsystem.sml [linear,system] specify b";
50 val (p,_,f,nxt,_,pt) = me nxt p c pt;
51 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
52 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
53 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
54 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
55 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
56 if f2str f =(*BEFORE "eliminate ThmC.numerals_to_Free"..
57 "[c_2 = 0, L * c + c_2 = - 1 * q_0 * L \<up> 4 / (24 * EI)]"*)
58 "[c_2 = 0, L * c + c_2 = - 1 * q_0 * L \<up> 4 / 24]"
59 then () else error "eqsystem.sml me simpl. before SubProblem b";
61 (Subproblem ("Biegelinie", ["triangular", "2x2", "LINEAR",_])) => ()
62 | _ => error "eqsystem.sml me [linear,system] SubProblem b";
64 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
65 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
66 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
67 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
69 (Specify_Method ["EqSystem", "top_down_substitution", "2x2"]) => ()
70 | _ => error "eqsystem.sml me [EqSys...2x2] top_down_substitution b";
72 val (p,_,f,nxt,_,pt) = me nxt p c pt;
73 val PblObj {probl,...} = get_obj I pt [5];
74 (writeln o (I_Model.to_string (Proof_Context.init_global @{theory Isac_Knowledge}))) probl;
76 (1 ,[1] ,true ,#Given ,Cor equalities [c_2 = 0, L * c + c_2 = q_0 * L \<up> 2 / 2] ,(es_, [[c_2 = 0, L * c + c_2 = q_0 * L \<up> 2 / 2]])),
77 (2 ,[1] ,true ,#Given ,Cor solveForVars [c, c_2] ,(v_s, [[c, c_2]])),
78 (3 ,[1] ,true ,#Find ,Cor solution ss___ ,(ss___, [ss___]))]
80 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
81 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
82 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
83 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
84 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
85 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
86 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
87 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
89 (Check_Postcond ["triangular", "2x2", "LINEAR", "system"]) => ()
90 | _ => error "eqsystem.sml me Subpbl .[EqSys...2x2] finished b";
91 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
92 val (p,_,f,nxt,_,pt) = me nxt p c pt;f2str f;
94 if f2str f =(*BEFORE "eliminate ThmC.numerals_to_Free"..
95 "[c = - 1 * q_0 * L \<up> 3 / (24 * EI), c_2 = 0]"*)
96 "[c = - 1 * q_0 * L \<up> 3 / 24, c_2 = 0]"
97 then () else error "eqsystem.sml me [EqSys...2x2] finished f2str f b";
100 | _ => error "eqsystem.sml me [EqSys...2x2] finished End_Proof'";
103 "----------- all systems from Biegelinie -------------------------";
104 "----------- all systems from Biegelinie -------------------------";
105 "----------- all systems from Biegelinie -------------------------";
106 val thy = @{theory Isac_Knowledge}
108 [(TermC.parse_test @{context} "bdv_1", TermC.parse_test @{context} "c"), (TermC.parse_test @{context} "bdv_2", TermC.parse_test @{context} "c_2"),
109 (TermC.parse_test @{context} "bdv_3", TermC.parse_test @{context} "c_3"), (TermC.parse_test @{context} "bdv_4", TermC.parse_test @{context} "c_4")];
114 ["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
115 "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]", "FunktionsVariable x"],
116 ("Biegelinie", ["Biegelinien"], ["IntegrierenUndKonstanteBestimmen2"]))];
119 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
120 ##7.27## ordered substs
122 c c_2 c_3 c_4 c c_2 1->2: c
124 c c_2 c c_2 c_3 c_4 [2':c, 1:c_2, 3:c_4] -> 4:c_3*)
125 val t = TermC.parse_test @{context}
127 "0 = c_4 + L * c_3 +(12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) / (- 24 * EI), " ^
129 "0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2]");
130 val SOME (t, _) = rewrite_set_ ctxt false isolate_bdvs_4x4 t;
132 "[c_4 = 0,\n (12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) /\n (- 24 * EI) =\n - 1 * (c_4 + L * c_3) + 0,\n c_2 = 0, (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2 = 0]"
133 then () else error "Bsp 7.27";
135 "----- Bsp 7.27 go through the rewrites in met_eqsys_norm_4x4";
136 val t = TermC.parse_test @{context} "0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2";
137 val NONE = rewrite_set_ ctxt false norm_Rational t;
139 rewrite_set_inst_ ctxt false subst simplify_System_parenthesized t;
140 if UnparseC.term t = "0 = - 1 * q_0 * L \<up> 2 / 2 + (L * c + c_2)"
141 then () else error "Bsp 7.27 go through the rewrites in met_eqsys_norm_4x4";
143 "--- isolate_bdvs_4x4";
145 val SOME (t,_) = rewrite_set_inst_ ctxt false subst isolate_bdvs_4x4 t;
147 val SOME (t,_) = rewrite_set_inst_ ctxt false subst simplify_System t;
149 val SOME (t,_) = rewrite_set_ ctxt false order_system t;
153 "------- Bsp 7.28 ---------------vvvvvvvvvvvvv Momentenlinie postponed";
155 CalcTree [((*WN130908 <ERROR> error in kernel </ERROR>*)
156 ["Traegerlaenge L", "Momentenlinie (-q_0 / L * x \<up> 3 / 6)",
158 "Randbedingungen [y L = 0, y' L = 0]",
159 "FunktionsVariable x"],
160 ("Biegelinie", ["vonMomentenlinieZu", "Biegelinien"],
161 ["Biegelinien", "AusMomentenlinie"]))];
164 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
170 ["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
171 "Randbedingungen [y 0 = (0::real), y L = 0, y' 0 = 0, y' L = 0]", "FunktionsVariable x"],
172 ("Biegelinie", ["Biegelinien"], ["IntegrierenUndKonstanteBestimmen2"]))];
175 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
176 ##7.69## ordered subst 2x2
178 c c_2 c_3 c_4 c c_2 c_3 1:c_3 -> 2:c c_2 2: c c_2
180 c c_2 c_3 c c_2 c_3 c_4 3:c_4 -> 4:c c_2 c_3 1:c_3 -> 4:c c_2*)
181 val t = TermC.parse_test @{context}
182 ("[0 = c_4 + 0 / (- 1 * EI), " ^
183 "0 = c_4 + L * c_3 + (12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) / (- 24 * EI), " ^
184 "0 = c_3 + 0 / (- 1 * EI), " ^
185 "0 = c_3 + (6 * L * c_2 + 3 * L \<up> 2 * c + - 1 * L \<up> 3 * q_0) / (-6 * EI)]");
190 ["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
191 "Randbedingungen [Q 0 = q_0 * L, M_b L = 0, y 0 = (0::real), y' 0 = 0]", "FunktionsVariable x"],
192 ("Biegelinie", ["Biegelinien"], ["IntegrierenUndKonstanteBestimmen2"] ))];
195 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
200 c_4 | STOPPED.WN06? test methods @@@@@@@@@@@@@@@@@@@@@@@*)
202 "----- 7.70 go through the rewrites in met_eqsys_norm_4x4";
203 val t = TermC.parse_test @{context}
205 "0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2, " ^
208 val SOME (t,_) = rewrite_ ctxt Rewrite_Ord.function_empty Rule_Set.empty false @{thm commute_0_equality} t;
209 val SOME (t,_) = rewrite_ ctxt Rewrite_Ord.function_empty Rule_Set.empty false @{thm commute_0_equality} t;
210 val SOME (t,_) = rewrite_ ctxt Rewrite_Ord.function_empty Rule_Set.empty false @{thm commute_0_equality} t;
212 "[L * q_0 = c, (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2 = 0,\n c_4 = 0, c_3 = 0]"
213 then () else error "7.70 go through the rewrites in met_eqsys_norm_4x4, 1";
215 val SOME (t,_) = rewrite_set_inst_ ctxt false subst simplify_System_parenthesized t;
216 if UnparseC.term t = "[L * q_0 = c, - 1 * q_0 * L \<up> 2 / 2 + (L * c + c_2) = 0, c_4 = 0,\n c_3 = 0]"
217 then () else error "7.70 go through the rewrites in met_eqsys_norm_4x4, 2";
219 val SOME (t,_) = rewrite_set_inst_ ctxt false subst isolate_bdvs_4x4 t;
221 "[c = (- 1 * (L * q_0) + 0) / - 1,\n" ^
222 " L * c + c_2 = - 1 * (- 1 * q_0 * L \<up> 2 / 2) + 0, c_4 = 0, c_3 = 0]"
223 then () else error "7.70 go through the rewrites in met_eqsys_norm_4x4, 3";
225 val SOME (t,_) = rewrite_set_inst_ ctxt false subst simplify_System_parenthesized t;
227 "[c = - 1 * L * q_0 / - 1, L * c + c_2 = q_0 * L \<up> 2 / 2, c_4 = 0,\n c_3 = 0]"
228 then () else error "7.70 go through the rewrites in met_eqsys_norm_4x4, 4";
230 val SOME (t, _) = rewrite_set_ ctxt false order_system t;
232 "[c = - 1 * L * q_0 / - 1, L * c + c_2 = q_0 * L \<up> 2 / 2, c_3 = 0,\n c_4 = 0]"
233 then () else error "eqsystem.sml: exp 7.70 normalise 4x4 by rewrite changed";
235 "----- 7.70 with met normalise: ";
236 val fmz = ["equalities" ^
238 "0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2, " ^
240 "0 = c_3]", "solveForVars [c, c_2, c_3, c_4]", "solution LL"];
241 val (dI',pI',mI') = ("Biegelinie",["LINEAR", "system"], ["no_met"]);
242 val p = e_pos'; val c = [];
244 (*============ inhibit exn WN120314 TODO: investigate type error (same as above)==
245 in next but one test below the same type error.
246 /-------------------------------------------------------\
247 Type unification failed
248 Type error in application: incompatible operand type
250 Operator: op # c_3 :: 'a list \<Rightarrow> 'a list
251 Operand: [c_4] :: 'b list
252 \-------------------------------------------------------/
254 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
255 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
256 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
257 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
258 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
259 case nxt of (_,Apply_Method ["EqSystem", "normalise", "4x4"]) => ()
260 | _ => error "eqsystem.sml [EqSystem,normalise,4x4] specify";
261 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
263 "----- outcommented before Isabelle2002 --> 2011 -------------------------";
264 (*-----------------------------------vvvWN080102 Exception- Match raised
265 since associate Rewrite .. Rewrite_Set
266 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
268 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
269 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
271 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
272 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
273 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
274 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
275 if f2str f ="[c = L * q_0, L * c + c_2 = q_0 * L \<up> 2 / 2, c_3 = 0, c_4 = 0]"
276 then () else error "eqsystem.sml: exp 7.70 normalise 4x4 by met changed";
277 --------------------------------------------------------------------------*)
278 ============ inhibit exn WN120314 ==============================================*)
280 "----- 7.70 with met top_down_: me";
282 "equalities [(c::real) = L * q_0, L * c + (c_2::real) = q_0 * L \<up> 2 / 2, (c_3::real) = 0, (c_4::real) = 0]",
283 "solveForVars [(c::real), (c_2::real), (c_3::real), (c_4::real)]", "solution LL"];
285 ("Biegelinie",["LINEAR", "system"],["no_met"]);
286 val p = e_pos'; val c = [];
287 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
288 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
289 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
290 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
291 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
292 case nxt of Apply_Method ["EqSystem", "top_down_substitution", "4x4"] => ()
293 | _ => error "eqsystem.sml [EqSystem,top_down_,4x4] specify";
294 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
295 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
296 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
297 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
298 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
299 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
300 if p = ([], Res) andalso
301 (* "[c = L * q_0, c_2 = - 1 * L \<up> 2 * q_0 / 2, c_3 = 0, c_4 = 0]"*)
302 f2str f = "[c = L * q_0, c_2 = - 1 * L \<up> 2 * q_0 / 2, c_3 = 0, c_4 = 0]"
303 then () else error "eqsystem.sml: 7.70 with met top_down_: me";
307 CalcTree [(["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
308 "Randbedingungen [M_b L = 0, y 0 = (0::real), y L = 0, y' 0 = 0]",
309 "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
310 "AbleitungBiegelinie dy"],
311 ("Biegelinie", ["Biegelinien"],
312 ["IntegrierenUndKonstanteBestimmen2"] ))];
315 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
316 ##7.71## |ordered |subst.singles (recurs) |2x2 |diagonal
317 c c_2 |c c_2 |1' |1': c c_2 |
318 c_4 | c_3 |2:c_3 -> 4' :c c_2 c_4 | |
319 c c_2 c_3 c_4 | c_4 |3' | |
320 c_3 |c c_2 c_3 c_4 |3:c_4 -> 4'':c c_2 |4'':c c_2 | *)
321 val t = TermC.parse_test @{context}"[0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2, \
322 \ 0 = c_4 + 0 / (- 1 * EI), \
323 \ 0 = c_4 + L * c_3 +(12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) /(- 24 * EI),\
324 \ 0 = c_3 + 0 / (- 1 * EI)]";
326 "------- Bsp 7.72a ---------------vvvvvvvvvvvvv Momentenlinie postponed";
328 CalcTree [(["Traegerlaenge L",
329 "Momentenlinie ((q_0 * L)/ 6 * x - q_0 /(6 * L) * x \<up> ^3)",
331 "Randbedingungen [y 0 = (0::real), y L = 0]",
332 "FunktionsVariable x"],
333 ("Biegelinie", ["vonMomentenlinieZu", "Biegelinien"],
334 ["Biegelinien", "AusMomentenlinie"]))];
337 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
342 CalcTree [(["Traegerlaenge L", "Streckenlast (q_0 / L * x)", "Biegelinie y",
343 "Randbedingungen [M_b 0 = 0, M_b L = 0, y 0 = (0::real), y L = 0]",
344 "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
345 "AbleitungBiegelinie dy"],
346 ("Biegelinie", ["Biegelinien"],
347 ["IntegrierenUndKonstanteBestimmen2"] ))];
350 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
351 ##7.72b## |ord. |subst.singles |ord.triang.
353 c c_2 | |1:c_2 -> 2':c |c_2 c
355 c c_2 c_3 c_4 | |3:c_4 -> 4':c c_2 c_3 |c_2 c c_3*)
356 val t = TermC.parse_test @{context}"[0 = c_2, \
357 \ 0 = (6 * c_2 + 6 * L * c + - 1 * L \<up> 2 * q_0) / 6, \
358 \ 0 = c_4 + 0 / (- 1 * EI), \
359 \ 0 = c_4 + L * c_3 + (60 * L \<up> 2 * c_2 + 20 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) / (- 120 * EI)]";
361 "------- Bsp 7.73 ---------------vvvvvvvvvvvvv Momentenlinie postponed";
363 CalcTree [(["Traegerlaenge L", "Momentenlinie ???",(*description unclear*)
365 "Randbedingungen [y L = 0, y' L = 0]",
366 "FunktionsVariable x"],
367 ("Biegelinie", ["vonMomentenlinieZu", "Biegelinien"],
368 ["Biegelinien", "AusMomentenlinie"]))];
371 LItool.trace_on := true; autoCalculate 1 CompleteCalc; LItool.trace_on := false;
374 "----------- 4x4 systems from Biegelinie -------------------------";
375 "----------- 4x4 systems from Biegelinie -------------------------";
376 "----------- 4x4 systems from Biegelinie -------------------------";
377 (*STOPPED.WN08?? replace this test with 7.70 *)
379 val fmz = ["equalities \
381 \ 0 = c_4 + L * c_3 +(12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) / (- 24 * EI), \
383 \ 0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2]",
384 "solveForVars [c, c_2, c_3, c_4]", "solution LL"];
386 ("Biegelinie",["normalise", "4x4", "LINEAR", "system"],
387 ["EqSystem", "normalise", "4x4"]);
388 val p = e_pos'; val c = [];
389 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
390 val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
391 val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
392 val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
393 val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
394 "------------------------------------------- Apply_Method...";
395 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
397 \ 0 = c_4 + L * c_3 +\n (12 * L \<up> 2 * c_2 + 4 * L \<up> 3 * c + - 1 * L \<up> 4 * q_0) / (- 24 * EI), \
399 \ 0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2]";
400 (*vvvWN080102 Exception- Match raised
401 since associate Rewrite .. Rewrite_Set
402 "------------------------------------------- simplify_System_parenthesized...";
403 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
405 \ 0 = - 1 * q_0 * L \<up> 4 / (- 24 * EI) + \
406 \ (4 * L \<up> 3 * c / (- 24 * EI) + \
407 \ (12 * L \<up> 2 * c_2 / (- 24 * EI) + \
408 \ (L * c_3 + c_4))), \
410 \ 0 = - 1 * q_0 * L \<up> 2 / 2 + (L * c + c_2)]";
411 (*? "(4 * L \<up> 3 / (- 24 * EI) * c" statt "(4 * L \<up> 3 * c / (- 24 * EI)" ?*)
412 "------------------------------------------- isolate_bdvs...";
413 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
415 \ c_4 = 0 + - 1 * (- 1 * q_0 * L \<up> 4 / (- 24 * EI)) + - 1 * (4 * L \<up> 3 * c / (- 24 * EI)) + - 1 * (12 * L \<up> 2 * c_2 / (- 24 * EI)) + - 1 * (L * c_3),\
417 \ c_2 = 0 + - 1 * (- 1 * q_0 * L \<up> 2 / 2) + - 1 * (L * c)]";
418 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
420 ---------------------------------------------------------------------*)