note a TODO with tests (make steps around SubProblem more consistent)
authorWalther Neuper <walther.neuper@jku.at>
Mon, 29 Jun 2020 18:05:04 +0200
changeset 60026edd86bf5113b
parent 60025 7539130c3f79
child 60027 3e8c8c3dcd41
note a TODO with tests (make steps around SubProblem more consistent)
src/Tools/isac/TODO.thy
test/Tools/isac/Interpret/sub-problem.sml
test/Tools/isac/Knowledge/biegelinie-4.sml
     1.1 --- a/src/Tools/isac/TODO.thy	Mon Jun 29 17:33:47 2020 +0200
     1.2 +++ b/src/Tools/isac/TODO.thy	Mon Jun 29 18:05:04 2020 +0200
     1.3 @@ -63,6 +63,15 @@
     1.4  text \<open>
     1.5    \begin{itemize}
     1.6    \item xxx
     1.7 +  \item make steps around SubProblem more consistent:
     1.8 +    SubProblem (thy, [pbl]) is bypassed by Model_Problem, if it is 1st Tactic in a Program.
     1.9 +    Design:
    1.10 +    * the Tactic SubProblem (thy, [pbl]) creates the formula SubProblem (thy, [pbl])
    1.11 +      (only the headline !)
    1.12 +    * the Tactic Model_Problem starts Specification
    1.13 +      (with an empty Model)
    1.14 +    see test/../sub-problem.sml
    1.15 +  \item xxx
    1.16    \item Specify_Step.add has dummy argument Istate_Def.Uistate -- remove down to Ctree
    1.17    \item xxx
    1.18    \item Step_Specify.by_tactic (Tactic.Model_Problem' (id, _, met))
     2.1 --- a/test/Tools/isac/Interpret/sub-problem.sml	Mon Jun 29 17:33:47 2020 +0200
     2.2 +++ b/test/Tools/isac/Interpret/sub-problem.sml	Mon Jun 29 18:05:04 2020 +0200
     2.3 @@ -6,12 +6,52 @@
     2.4  "-----------------------------------------------------------------------------------------------";
     2.5  "table of contents -----------------------------------------------------------------------------";
     2.6  "-----------------------------------------------------------------------------------------------";
     2.7 -"----------- TODO ------------------------------------------------------------------------------";
     2.8 +"----------- TODO: make steps around Subproblem more consistent: me' ---------------------------";
     2.9 +"----------- TODO: make steps around Subproblem more consistent: Step.do_next ------------------";
    2.10  "-----------------------------------------------------------------------------------------------";
    2.11  "-----------------------------------------------------------------------------------------------";
    2.12  "-----------------------------------------------------------------------------------------------";
    2.13  
    2.14  
    2.15 -"----------- TODO ------------------------------------------------------------------------------";
    2.16 -"----------- TODO ------------------------------------------------------------------------------";
    2.17 -"----------- TODO ------------------------------------------------------------------------------";
    2.18 +"----------- TODO: make steps around Subproblem more consistent --------------------------------";
    2.19 +"----------- TODO: make steps around Subproblem more consistent --------------------------------";
    2.20 +"----------- TODO: make steps around Subproblem more consistent --------------------------------";
    2.21 +(* compare biegelinie-4.sml *)
    2.22 +val (tac as Model_Problem (*["Biegelinien"]*), (pt, p as ([], Pbl))) =
    2.23 +CalcTreeTEST' [(["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
    2.24 +	"Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]", "FunktionsVariable x",
    2.25 +  "GleichungsVariablen [c, c_2, c_3, c_4]", "AbleitungBiegelinie dy"],
    2.26 +("Biegelinie", ["Biegelinien"], ["IntegrierenUndKonstanteBestimmen2"]))]
    2.27 +
    2.28 +  val (tac as Model_Problem (*["vonBelastungZu", "Biegelinien"]*), (pt, p as ([1], Pbl))) =
    2.29 +  (tac, (pt, p)) |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me'
    2.30 +    (*INVISIBLE: SubProblem (''Biegelinie'', [''vonBelastungZu'', ''Biegelinien''])*)
    2.31 +    |> me';
    2.32 +
    2.33 +
    2.34 +"----------- TODO: make steps around Subproblem more consistent: Step.do_next ------------------";
    2.35 +"----------- TODO: make steps around Subproblem more consistent: Step.do_next ------------------";
    2.36 +"----------- TODO: make steps around Subproblem more consistent: Step.do_next ------------------";
    2.37 +"----------- TODO: make steps around Subproblem more consistent: Step.do_next ------------------";
    2.38 +
    2.39 +val fmz = ["Traegerlaenge L", "Streckenlast q_0", "Biegelinie y",
    2.40 +	"Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]", "FunktionsVariable x",
    2.41 +  "GleichungsVariablen [c, c_2, c_3, c_4]", "AbleitungBiegelinie dy"];
    2.42 +val refs =
    2.43 +  ("Biegelinie", ["Biegelinien"], ["IntegrierenUndKonstanteBestimmen2"]);
    2.44 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, refs)];
    2.45 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Model_Problem*)
    2.46 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "Traegerlaenge L"*)
    2.47 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "Streckenlast q_0"*)
    2.48 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Find "Biegelinie y"*)
    2.49 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Relation "Randbedingungen [y 0 = 0]"*)
    2.50 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Relation "Randbedingungen [y L = 0, M_b 0 = 0, M_b L = 0]"*)
    2.51 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Specify_Theory "Biegelinie"*)
    2.52 +(*[], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Specify_Problem ["Biegelinien"]*)
    2.53 +(*[], Met*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "FunktionsVariable x"*)
    2.54 +(*[], Met*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "FunktionsVariable x"*)
    2.55 +(*[], Met*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "GleichungsVariablen [c, c_2, c_3, c_4]"*)
    2.56 +(*[], Met*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Add_Given "AbleitungBiegelinie dy"*)
    2.57 +(*[1], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Apply_Method ["IntegrierenUndKonstanteBestimmen2"]*)
    2.58 +            (*INVISIBLE: \<rightarrow>SubProblem (''Biegelinie'', [''vonBelastungZu'', ''Biegelinien''])*)
    2.59 +(*[1], Pbl*)val (_, ([(tac, _, _)], _, (pt, p))) = Step.do_next p ((pt, e_pos'), []);(*\<rightarrow>Model_Problem*)
     3.1 --- a/test/Tools/isac/Knowledge/biegelinie-4.sml	Mon Jun 29 17:33:47 2020 +0200
     3.2 +++ b/test/Tools/isac/Knowledge/biegelinie-4.sml	Mon Jun 29 18:05:04 2020 +0200
     3.3 @@ -85,7 +85,7 @@
     3.4    val (tac as Model_Problem (*["vonBelastungZu", "Biegelinien"]*), (pt, p as ([1], Pbl))) =
     3.5    (tac, (pt, p)) |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me'
     3.6      (*INVISIBLE: SubProblem (''Biegelinie'', [''vonBelastungZu'', ''Biegelinien''])*)
     3.7 -    |> me'
     3.8 +    |> me';
     3.9      val (tac as Subproblem ("Biegelinie", ["named", "integrate", "function"]), (pt, p as ([1, 2], Res))) =
    3.10      (tac, (pt, p)) |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me' |> me';
    3.11        val (tac as Check_Postcond ["named", "integrate", "function"], (pt, p as ([1, 3, 2], Res))) =