walther@59728: (* Title: "MathEngBasic/tactic.sml" walther@59728: Author: Walther Neuper walther@59728: (c) due to copyright terms walther@59728: *) walther@59728: walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: "table of contents -----------------------------------------------------------------------------"; walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: "----------- fun result, fun creates_assms ---------------------------------------------------"; walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: "-----------------------------------------------------------------------------------------------"; walther@59728: walther@59728: "----------- fun result, fun creates_assms ---------------------------------------------------"; walther@59728: "----------- fun result, fun creates_assms ---------------------------------------------------"; walther@59728: "----------- fun result, fun creates_assms ---------------------------------------------------"; walther@59728: val thm'' = ("real_mult_div_cancel2", @{thm real_mult_div_cancel2}); walther@59728: val (f, res) = (@{term "a * x / (b * x) :: real"}, (@{term "a / b :: real"}, [@{term "k \ (0 :: real)"}]: term list)) walther@59728: ; Walther@60509: Rewrite': ThyC.id * Rewrite_Ord.id * Rule_Set.T * bool * ThmC.T * term * Calc.result -> Tactic.T; walther@59852: val tac = Rewrite' ("Diff", "dummy_ord", Rule_Set.empty, true, thm'', f, res) walther@59728: ; walther@59868: if (Tactic.result tac |> UnparseC.term) = "a / b" then () else error "creates_assms CHANGED"; walther@59868: if (Tactic.creates_assms tac |> UnparseC.terms) = "[\"k \ 0\"]" then () else error "creates_assms CHANGED";