28 |
28 |
29 |
29 |
30 "----------- the rules -------------------------------------------"; |
30 "----------- the rules -------------------------------------------"; |
31 "----------- the rules -------------------------------------------"; |
31 "----------- the rules -------------------------------------------"; |
32 "----------- the rules -------------------------------------------"; |
32 "----------- the rules -------------------------------------------"; |
33 fun str2t str = (term_of o the o (parse Biegelinie.thy)) str; |
33 fun str2term str = (term_of o the o (parse Biegelinie.thy)) str; |
34 fun term2s t = Sign.string_of_term (sign_of Biegelinie.thy) t; |
34 fun term2s t = Sign.string_of_term (sign_of Biegelinie.thy) t; |
35 fun rewrit thm str = |
35 fun rewrit thm str = |
36 fst (the (rewrite_ Biegelinie.thy tless_true e_rls true thm str)); |
36 fst (the (rewrite_ Biegelinie.thy tless_true e_rls true thm str)); |
37 |
37 |
38 val t = rewrit Belastung_Querkraft (str2t "- q_ x = - q_0"); term2s t; |
38 val t = rewrit Belastung_Querkraft (str2term "- q_ x = - q_0"); term2s t; |
39 if term2s t = "Q' x = - q_0" then () |
39 if term2s t = "Q' x = - q_0" then () |
40 else raise error "/biegelinie.sml: Belastung_Querkraft"; |
40 else raise error "/biegelinie.sml: Belastung_Querkraft"; |
41 |
41 |
42 val t = rewrit Querkraft_Moment (str2t "Q x = - q_0 * x + c"); term2s t; |
42 val t = rewrit Querkraft_Moment (str2term "Q x = - q_0 * x + c"); term2s t; |
43 if term2s t = "M_b' x = - q_0 * x + c" then () |
43 if term2s t = "M_b' x = - q_0 * x + c" then () |
44 else raise error "/biegelinie.sml: Querkraft_Moment"; |
44 else raise error "/biegelinie.sml: Querkraft_Moment"; |
45 |
45 |
46 val t = rewrit Moment_Neigung (str2t "M_b x = -q_0 * x^^^2/2 + q_0/2 *L*x"); |
46 val t = rewrit Moment_Neigung (str2term "M_b x = -q_0 * x^^^2/2 + q_0/2 *L*x"); |
47 term2s t; |
47 term2s t; |
48 if term2s t = "- EI * y'' x = - q_0 * x ^^^ 2 / 2 + q_0 / 2 * L * x" then () |
48 if term2s t = "- EI * y'' x = - q_0 * x ^^^ 2 / 2 + q_0 / 2 * L * x" then () |
49 else raise error "biegelinie.sml: Moment_Neigung"; |
49 else raise error "biegelinie.sml: Moment_Neigung"; |
50 |
50 |
51 |
51 |
189 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
189 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
190 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
190 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
191 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
191 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
192 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
192 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt; |
193 |
193 |
194 val pits = get_obj g_pbl pt (fst p);writeln (itms2str thy pits); |
194 val pits = get_obj g_pbl pt (fst p);writeln (itms2str_ ctxt pits); |
195 (*if itms2str thy pits = ... all 5 model-items*) |
195 (*if itms2str_ ctxt pits = ... all 5 model-items*) |
196 val mits = get_obj g_met pt (fst p); writeln (itms2str thy mits); |
196 val mits = get_obj g_met pt (fst p); writeln (itms2str_ ctxt mits); |
197 if itms2str thy mits = "[]" then () |
197 if itms2str_ ctxt mits = "[]" then () |
198 else raise error "biegelinie.sml: Bsp 7.27 #2"; |
198 else raise error "biegelinie.sml: Bsp 7.27 #2"; |
199 |
199 |
200 val (p,_,f,nxt,_,pt) = me nxt p c pt; |
200 val (p,_,f,nxt,_,pt) = me nxt p c pt; |
201 case nxt of (_,Add_Given "FunktionsVariable x") => () |
201 case nxt of (_,Add_Given "FunktionsVariable x") => () |
202 | _ => raise error "biegelinie.sml: Bsp 7.27 #4a"; |
202 | _ => raise error "biegelinie.sml: Bsp 7.27 #4a"; |
203 val (p,_,f,nxt,_,pt) = me nxt p c pt; |
203 val (p,_,f,nxt,_,pt) = me nxt p c pt; |
204 val mits = get_obj g_met pt (fst p);writeln (itms2str thy mits); |
204 val mits = get_obj g_met pt (fst p);writeln (itms2str_ ctxt mits); |
205 (*if itms2str thy mits = ... all 6 guard-items*) |
205 (*if itms2str_ ctxt mits = ... all 6 guard-items*) |
206 case nxt of (_, Apply_Method ["IntegrierenUndKonstanteBestimmen"]) => () |
206 case nxt of (_, Apply_Method ["IntegrierenUndKonstanteBestimmen"]) => () |
207 | _ => raise error "biegelinie.sml: Bsp 7.27 #4b"; |
207 | _ => raise error "biegelinie.sml: Bsp 7.27 #4b"; |
208 |
208 |
209 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f; |
209 val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f; |
210 case pt of Nd (PblObj _, [Nd _]) => ((*Apply_Method + Take*)) |
210 case pt of Nd (PblObj _, [Nd _]) => ((*Apply_Method + Take*)) |