diff -r c53d74b34123 -r 638ed040e6f8 ProgTutorial/Tactical.thy --- a/ProgTutorial/Tactical.thy Thu Mar 13 17:16:49 2014 +0000 +++ b/ProgTutorial/Tactical.thy Thu Apr 03 12:16:56 2014 +0100 @@ -250,7 +250,7 @@ form @{text "C \ #C"}; when the proof is finished we are left with @{text "#C"}. Since the goal @{term C} can potentially be an implication, there is a ``protector'' wrapped around it (the wrapper is the outermost constant - @{text "Const (\"prop\", bool \ bool)"}; in the figure we make it visible + @{text "Const (\"Pure.prop\", bool \ bool)"}; in the figure we make it visible as a @{text #}). This wrapper prevents that premises of @{text C} are misinterpreted as open subgoals. While tactics can operate on the subgoals (the @{text "A\<^sub>i"} above), they are expected to leave the conclusion @@ -264,7 +264,7 @@ \begin{boxedminipage}{\textwidth} \begin{isabelle} *} -notation (output) "prop" ("#_" [1000] 1000) +notation (output) "Pure.prop" ("#_" [1000] 1000) lemma shows "\A; B\ \ A \ B" @@ -1483,10 +1483,10 @@ \footnote{\bf FIXME: Why does it print out ??.unknown} - Adding also the congruence rule @{thm [source] UN_cong} + Adding also the congruence rule @{thm [source] strong_INF_cong} *} -ML %grayML{*val ss2 = ss1 |> Simplifier.add_cong (@{thm UN_cong} RS @{thm eq_reflection}) *} +ML %grayML{*val ss2 = ss1 |> Simplifier.add_cong (@{thm strong_INF_cong} RS @{thm eq_reflection}) *} text {* gives @@ -1496,7 +1496,8 @@ "Simplification rules: ??.unknown: A - B \ C \ A - B \ (A - C) Congruences rules: - UNION: \A = B; \x. x \ B \ C x = D x\ \ \x\A. C x \ \x\B. D x + Complete_Lattices.Inf_class.INFIMUM: + \A1 = B1; \x. x \ B1 =simp=> C1 x = D1 x\ \ INFIMUM A1 C1 \ INFIMUM B1 D1 Simproc patterns:"} Notice that we had to add these lemmas as meta-equations. The @{ML empty_ss} @@ -2116,7 +2117,7 @@ in Thm.prop_of (Thm.beta_conversion true ctrm) end" -"Const (\"==\",\) $ +"Const (\"Pure.eq\",\) $ (Abs (\"x\",\,Abs (\"y\",\,\)) $\$\) $ (Const (\"Groups.plus_class.plus\",\) $ \ $ \)"}