walther@59728
|
1 |
(* Title: "MathEngBasic/tactic.sml"
|
walther@59728
|
2 |
Author: Walther Neuper
|
walther@59728
|
3 |
(c) due to copyright terms
|
walther@59728
|
4 |
*)
|
walther@59728
|
5 |
|
walther@59728
|
6 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
7 |
"table of contents -----------------------------------------------------------------------------";
|
walther@59728
|
8 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
9 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
10 |
"----------- fun result, fun creates_assms ---------------------------------------------------";
|
walther@59728
|
11 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
12 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
13 |
"-----------------------------------------------------------------------------------------------";
|
walther@59728
|
14 |
|
walther@59728
|
15 |
"----------- fun result, fun creates_assms ---------------------------------------------------";
|
walther@59728
|
16 |
"----------- fun result, fun creates_assms ---------------------------------------------------";
|
walther@59728
|
17 |
"----------- fun result, fun creates_assms ---------------------------------------------------";
|
walther@59728
|
18 |
val thm'' = ("real_mult_div_cancel2", @{thm real_mult_div_cancel2});
|
walther@59728
|
19 |
val (f, res) = (@{term "a * x / (b * x) :: real"}, (@{term "a / b :: real"}, [@{term "k \<noteq> (0 :: real)"}]: term list))
|
walther@59728
|
20 |
;
|
walther@59851
|
21 |
Rewrite': theory' * Rule_Def.rew_ord' * Rule_Set.T * bool * thm'' * term * result -> Tactic.T;
|
walther@59852
|
22 |
val tac = Rewrite' ("Diff", "dummy_ord", Rule_Set.empty, true, thm'', f, res)
|
walther@59728
|
23 |
;
|
walther@59861
|
24 |
if (Tactic.result tac |> UnparseC.term2str) = "a / b" then () else error "creates_assms CHANGED";
|
walther@59861
|
25 |
if (Tactic.creates_assms tac |> UnparseC.terms2str) = "[\"k \<noteq> 0\"]" then () else error "creates_assms CHANGED";
|