1.1 --- a/test/Tools/isac/Interpret/li-tool.sml Sun Oct 29 07:14:14 2023 +0100
1.2 +++ b/test/Tools/isac/Interpret/li-tool.sml Thu Nov 16 08:15:46 2023 +0100
1.3 @@ -279,15 +279,10 @@
1.4 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "Traegerlaenge L" = nxt
1.5 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "Streckenlast q_0" = nxt
1.6 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Find "Biegelinie y" = nxt
1.7 -(*/---broken elementwise input to lists---\* )
1.8 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*\<rightarrow>Add_Relation "Randbedingungen [y 0 = 0]", ERROR MISSING step: M_b 0 = 0*)
1.9 - (*isa* ) val Add_Relation "Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]" = nxt
1.10 - ( *isa2*) val Add_Relation "Randbedingungen [y 0 = 0]" = nxt
1.11 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*\<rightarrow>Add_Relation "Randbedingungen [y L = 0, M_b 0 = 0, M_b L = 0]"*)
1.12 - (*isa*) val Specify_Theory "Biegelinie" = nxt
1.13 - (*isa2* ) val Add_Relation "Randbedingungen [y L = 0, M_b 0 = 0, M_b L = 0]" = nxt( **)
1.14 -( *\---broken elementwise input to lists---/*)
1.15 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Relation "Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]" = nxt
1.16 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Relation "Randbedingungen [y 0 = 0]" = nxt
1.17 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Relation "Randbedingungen [y 0 = 0, y L = 0]" = nxt
1.18 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Relation "Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0]" = nxt
1.19 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Relation "Randbedingungen [y L = 0, y 0 = 0, M_b 0 = 0, M_b L = 0]" = nxt
1.20 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Specify_Theory "Biegelinie" = nxt
1.21 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Specify_Problem ["Biegelinien"] = nxt
1.22 (*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Specify_Method ["IntegrierenUndKonstanteBestimmen2"] = nxt
1.23 @@ -295,16 +290,10 @@
1.24 (*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "AbleitungBiegelinie y'" = nxt
1.25 (*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "Biegemoment M_b" = nxt
1.26 (*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "Querkraft Q" = nxt
1.27 -
1.28 -(*/---with M_Model.match_itms_oris broken elementwise input to lists---\*)
1.29 -(*NEW match_itms_oris*)
1.30 (*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c]" = nxt
1.31 -(*NEW*)(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c_2, c_3, c_4]" = nxt
1.32 -(*NEW*)(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Apply_Method ["IntegrierenUndKonstanteBestimmen2"] = nxt
1.33 -(*\---with M_Model.match_itms_oris broken elementwise input to lists---/*)
1.34 -
1.35 -(*--------------------- @ {context}----------------------------------------------
1.36 -(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c, c_2, c_3, c_4]" = nxt
1.37 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c, c_2]" = nxt
1.38 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c, c_2, c_3]" = nxt
1.39 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; val Add_Given "GleichungsVariablen [c_2, c, c_3, c_4]" = nxt
1.40
1.41 (*[], Met*)val return_me_Add_Given_GleichungsVariablen
1.42 = me nxt p c pt; (*val Apply_Method ["IntegrierenUndKonstanteBestimmen2"] = nxt*)
1.43 @@ -348,17 +337,8 @@
1.44 val (_, itms) = I_Model.s_make_complete ctxt oris
1.45 (I_Model.OLD_to_TEST probl, I_Model.OLD_to_TEST itms) (pI', mI)
1.46 ;
1.47 -(*+*)if (itms |> I_Model.to_string_TEST @{context}) = "[\n" ^
1.48 - "(1, [1], true ,#Given, (Cor_TEST Traegerlaenge L , pen2str, Position.T)), \n" ^
1.49 - "(2, [1], true ,#Given, (Cor_TEST Streckenlast q_0 , pen2str, Position.T)), \n" ^
1.50 - "(4, [1], true ,#Relate, (Cor_TEST Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0] , pen2str, Position.T)), \n" ^
1.51 - "(5, [1], true ,#Given, (Cor_TEST FunktionsVariable x , pen2str, Position.T)), \n" ^
1.52 - "(6, [1], true ,#Given, (Cor_TEST AbleitungBiegelinie y' , pen2str, Position.T)), \n" ^
1.53 - "(7, [1], true ,#Given, (Cor_TEST Biegemoment M_b , pen2str, Position.T)), \n" ^
1.54 - "(8, [1], true ,#Given, (Cor_TEST Querkraft Q , pen2str, Position.T)), \n" ^
1.55 - "(9, [1], true ,#Given, (Cor_TEST GleichungsVariablen [c, c_2, c_3, c_4] , pen2str, Position.T)), \n" ^
1.56 - "(3, [1], true ,#Find, (Cor_TEST Biegelinie y , pen2str, Position.T))]"
1.57 -(*+*)then () else error "init_pstate: initial i_model changed";
1.58 +(*+*)val "[\n(1, [1], true ,#Given, (Cor_TEST Traegerlaenge L , pen2str, Position.T)), \n(2, [1], true ,#Given, (Cor_TEST Streckenlast q_0 , pen2str, Position.T)), \n(4, [1], true ,#Relate, (Cor_TEST Randbedingungen [M_b 0 = 0, y 0 = 0, y L = 0, M_b L = 0] , pen2str, Position.T)), \n(5, [1], true ,#Given, (Cor_TEST FunktionsVariable x , pen2str, Position.T)), \n(6, [1], true ,#Given, (Cor_TEST AbleitungBiegelinie y' , pen2str, Position.T)), \n(7, [1], true ,#Given, (Cor_TEST Biegemoment M_b , pen2str, Position.T)), \n(8, [1], true ,#Given, (Cor_TEST Querkraft Q , pen2str, Position.T)), \n(9, [1], true ,#Given, (Cor_TEST GleichungsVariablen [c_3, c, c_2, c_4] , pen2str, Position.T)), \n(3, [1], true ,#Find, (Cor_TEST Biegelinie y , pen2str, Position.T))]"
1.59 + = itms |> I_Model.to_string_TEST @{context};
1.60
1.61 (*case*)
1.62 LItool.init_pstate ctxt itms mI (*of*);
1.63 @@ -380,27 +360,8 @@
1.64 val subst_eval_list = make_envs_preconds equal_givens
1.65 val (env_subst, env_eval) = split_list subst_eval_list
1.66 ;
1.67 -(*+*)if (equal_descr_pairs |> descr_pairs_to_string @{context}) = "[" ^
1.68 -(*defined: in program+model--vvvv--,----------------------------------------- in problem ---vvv*)
1.69 - "((#Given, (Traegerlaenge, l_l)), (1, [1], true ,#Given, " ^
1.70 - "(Cor_TEST Traegerlaenge L , pen2str, Position.T))), " ^
1.71 - "((#Given, (Streckenlast, q_q)), (2, [1], true ,#Given, " ^
1.72 - "(Cor_TEST Streckenlast q_0 , pen2str, Position.T))), " ^
1.73 - "((#Given, (Randbedingungen, r_b)), (4, [1], true ,#Relate, " ^
1.74 - "(Cor_TEST Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0] , pen2str, Position.T))), " ^
1.75 - "((#Given, (FunktionsVariable, fun_var)), (5, [1], true ,#Given, " ^
1.76 - "(Cor_TEST FunktionsVariable x , pen2str, Position.T))), " ^
1.77 - "((#Given, (AbleitungBiegelinie, id_der)), (6, [1], true ,#Given, " ^
1.78 - "(Cor_TEST AbleitungBiegelinie y' , pen2str, Position.T))), " ^
1.79 - "((#Given, (Biegemoment, id_momentum)), (7, [1], true ,#Given, " ^
1.80 - "(Cor_TEST Biegemoment M_b , pen2str, Position.T))), " ^
1.81 - "((#Given, (Querkraft, id_lat_force)), (8, [1], true ,#Given, " ^
1.82 - "(Cor_TEST Querkraft Q , pen2str, Position.T))), " ^
1.83 - "((#Given, (GleichungsVariablen, vs)), (9, [1], true ,#Given, " ^
1.84 - "(Cor_TEST GleichungsVariablen [c, c_2, c_3, c_4] , pen2str, Position.T))), " ^
1.85 - "((#Find, (Biegelinie, b_b)), (3, [1], true ,#Find, (" ^
1.86 - "Cor_TEST Biegelinie y , pen2str, Position.T)))]"
1.87 -then () else error "of_max_variant: equal_descr_pairs CHANGED";
1.88 +(*+*)val "[((#Given, (Traegerlaenge, l_l)), (1, [1], true ,#Given, (Cor_TEST Traegerlaenge L , pen2str, Position.T))), ((#Given, (Streckenlast, q_q)), (2, [1], true ,#Given, (Cor_TEST Streckenlast q_0 , pen2str, Position.T))), ((#Given, (Randbedingungen, r_b)), (4, [1], true ,#Relate, (Cor_TEST Randbedingungen [M_b 0 = 0, y 0 = 0, y L = 0, M_b L = 0] , pen2str, Position.T))), ((#Given, (FunktionsVariable, fun_var)), (5, [1], true ,#Given, (Cor_TEST FunktionsVariable x , pen2str, Position.T))), ((#Given, (AbleitungBiegelinie, id_der)), (6, [1], true ,#Given, (Cor_TEST AbleitungBiegelinie y' , pen2str, Position.T))), ((#Given, (Biegemoment, id_momentum)), (7, [1], true ,#Given, (Cor_TEST Biegemoment M_b , pen2str, Position.T))), ((#Given, (Querkraft, id_lat_force)), (8, [1], true ,#Given, (Cor_TEST Querkraft Q , pen2str, Position.T))), ((#Given, (GleichungsVariablen, vs)), (9, [1], true ,#Given, (Cor_TEST GleichungsVariablen [c_3, c, c_2, c_4] , pen2str, Position.T))), ((#Find, (Biegelinie, b_b)), (3, [1], true ,#Find, (Cor_TEST Biegelinie y , pen2str, Position.T)))]"
1.89 + = equal_descr_pairs |> descr_pairs_to_string @{context}
1.90
1.91 val return_make_env_model = make_env_model equal_descr_pairs;
1.92 (*////---------------- step into make_env_model --------------------------------------------\\*)
1.93 @@ -413,13 +374,13 @@
1.94
1.95 (*+*)val "[x]" = ts |> UnparseC.terms @{context}
1.96 ;
1.97 - (*if*) Model_Pattern.is_list_descr descr (*else*);
1.98 + (*if*) Pre_Conds.is_list_descr descr (*else*);
1.99 val return_handle_lists_step = [(id, Library.the_single ts)]
1.100
1.101 (*+*)val "[\"\n(fun_var, x)\"]" = return_handle_lists_step |> Subst.to_string @{context}
1.102 (*\\\\---------------- step into make_env_model --------------------------------------------//*)
1.103 val env_model = return_make_env_model
1.104 -(*+*)val "[\"\n(l_l, L)\", \"\n(q_q, q_0)\", \"\n(r_b, [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0])\", \"\n(fun_var, x)\", \"\n(id_der, y')\", \"\n(id_momentum, M_b)\", \"\n(id_lat_force, Q)\", \"\n(vs, [c, c_2, c_3, c_4])\", \"\n(b_b, y)\"]"
1.105 +(*+*)val "[\"\n(l_l, L)\", \"\n(q_q, q_0)\", \"\n(r_b, [M_b 0 = 0, y 0 = 0, y L = 0, M_b L = 0])\", \"\n(fun_var, x)\", \"\n(id_der, y')\", \"\n(id_momentum, M_b)\", \"\n(id_lat_force, Q)\", \"\n(vs, [c_3, c, c_2, c_4])\", \"\n(b_b, y)\"]"
1.106 = env_model |> Subst.to_string @{context}
1.107
1.108 (*|||----------------- contine of_max_variant ------------------------------------------------*)
1.109 @@ -427,17 +388,15 @@
1.110 val subst_eval_list = make_envs_preconds equal_givens
1.111 val (env_subst, env_eval) = split_list subst_eval_list
1.112
1.113 -(*bieg*)val "[\"\n(l_l, L)\", \"\n(q_q, q_0)\", \"\n(r_b, [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0])\", \"\n(fun_var, x)\", \"\n(id_der, y')\", \"\n(id_momentum, M_b)\", \"\n(id_lat_force, Q)\", \"\n(vs, [c, c_2, c_3, c_4])\", \"\n(b_b, y)\"]"
1.114 +(*bieg*)val "[\"\n(l_l, L)\", \"\n(q_q, q_0)\", \"\n(r_b, [M_b 0 = 0, y 0 = 0, y L = 0, M_b L = 0])\", \"\n(fun_var, x)\", \"\n(id_der, y')\", \"\n(id_momentum, M_b)\", \"\n(id_lat_force, Q)\", \"\n(vs, [c_3, c, c_2, c_4])\", \"\n(b_b, y)\"]"
1.115 = env_model |> Subst.to_string @{context}
1.116 (*bieg*)val "[]" = env_subst |> Subst.to_string @{context}
1.117 ;
1.118 (*\\\----------------- step into of_max_variant --------------------------------------------//*)
1.119 - val (env_model, (env_subst, env_eval)) = return_make_environments
1.120
1.121 (*||------------------ contine init_pstate ---------------------------------------------------*)
1.122 val actuals = map snd env_model
1.123 -(*+*) val "[L, q_0, [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0], x, y', M_b, Q, [c, c_2, c_3, c_4], y]"
1.124 -(*-----------------///--------------------------------------------------------------------------^^*)
1.125 +(*+*) val "[L, q_0, [M_b 0 = 0, y 0 = 0, y L = 0, M_b L = 0], x, y', M_b, Q, [c_3, c, c_2, c_4], y]"
1.126 = actuals |> UnparseC.terms @{context}
1.127
1.128 val formals = Program.formal_args prog
1.129 @@ -462,5 +421,3 @@
1.130 (* final test ... ----------------------------------------------------------------------------*)
1.131 (*+*)val ([], Met) = p
1.132 (*+*)val Apply_Method ["IntegrierenUndKonstanteBestimmen2"] = nxt
1.133 - --------------------- @ {context}----------------------------------------------*)
1.134 -