wneuper@3665
|
1 |
WN060901 while 'programming' Biegelinie2
|
wneuper@3665
|
2 |
-----------------------------------------------------------------------------
|
wneuper@3665
|
3 |
# you call a script the first time and get the message
|
wneuper@3665
|
4 |
"(*** actual arg(s) missing for '["(#Find, (Funktionen, funs_))"]' i.e. should be 'copy-named' by '*_._'"
|
wneuper@3665
|
5 |
!!! THE (#Find, (Funktionen, funs_)) IS NOT COPYNAMED BY funs___ !!!3*_!!!
|
wneuper@3665
|
6 |
see biegelinie.sml
|
wneuper@3665
|
7 |
-----------------------------------------------------------------------------
|
wneuper@3665
|
8 |
# you run a script the first time and get the message
|
wneuper@3665
|
9 |
"*** generate1: not impl.for Empty_Tac_"
|
wneuper@3665
|
10 |
#1# set trace_script:=true;
|
wneuper@3665
|
11 |
!!! the first tactic in a script must be "Take", "Subproblem" (no "init_form")
|
wneuper@3665
|
12 |
OR Rewrite* ("init_form")
|
wneuper@3665
|
13 |
-----------------------------------------------------------------------------
|
wneuper@3665
|
14 |
# pay attention to ";" between statements within "let":
|
wneuper@3665
|
15 |
this script with missing ";" at the last but one line
|
wneuper@3665
|
16 |
"Script SetzeRandbedScript (funs_::bool list) (rb_::bool list) = \
|
wneuper@3665
|
17 |
\ (let b1_ = nth_ 1 rb_; \
|
wneuper@3665
|
18 |
\ fs_ = filter (sameFunId (lhs b1_)) funs_; \
|
wneuper@3665
|
19 |
\ (e1_::bool) = \
|
wneuper@3665
|
20 |
\ (SubProblem (Biegelinie_,[makeFunctionTo,equation],\
|
wneuper@3665
|
21 |
\ [Equation,fromFunction]) \
|
wneuper@3665
|
22 |
\ [bool_ (hd fs_), bool_ b1_]); \
|
wneuper@3665
|
23 |
\ b2_ = nth_ 2 rb_; \
|
wneuper@3665
|
24 |
..."
|
wneuper@3665
|
25 |
would lead to
|
wneuper@3665
|
26 |
@@@ next leaf 'nth_ 2 rb_' ---> Expr 'y L = 0'
|
wneuper@3665
|
27 |
@@@ next leaf 'filter (sameFunId (lhs b2_)) funs_' ---> Expr '[y x =
|
wneuper@3665
|
28 |
c_4 + c_3 * x +
|
wneuper@3665
|
29 |
1 / (-1 * EI) *
|
wneuper@3665
|
30 |
(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]'
|
wneuper@3665
|
31 |
@@@ next leaf 'SubProblem
|
wneuper@3665
|
32 |
(Biegelinie_, [makeFunctionTo, equation], [Equation, fromFunction])
|
wneuper@3665
|
33 |
[bool_ (hd fs_), bool_ b2_] b3_ =
|
wneuper@3665
|
34 |
nth_ 3 rb_' ---> Expr 'SubProblem
|
wneuper@3665
|
35 |
(Biegelinie_, [makeFunctionTo, equation], [Equation, fromFunction])
|
wneuper@3665
|
36 |
[bool_
|
wneuper@3665
|
37 |
(y x =
|
wneuper@3665
|
38 |
c_4 + c_3 * x +
|
wneuper@3665
|
39 |
1 / (-1 * EI) *
|
wneuper@3665
|
40 |
(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)),
|
wneuper@3665
|
41 |
bool_ (y L = 0)]
|
wneuper@3665
|
42 |
b3_ =
|
wneuper@3665
|
43 |
(M_b 0 = 0)'
|
wneuper@3865
|
44 |
without type errors at 3rd "@@@ next leaf 'SubProblem...b3_ = ..." !!!
|
wneuper@3865
|
45 |
=============================================================================
|
wneuper@3865
|
46 |
WN070406 while 'programming' Rechnen
|
wneuper@3865
|
47 |
-----------------------------------------------------------------------------
|
wneuper@3865
|
48 |
the specification of an example should use Isac.thy !!!
|
wneuper@3865
|
49 |
here we had dI'=AlgEin.thy, and norm_Rational stopped, causing nxt = Empty_Tac:
|
wneuper@3865
|
50 |
# rls: norm_Rational on: L = 1 + 2 + 3
|
wneuper@3865
|
51 |
## rls: discard_minus_ on: L = 1 + 2 + 3
|
wneuper@3865
|
52 |
### try thm: real_diff_minus
|
wneuper@3865
|
53 |
### try thm: sym_real_mult_minus1
|
wneuper@3865
|
54 |
## rls: rat_mult_poly on: L = 1 + 2 + 3
|
wneuper@3865
|
55 |
### try thm: rat_mult_poly_l
|
wneuper@3865
|
56 |
### try thm: rat_mult_poly_r
|
wneuper@3865
|
57 |
## rls: make_rat_poly_with_parentheses on: L = 1 + 2 + 3
|
wneuper@3865
|
58 |
### rls: discard_minus_ on: L = 1 + 2 + 3
|
wneuper@3865
|
59 |
#### try thm: real_diff_minus
|
wneuper@3865
|
60 |
#### try thm: sym_real_mult_minus1
|
wneuper@3865
|
61 |
### rls: expand_poly_rat_ on: L = 1 + 2 + 3
|
wneuper@3865
|
62 |
#### try thm: real_plus_binom_pow4_poly
|
wneuper@3865
|
63 |
#### try thm: real_plus_binom_pow5_poly
|
wneuper@3865
|
64 |
#### try thm: real_plus_binom_pow2_poly
|
wneuper@3865
|
65 |
#### try thm: real_plus_binom_pow3_poly
|
wneuper@3865
|
66 |
#### try thm: real_plus_minus_binom1_p_p
|
wneuper@3865
|
67 |
#### try thm: real_plus_minus_binom2_p_p
|
wneuper@3865
|
68 |
#### try thm: real_add_mult_distrib_poly
|
wneuper@3865
|
69 |
#### try thm: real_add_mult_distrib2_poly
|
wneuper@3865
|
70 |
#### try thm: realpow_multI_poly
|
wneuper@3865
|
71 |
#### try thm: realpow_pow
|
wneuper@3865
|
72 |
### try calc: op *'
|
wneuper@3865
|
73 |
### rls: order_mult_rls_ on: L = 1 + 2 + 3
|
wneuper@3865
|
74 |
#### rls: order_mult_ on: L = 1 + 2 + 3
|
wneuper@3865
|
75 |
####### rls: e_rls-is_multUnordered on: 1 + 2 + 3 is_multUnordered
|
wneuper@3865
|
76 |
######## try calc: Poly.is'_multUnordered'
|
wneuper@3865
|
77 |
val f = Form' (FormKF (~1, EdUndef, ...)) : mout
|
wneuper@3865
|
78 |
val nxt = ("Empty_Tac", Empty_Tac) : tac'_
|
wneuper@3865
|
79 |
-----------------------------------------------------------------------------
|
wneuper@3865
|
80 |
the pattern for eval_xxx must include the function-constant of the predicate,
|
wneuper@3865
|
81 |
because this is required for rewriting by 'xxx _ = value'
|
wneuper@3865
|
82 |
-----------------------------------------------------------------------------
|