s1210629013@55377
|
1 |
|
wneuper@59460
|
2 |
theory scrtools
|
wneuper@59465
|
3 |
imports Isac.Build_Thydata
|
s1210629013@55377
|
4 |
begin
|
s1210629013@55377
|
5 |
|
wneuper@59500
|
6 |
subsection \<open> Compare with scrtools.sml: "--- test auto-generated script" \<close>
|
wneuper@59545
|
7 |
|
wneuper@59545
|
8 |
partial_function (tailrec) stepwise_test :: "real => real"
|
wneuper@59545
|
9 |
where
|
wneuper@59545
|
10 |
"stepwise_test t_t =
|
wneuper@59545
|
11 |
(Try (Rewrite_Set ''discard_minus'' False) @@
|
wneuper@59545
|
12 |
Try (Rewrite_Set ''expand_poly'' False) @@
|
wneuper@59545
|
13 |
Try (Repeat (Calculate ''TIMES'')) @@
|
wneuper@59545
|
14 |
Try (Rewrite_Set ''order_mult_rls'' False) @@
|
wneuper@59545
|
15 |
Try (Rewrite_Set ''simplify_power'' False) @@
|
wneuper@59545
|
16 |
Try (Rewrite_Set ''calc_add_mult_pow'' False) @@
|
wneuper@59545
|
17 |
Try (Rewrite_Set ''reduce_012_mult'' False) @@
|
wneuper@59545
|
18 |
Try (Rewrite_Set ''order_add_rls'' False) @@
|
wneuper@59545
|
19 |
Try (Rewrite_Set ''collect_numerals'' False) @@
|
wneuper@59545
|
20 |
Try (Rewrite_Set ''reduce_012'' False) @@
|
wneuper@59545
|
21 |
Try (Rewrite_Set ''discard_parentheses'' False))
|
wneuper@59545
|
22 |
t_t"
|
wneuper@59472
|
23 |
setup \<open>KEStore_Elems.add_mets
|
wneuper@59410
|
24 |
[Specify.prep_met @{theory "Test"} "met_testinter" [] Celem.e_metID
|
wneuper@59410
|
25 |
(["Test","test_interSteps_1"],
|
s1210629013@55377
|
26 |
[("#Given" ,["Term t_t"]), ("#Find" ,["normalform n_n"])],
|
wneuper@59417
|
27 |
{rew_ord' = "dummy_ord", rls' = tval_rls, calc = [], srls = Rule.e_rls, prls = Rule.e_rls,
|
wneuper@59417
|
28 |
crls=tval_rls, errpats = [], nrls = Rule.e_rls},
|
wneuper@59545
|
29 |
@{thm stepwise_test.simps}
|
wneuper@59585
|
30 |
(*"Program Stepwise t_t = \
|
wneuper@59488
|
31 |
\(Try (Rewrite_Set ''discard_minus'' False) @@ \
|
wneuper@59488
|
32 |
\ Try (Rewrite_Set ''expand_poly'' False) @@ \
|
wneuper@59488
|
33 |
\ Try (Repeat (Calculate ''TIMES'')) @@ \
|
wneuper@59488
|
34 |
\ Try (Rewrite_Set ''order_mult_rls'' False) @@ \
|
wneuper@59488
|
35 |
\ Try (Rewrite_Set ''simplify_power'' False) @@ \
|
wneuper@59488
|
36 |
\ Try (Rewrite_Set ''calc_add_mult_pow'' False) @@ \
|
wneuper@59488
|
37 |
\ Try (Rewrite_Set ''reduce_012_mult'' False) @@ \
|
wneuper@59488
|
38 |
\ Try (Rewrite_Set ''order_add_rls'' False) @@ \
|
wneuper@59488
|
39 |
\ Try (Rewrite_Set ''collect_numerals'' False) @@ \
|
wneuper@59488
|
40 |
\ Try (Rewrite_Set ''reduce_012'' False) @@ \
|
wneuper@59488
|
41 |
\ Try (Rewrite_Set ''discard_parentheses'' False)) \
|
wneuper@59545
|
42 |
\ t_t"*)
|
s1210629013@55377
|
43 |
(*presently this script cannot become equal in types to auto_script, because:
|
s1210629013@55377
|
44 |
this t_t must be either 'real' or 'bool' #1#,
|
s1210629013@55377
|
45 |
while the auto_script must be 'z and type-instantiated before usage*))]
|
wneuper@59472
|
46 |
\<close>
|
wneuper@59500
|
47 |
text \<open> see scrtools.sml "--- test auto-generated script" \<close>
|
wneuper@59500
|
48 |
|
wneuper@59500
|
49 |
subsection \<open> Handle Var from parsing by partial_function \<close>
|
wneuper@59500
|
50 |
partial_function (tailrec) xxx ::
|
wneuper@59500
|
51 |
"bool \<Rightarrow> bool list"
|
wneuper@59500
|
52 |
where
|
wneuper@59500
|
53 |
"xxx e_e = (let e_e = (Rewrite_Set ''yyy'' False) e_e in [e_e])"
|
wneuper@59500
|
54 |
text \<open> see scrtools.sml "--- Handle Var from parsing by partial_function" \<close>
|
wneuper@59500
|
55 |
|
wneuper@59500
|
56 |
subsection \<open> Compare program terms: from old parsing | from partial_function \<close>
|
wneuper@59500
|
57 |
partial_function (tailrec) minisubpbl ::
|
wneuper@59500
|
58 |
"bool \<Rightarrow> real \<Rightarrow> bool list"
|
wneuper@59500
|
59 |
where "minisubpbl e_e v_v =
|
wneuper@59500
|
60 |
(let e_e = ((Try (Rewrite_Set ''norm_equation'' False)) @@
|
wneuper@59500
|
61 |
(Try (Rewrite_Set ''Test_simplify'' False))) e_e;
|
wneuper@59500
|
62 |
(L_L::bool list) =
|
wneuper@59500
|
63 |
(SubProblem (''TestX'',
|
wneuper@59500
|
64 |
[''LINEAR'', ''univariate'', ''equation'', ''test''],
|
wneuper@59500
|
65 |
[''Test'', ''solve_linear''])
|
wneuper@59500
|
66 |
[BOOL e_e, REAL v_v])
|
wneuper@59500
|
67 |
in Check_elementwise L_L {(v_v::real). Assumptions})"
|
wneuper@59500
|
68 |
|
wneuper@59500
|
69 |
thm "minisubpbl.simps"
|
s1210629013@55377
|
70 |
|
wneuper@59478
|
71 |
ML \<open>
|
wneuper@59478
|
72 |
\<close> ML \<open>
|
wneuper@59478
|
73 |
\<close>
|
wneuper@59478
|
74 |
|
s1210629013@55377
|
75 |
end
|