test/Tools/isac/MathEngBasic/tactic.sml
author Walther Neuper <walther.neuper@jku.at>
Thu, 09 Apr 2020 17:13:17 +0200
changeset 59861 65ec9f679c3f
parent 59852 ea7e6679080e
child 59868 d77aa0992e0f
permissions -rw-r--r--
separate struct. UnparseC, shift code to ThmC
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";