# HG changeset patch # User wenzelm # Date 1446716389 -3600 # Node ID a9599d3d761002c1877775ed1bfee705f56dd706 # Parent f06e5a5a4b46ba88cd83dbdba6ce8cf12ea85f02 isabelle update_cartouches -c -t; diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/AList.thy --- a/src/HOL/Library/AList.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/AList.thy Thu Nov 05 10:39:49 2015 +0100 @@ -18,7 +18,7 @@ to establish the invariant, e.g. for inductive proofs. \ -subsection \@{text update} and @{text updates}\ +subsection \\update\ and \updates\\ qualified primrec update :: "'key \ 'val \ ('key \ 'val) list \ ('key \ 'val) list" where @@ -163,7 +163,7 @@ by (induct xs arbitrary: ys al) (auto split: list.splits) -subsection \@{text delete}\ +subsection \\delete\\ qualified definition delete :: "'key \ ('key \ 'val) list \ ('key \ 'val) list" where delete_eq: "delete k = filter (\(k', _). k \ k')" @@ -215,7 +215,7 @@ by (simp add: delete_eq) -subsection \@{text update_with_aux} and @{text delete_aux}\ +subsection \\update_with_aux\ and \delete_aux\\ qualified primrec update_with_aux :: "'val \ 'key \ ('val \ 'val) \ ('key \ 'val) list \ ('key \ 'val) list" where @@ -296,7 +296,7 @@ by(cases ts)(auto split: split_if_asm) -subsection \@{text restrict}\ +subsection \\restrict\\ qualified definition restrict :: "'key set \ ('key \ 'val) list \ ('key \ 'val) list" where restrict_eq: "restrict A = filter (\(k, v). k \ A)" @@ -380,7 +380,7 @@ by (induct ps) auto -subsection \@{text clearjunk}\ +subsection \\clearjunk\\ qualified function clearjunk :: "('key \ 'val) list \ ('key \ 'val) list" where @@ -464,7 +464,7 @@ (simp_all add: clearjunk_delete delete_map assms) -subsection \@{text map_ran}\ +subsection \\map_ran\\ definition map_ran :: "('key \ 'val \ 'val) \ ('key \ 'val) list \ ('key \ 'val) list" where "map_ran f = map (\(k, v). (k, f k v))" @@ -490,7 +490,7 @@ by (simp add: map_ran_def split_def clearjunk_map) -subsection \@{text merge}\ +subsection \\merge\\ qualified definition merge :: "('key \ 'val) list \ ('key \ 'val) list \ ('key \ 'val) list" where "merge qs ps = foldr (\(k, v). update k v) ps qs" @@ -558,7 +558,7 @@ by (simp add: merge_conv') -subsection \@{text compose}\ +subsection \\compose\\ qualified function compose :: "('key \ 'a) list \ ('a \ 'b) list \ ('key \ 'b) list" where @@ -723,7 +723,7 @@ by (simp add: compose_conv map_comp_None_iff) -subsection \@{text map_entry}\ +subsection \\map_entry\\ qualified fun map_entry :: "'key \ ('val \ 'val) \ ('key \ 'val) list \ ('key \ 'val) list" where @@ -745,7 +745,7 @@ using assms by (induct xs) (auto simp add: dom_map_entry) -subsection \@{text map_default}\ +subsection \\map_default\\ fun map_default :: "'key \ 'val \ ('val \ 'val) \ ('key \ 'val) list \ ('key \ 'val) list" where diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/BigO.thy --- a/src/HOL/Library/BigO.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/BigO.thy Thu Nov 05 10:39:49 2015 +0100 @@ -16,20 +16,20 @@ The main changes in this version are as follows: \begin{itemize} -\item We have eliminated the @{text O} operator on sets. (Most uses of this seem +\item We have eliminated the \O\ operator on sets. (Most uses of this seem to be inessential.) -\item We no longer use @{text "+"} as output syntax for @{text "+o"} -\item Lemmas involving @{text "sumr"} have been replaced by more general lemmas - involving `@{text "setsum"}. +\item We no longer use \+\ as output syntax for \+o\ +\item Lemmas involving \sumr\ have been replaced by more general lemmas + involving `\setsum\. \item The library has been expanded, with e.g.~support for expressions of - the form @{text "f < g + O(h)"}. + the form \f < g + O(h)\. \end{itemize} Note also since the Big O library includes rules that demonstrate set inclusion, to use the automated reasoners effectively with the library -one should redeclare the theorem @{text "subsetI"} as an intro rule, -rather than as an @{text "intro!"} rule, for example, using -\isa{\isakeyword{declare}}~@{text "subsetI [del, intro]"}. +one should redeclare the theorem \subsetI\ as an intro rule, +rather than as an \intro!\ rule, for example, using +\isa{\isakeyword{declare}}~\subsetI [del, intro]\. \ subsection \Definitions\ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Cardinality.thy --- a/src/HOL/Library/Cardinality.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Cardinality.thy Thu Nov 05 10:39:49 2015 +0100 @@ -211,7 +211,7 @@ fixes card_UNIV :: "'a card_UNIV" assumes card_UNIV: "card_UNIV = Phantom('a) CARD('a)" -subsection \Instantiations for @{text "card_UNIV"}\ +subsection \Instantiations for \card_UNIV\\ instantiation nat :: card_UNIV begin definition "finite_UNIV = Phantom(nat) False" @@ -534,7 +534,7 @@ (\_. List.coset xs \ set ys))" by simp -notepad begin -- "test code setup" +notepad begin \ "test code setup" have "List.coset [True] = set [False] \ List.coset [] \ List.set [True, False] \ finite (List.coset [True])" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Code_Char.thy --- a/src/HOL/Library/Code_Char.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Code_Char.thy Thu Nov 05 10:39:49 2015 +0100 @@ -107,7 +107,7 @@ | constant "Orderings.less_eq :: String.literal \ String.literal \ bool" \ (SML) "!((_ : string) <= _)" and (OCaml) "!((_ : string) <= _)" - -- \Order operations for @{typ String.literal} work in Haskell only + \ \Order operations for @{typ String.literal} work in Haskell only if no type class instance needs to be generated, because String = [Char] in Haskell and @{typ "char list"} need not have the same order as @{typ String.literal}.\ and (Haskell) infix 4 "<=" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Code_Target_Nat.thy --- a/src/HOL/Library/Code_Target_Nat.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Code_Target_Nat.thy Thu Nov 05 10:39:49 2015 +0100 @@ -135,7 +135,7 @@ including integer.lifting by transfer auto lemma term_of_nat_code [code]: - -- \Use @{term Code_Numeral.nat_of_integer} in term reconstruction + \ \Use @{term Code_Numeral.nat_of_integer} in term reconstruction instead of @{term Code_Target_Nat.Nat} such that reconstructed terms can be fed back to the code generator\ "term_of_class.term_of n = diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Code_Test.thy --- a/src/HOL/Library/Code_Test.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Code_Test.thy Thu Nov 05 10:39:49 2015 +0100 @@ -131,7 +131,7 @@ "xml_of_term (Code_Evaluation.Const x ty) = [xml.tagged (STR ''0'') (Some x) (xml_of_typ ty)]" "xml_of_term (Code_Evaluation.App t1 t2) = [xml.tagged (STR ''5'') None [xml.node (xml_of_term t1), xml.node (xml_of_term t2)]]" "xml_of_term (Code_Evaluation.Abs x ty t) = [xml.tagged (STR ''4'') (Some x) [xml.node (xml_of_typ ty), xml.node (xml_of_term t)]]" - -- \ + \ \ FIXME: @{const Code_Evaluation.Free} is used only in @{theory Quickcheck_Narrowing} to represent uninstantiated parameters in constructors. Here, we always translate them to @{ML Free} variables. \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/ContNotDenum.thy --- a/src/HOL/Library/ContNotDenum.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/ContNotDenum.thy Thu Nov 05 10:39:49 2015 +0100 @@ -15,8 +15,8 @@ uncountable. It is formalised in the Isabelle/Isar theorem proving system. -{\em Theorem:} The Continuum @{text "\"} is not denumerable. In other -words, there does not exist a function @{text "f: \ \ \"} such that f is +{\em Theorem:} The Continuum \\\ is not denumerable. In other +words, there does not exist a function \f: \ \ \\ such that f is surjective. {\em Outline:} An elegant informal proof of this result uses Cantor's @@ -26,8 +26,7 @@ completeness of the Real numbers and is the foundation for our argument. Informally it states that an intersection of countable closed intervals (where each successive interval is a subset of the -last) is non-empty. We then assume a surjective function @{text -"f: \ \ \"} exists and find a real x such that x is not in the range of f +last) is non-empty. We then assume a surjective function \f: \ \ \\ exists and find a real x such that x is not in the range of f by generating a sequence of closed intervals then using the NIP.\ theorem real_non_denum: "\ (\f :: nat \ real. surj f)" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Convex.thy --- a/src/HOL/Library/Convex.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Convex.thy Thu Nov 05 10:39:49 2015 +0100 @@ -883,7 +883,7 @@ fix t x y :: real assume t: "t > 0" "t < 1" and xy: "x \ A" "y \ A" "x < y" def z \ "(1 - t) * x + t * y" - with `connected A` and xy have ivl: "{x..y} \ A" using connected_contains_Icc by blast + with \connected A\ and xy have ivl: "{x..y} \ A" using connected_contains_Icc by blast from xy t have xz: "z > x" by (simp add: z_def algebra_simps) have "y - z = (1 - t) * (y - x)" by (simp add: z_def algebra_simps) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Countable_Set_Type.thy --- a/src/HOL/Library/Countable_Set_Type.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Countable_Set_Type.thy Thu Nov 05 10:39:49 2015 +0100 @@ -369,11 +369,11 @@ subsection \Additional lemmas\ -subsubsection \@{text cempty}\ +subsubsection \\cempty\\ lemma cemptyE [elim!]: "cin a cempty \ P" by simp -subsubsection \@{text cinsert}\ +subsubsection \\cinsert\\ lemma countable_insert_iff: "countable (insert x A) \ countable A" by (metis Diff_eq_empty_iff countable_empty countable_insert subset_insertI uncountable_minus_countable) @@ -386,7 +386,7 @@ lemma mk_disjoint_cinsert: "cin a A \ \B. A = cinsert a B \ \ cin a B" by (rule exI[where x = "cDiff A (csingle a)"]) blast -subsubsection \@{text cimage}\ +subsubsection \\cimage\\ lemma subset_cimage_iff: "csubset_eq B (cimage f A) \ (\AA. csubset_eq AA A \ B = cimage f AA)" by transfer (metis countable_subset image_mono mem_Collect_eq subset_imageE) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/DAList.thy --- a/src/HOL/Library/DAList.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/DAList.thy Thu Nov 05 10:39:49 2015 +0100 @@ -17,7 +17,7 @@ by (induct xs) auto -subsection \Type @{text "('key, 'value) alist" }\ +subsection \Type \('key, 'value) alist\\ typedef ('key, 'value) alist = "{xs :: ('key \ 'value) list. (distinct \ map fst) xs}" morphisms impl_of Alist diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/DAList_Multiset.thy --- a/src/HOL/Library/DAList_Multiset.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/DAList_Multiset.thy Thu Nov 05 10:39:49 2015 +0100 @@ -206,8 +206,8 @@ lemma mset_eq [code]: "HOL.equal (m1::'a::equal multiset) m2 \ m1 \# m2 \ m2 \# m1" by (metis equal_multiset_def subset_mset.eq_iff) -text \By default the code for @{text "<"} is @{prop"xs < ys \ xs \ ys \ \ xs = ys"}. -With equality implemented by @{text"\"}, this leads to three calls of @{text"\"}. +text \By default the code for \<\ is @{prop"xs < ys \ xs \ ys \ \ xs = ys"}. +With equality implemented by \\\, this leads to three calls of \\\. Here is a more efficient version:\ lemma mset_less[code]: "xs <# (ys :: 'a multiset) \ xs \# ys \ \ ys \# xs" by (rule subset_mset.less_le_not_le) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Debug.thy --- a/src/HOL/Library/Debug.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Debug.thy Thu Nov 05 10:39:49 2015 +0100 @@ -36,7 +36,7 @@ code_printing constant Debug.trace \ (Eval) "Output.tracing" -| constant Debug.flush \ (Eval) "Output.tracing/ (@{make'_string} _)" -- \note indirection via antiquotation\ +| constant Debug.flush \ (Eval) "Output.tracing/ (@{make'_string} _)" \ \note indirection via antiquotation\ | constant Debug.timing \ (Eval) "Timing.timeap'_msg" code_reserved Eval Output Timing diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Extended_Real.thy --- a/src/HOL/Library/Extended_Real.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Extended_Real.thy Thu Nov 05 10:39:49 2015 +0100 @@ -14,7 +14,7 @@ text \ This should be part of @{theory Extended_Nat} or @{theory Order_Continuity}, but then the -AFP-entry @{text "Jinja_Thread"} fails, as it does overload certain named from @{theory Complex_Main}. +AFP-entry \Jinja_Thread\ fails, as it does overload certain named from @{theory Complex_Main}. \ @@ -3613,7 +3613,7 @@ shows "inverse -- x --> inverse x" proof (cases x) case (real r) - with `0 < x` have **: "(\x. ereal (inverse x)) -- r --> ereal (inverse r)" + with \0 < x\ have **: "(\x. ereal (inverse x)) -- r --> ereal (inverse r)" by (auto intro!: tendsto_inverse) from real \0 < x\ show ?thesis by (auto simp: at_ereal tendsto_compose_filtermap[symmetric] eventually_at_filter diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/FSet.thy --- a/src/HOL/Library/FSet.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/FSet.thy Thu Nov 05 10:39:49 2015 +0100 @@ -445,12 +445,12 @@ subsection \Additional lemmas\ -subsubsection \@{text fsingleton}\ +subsubsection \\fsingleton\\ lemmas fsingletonE = fsingletonD [elim_format] -subsubsection \@{text femepty}\ +subsubsection \\femepty\\ lemma fempty_ffilter[simp]: "ffilter (\_. False) A = {||}" by transfer auto @@ -460,7 +460,7 @@ by simp -subsubsection \@{text fset}\ +subsubsection \\fset\\ lemmas fset_simps[simp] = bot_fset.rep_eq finsert.rep_eq @@ -483,7 +483,7 @@ lemmas minus_fset[simp] = minus_fset.rep_eq -subsubsection \@{text filter_fset}\ +subsubsection \\filter_fset\\ lemma subset_ffilter: "ffilter P A |\| ffilter Q A = (\ x. x |\| A \ P x \ Q x)" @@ -499,7 +499,7 @@ unfolding less_fset_def by (auto simp add: subset_ffilter eq_ffilter) -subsubsection \@{text finsert}\ +subsubsection \\finsert\\ (* FIXME, transferred doesn't work here *) lemma set_finsert: @@ -511,7 +511,7 @@ by (rule_tac x = "A |-| {|a|}" in exI, blast) -subsubsection \@{text fimage}\ +subsubsection \\fimage\\ lemma subset_fimage_iff: "(B |\| f|`|A) = (\ AA. AA |\| A \ B = f|`|AA)" by transfer (metis mem_Collect_eq rev_finite_subset subset_image_iff) @@ -548,7 +548,7 @@ end -subsubsection \@{text fcard}\ +subsubsection \\fcard\\ (* FIXME: improve transferred to handle bounded meta quantification *) @@ -631,7 +631,7 @@ by transfer (rule card_psubset) -subsubsection \@{text ffold}\ +subsubsection \\ffold\\ (* FIXME: improve transferred to handle bounded meta quantification *) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/FinFun.thy --- a/src/HOL/Library/FinFun.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/FinFun.thy Thu Nov 05 10:39:49 2015 +0100 @@ -17,7 +17,7 @@ \ -subsection \The @{text "map_default"} operation\ +subsection \The \map_default\ operation\ definition map_default :: "'b \ ('a \ 'b) \ 'a \ 'b" where "map_default b f a \ case f a of None \ b | Some b' \ b'" @@ -307,7 +307,7 @@ quickcheck_generator finfun constructors: finfun_update_code, "finfun_const :: 'b \ 'a \f 'b" -subsection \@{text "finfun_update"} as instance of @{text "comp_fun_commute"}\ +subsection \\finfun_update\ as instance of \comp_fun_commute\\ interpretation finfun_update: comp_fun_commute "\a f. f(a :: 'a $:= b')" including finfun @@ -1525,7 +1525,7 @@ instance by intro_classes (simp add: card_UNIV_finfun_def card_UNIV Let_def card_UNIV_finfun) end -text \Deactivate syntax again. Import theory @{text FinFun_Syntax} to reactivate it again\ +text \Deactivate syntax again. Import theory \FinFun_Syntax\ to reactivate it again\ no_type_notation finfun ("(_ \f /_)" [22, 21] 21) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Formal_Power_Series.thy --- a/src/HOL/Library/Formal_Power_Series.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Formal_Power_Series.thy Thu Nov 05 10:39:49 2015 +0100 @@ -1323,7 +1323,7 @@ subsubsection \Rule 3\ -text \Rule 3 is trivial and is given by @{text fps_times_def}.\ +text \Rule 3 is trivial and is given by \fps_times_def\.\ subsubsection \Rule 5 --- summation and "division" by (1 - X)\ @@ -3774,7 +3774,7 @@ unfolding eventually_nhds apply clarsimp apply (rule FalseE) - apply auto -- \slow\ + apply auto \ \slow\ done then obtain i where "inverse (2 ^ i) < e" by (auto simp: eventually_sequentially) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/FuncSet.thy --- a/src/HOL/Library/FuncSet.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/FuncSet.thy Thu Nov 05 10:39:49 2015 +0100 @@ -226,7 +226,7 @@ subsection \Bijections Between Sets\ -text \The definition of @{const bij_betw} is in @{text "Fun.thy"}, but most of +text \The definition of @{const bij_betw} is in \Fun.thy\, but most of the theorems belong here, or need at least @{term Hilbert_Choice}.\ lemma bij_betwI: diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Function_Growth.thy --- a/src/HOL/Library/Function_Growth.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Function_Growth.thy Thu Nov 05 10:39:49 2015 +0100 @@ -12,39 +12,39 @@ text \ When comparing growth of functions in computer science, it is common to adhere on Landau Symbols (``O-Notation''). However these come at the cost of notational - oddities, particularly writing @{text "f = O(g)"} for @{text "f \ O(g)"} etc. + oddities, particularly writing \f = O(g)\ for \f \ O(g)\ etc. Here we suggest a different way, following Hardy (G.~H.~Hardy and J.~E.~Littlewood, Some problems of Diophantine approximation, Acta Mathematica 37 (1914), p.~225). - We establish a quasi order relation @{text "\"} on functions such that - @{text "f \ g \ f \ O(g)"}. From a didactic point of view, this does not only + We establish a quasi order relation \\\ on functions such that + \f \ g \ f \ O(g)\. From a didactic point of view, this does not only avoid the notational oddities mentioned above but also emphasizes the key insight of a growth hierarchy of functions: - @{text "(\n. 0) \ (\n. k) \ Discrete.log \ Discrete.sqrt \ id \ \"}. + \(\n. 0) \ (\n. k) \ Discrete.log \ Discrete.sqrt \ id \ \\. \ subsection \Model\ text \ - Our growth functions are of type @{text "\ \ \"}. This is different - to the usual conventions for Landau symbols for which @{text "\ \ \"} - would be appropriate, but we argue that @{text "\ \ \"} is more + Our growth functions are of type \\ \ \\. This is different + to the usual conventions for Landau symbols for which \\ \ \\ + would be appropriate, but we argue that \\ \ \\ is more appropriate for analysis, whereas our setting is discrete. - Note that we also restrict the additional coefficients to @{text \}, something + Note that we also restrict the additional coefficients to \\\, something we discuss at the particular definitions. \ -subsection \The @{text "\"} relation\ +subsection \The \\\ relation\ definition less_eq_fun :: "(nat \ nat) \ (nat \ nat) \ bool" (infix "\" 50) where "f \ g \ (\c>0. \n. \m>n. f m \ c * g m)" text \ - This yields @{text "f \ g \ f \ O(g)"}. Note that @{text c} is restricted to - @{text \}. This does not pose any problems since if @{text "f \ O(g)"} holds for - a @{text "c \ \"}, it also holds for @{text "\c\ \ \"} by transitivity. + This yields \f \ g \ f \ O(g)\. Note that \c\ is restricted to + \\\. This does not pose any problems since if \f \ O(g)\ holds for + a \c \ \\, it also holds for \\c\ \ \\ by transitivity. \ lemma less_eq_funI [intro?]: @@ -68,7 +68,7 @@ using assms unfolding less_eq_fun_def linorder_not_le [symmetric] by blast -subsection \The @{text "\"} relation, the equivalence relation induced by @{text "\"}\ +subsection \The \\\ relation, the equivalence relation induced by \\\\ definition equiv_fun :: "(nat \ nat) \ (nat \ nat) \ bool" (infix "\" 50) where @@ -76,8 +76,8 @@ (\c\<^sub>1>0. \c\<^sub>2>0. \n. \m>n. f m \ c\<^sub>1 * g m \ g m \ c\<^sub>2 * f m)" text \ - This yields @{text "f \ g \ f \ \(g)"}. Concerning @{text "c\<^sub>1"} and @{text "c\<^sub>2"} - restricted to @{typ nat}, see note above on @{text "(\)"}. + This yields \f \ g \ f \ \(g)\. Concerning \c\<^sub>1\ and \c\<^sub>2\ + restricted to @{typ nat}, see note above on \(\)\. \ lemma equiv_funI [intro?]: @@ -105,7 +105,7 @@ using assms unfolding equiv_fun_def linorder_not_le [symmetric] by blast -subsection \The @{text "\"} relation, the strict part of @{text "\"}\ +subsection \The \\\ relation, the strict part of \\\\ definition less_fun :: "(nat \ nat) \ (nat \ nat) \ bool" (infix "\" 50) where @@ -147,18 +147,18 @@ using assms unfolding less_fun_def linorder_not_less [symmetric] by blast text \ - I did not find a proof for @{text "f \ g \ f \ o(g)"}. Maybe this only - holds if @{text f} and/or @{text g} are of a certain class of functions. - However @{text "f \ o(g) \ f \ g"} is provable, and this yields a + I did not find a proof for \f \ g \ f \ o(g)\. Maybe this only + holds if \f\ and/or \g\ are of a certain class of functions. + However \f \ o(g) \ f \ g\ is provable, and this yields a handy introduction rule. - Note that D. Knuth ignores @{text o} altogether. So what \dots + Note that D. Knuth ignores \o\ altogether. So what \dots - Something still has to be said about the coefficient @{text c} in - the definition of @{text "(\)"}. In the typical definition of @{text o}, - it occurs on the \emph{right} hand side of the @{text "(>)"}. The reason - is that the situation is dual to the definition of @{text O}: the definition - works since @{text c} may become arbitrary small. Since this is not possible + Something still has to be said about the coefficient \c\ in + the definition of \(\)\. In the typical definition of \o\, + it occurs on the \emph{right} hand side of the \(>)\. The reason + is that the situation is dual to the definition of \O\: the definition + works since \c\ may become arbitrary small. Since this is not possible within @{term \}, we push the coefficient to the left hand side instead such that it become arbitrary big instead. \ @@ -187,9 +187,9 @@ qed -subsection \@{text "\"} is a preorder\ +subsection \\\\ is a preorder\ -text \This yields all lemmas relating @{text "\"}, @{text "\"} and @{text "\"}.\ +text \This yields all lemmas relating \\\, \\\ and \\\.\ interpretation fun_order: preorder_equiv less_eq_fun less_fun rewrites "preorder_equiv.equiv less_eq_fun = equiv_fun" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Fundamental_Theorem_Algebra.thy --- a/src/HOL/Library/Fundamental_Theorem_Algebra.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Fundamental_Theorem_Algebra.thy Thu Nov 05 10:39:49 2015 +0100 @@ -149,7 +149,7 @@ unfolding linorder_not_le[symmetric] by blast qed -text \Hence we can always reduce modulus of @{text "1 + b z^n"} if nonzero\ +text \Hence we can always reduce modulus of \1 + b z^n\ if nonzero\ lemma reduce_poly_simple: assumes b: "b \ 0" and n: "n \ 0" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Infinite_Set.thy --- a/src/HOL/Library/Infinite_Set.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Infinite_Set.thy Thu Nov 05 10:39:49 2015 +0100 @@ -13,7 +13,7 @@ text \ Some elementary facts about infinite sets, mostly by Stephan Merz. Beware! Because "infinite" merely abbreviates a negation, these - lemmas may not work well with @{text "blast"}. + lemmas may not work well with \blast\. \ abbreviation infinite :: "'a set \ bool" @@ -96,7 +96,7 @@ text \ For a set of natural numbers to be infinite, it is enough to know - that for any number larger than some @{text k}, there is some larger + that for any number larger than some \k\, there is some larger number that is an element of the set. \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Liminf_Limsup.thy --- a/src/HOL/Library/Liminf_Limsup.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Liminf_Limsup.thy Thu Nov 05 10:39:49 2015 +0100 @@ -30,7 +30,7 @@ shows "(INF i : A. INF j : B. f i j) = (INF p : A \ B. f (fst p) (snd p))" by (rule antisym) (auto intro!: INF_greatest INF_lower2) -subsubsection \@{text Liminf} and @{text Limsup}\ +subsubsection \\Liminf\ and \Limsup\\ definition Liminf :: "'a filter \ ('a \ 'b) \ 'b :: complete_lattice" where "Liminf F f = (SUP P:{P. eventually P F}. INF x:{x. P x}. f x)" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/ListVector.thy --- a/src/HOL/Library/ListVector.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/ListVector.thy Thu Nov 05 10:39:49 2015 +0100 @@ -18,7 +18,7 @@ lemma scale1[simp]: "(1::'a::monoid_mult) *\<^sub>s xs = xs" by (induct xs) simp_all -subsection \@{text"+"} and @{text"-"}\ +subsection \\+\ and \-\\ fun zipwith0 :: "('a::zero \ 'b::zero \ 'c) \ 'a list \ 'b list \ 'c list" where diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Lub_Glb.thy --- a/src/HOL/Library/Lub_Glb.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Lub_Glb.thy Thu Nov 05 10:39:49 2015 +0100 @@ -17,7 +17,7 @@ where "x <=* S = (ALL y: S. x \ y)" -subsection \Rules for the Relations @{text "*<="} and @{text "<=*"}\ +subsection \Rules for the Relations \*<=\ and \<=*\\ lemma setleI: "ALL y: S. y \ x \ S *<= x" by (simp add: setle_def) diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Mapping.thy --- a/src/HOL/Library/Mapping.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Mapping.thy Thu Nov 05 10:39:49 2015 +0100 @@ -10,7 +10,7 @@ subsection \Parametricity transfer rules\ -lemma map_of_foldr: -- \FIXME move\ +lemma map_of_foldr: \ \FIXME move\ "map_of xs = foldr (\(k, v) m. m(k \ v)) xs Map.empty" using map_add_map_of_foldr [of Map.empty] by auto @@ -107,7 +107,7 @@ is "\m k. m k" parametric lookup_parametric . declare [[code drop: Mapping.lookup]] -setup \Code.add_default_eqn @{thm Mapping.lookup.abs_eq}\ -- \FIXME lifting\ +setup \Code.add_default_eqn @{thm Mapping.lookup.abs_eq}\ \ \FIXME lifting\ lift_definition update :: "'a \ 'b \ ('a, 'b) mapping \ ('a, 'b) mapping" is "\k v m. m(k \ v)" parametric update_parametric . diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Multiset.thy --- a/src/HOL/Library/Multiset.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Multiset.thy Thu Nov 05 10:39:49 2015 +0100 @@ -809,12 +809,11 @@ text \ A note on code generation: When defining some function containing a subterm @{term "fold_mset F"}, code generation is not automatic. When - interpreting locale @{text left_commutative} with @{text F}, the + interpreting locale \left_commutative\ with \F\, the would be code thms for @{const fold_mset} become thms like - @{term "fold_mset F z {#} = z"} where @{text F} is not a pattern but + @{term "fold_mset F z {#} = z"} where \F\ is not a pattern but contains defined symbols, i.e.\ is not a code thm. Hence a separate - constant with its own code thms needs to be introduced for @{text - F}. See the image operator below. + constant with its own code thms needs to be introduced for \F\. See the image operator below. \ @@ -1083,7 +1082,7 @@ qed then show "PROP ?P" "PROP ?Q" "PROP ?R" by (auto elim!: Set.set_insert) -qed -- \TODO: maybe define @{const mset_set} also in terms of @{const Abs_multiset}\ +qed \ \TODO: maybe define @{const mset_set} also in terms of @{const Abs_multiset}\ lemma elem_mset_set[simp, intro]: "finite A \ x \# mset_set A \ x \ A" by (induct A rule: finite_induct) simp_all @@ -1349,7 +1348,7 @@ text \ This lemma shows which properties suffice to show that a function - @{text "f"} with @{text "f xs = ys"} behaves like sort. + \f\ with \f xs = ys\ behaves like sort. \ lemma properties_for_sort_key: @@ -2106,7 +2105,7 @@ declare sorted_list_of_multiset_mset [code] -lemma [code]: -- \not very efficient, but representation-ignorant!\ +lemma [code]: \ \not very efficient, but representation-ignorant!\ "mset_set A = mset (sorted_list_of_set A)" apply (cases "finite A") apply simp_all diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Numeral_Type.thy --- a/src/HOL/Library/Numeral_Type.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Numeral_Type.thy Thu Nov 05 10:39:49 2015 +0100 @@ -182,7 +182,7 @@ subsection \Ring class instances\ text \ - Unfortunately @{text ring_1} instance is not possible for + Unfortunately \ring_1\ instance is not possible for @{typ num1}, since 0 and 1 are not distinct. \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Old_Datatype.thy --- a/src/HOL/Library/Old_Datatype.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Old_Datatype.thy Thu Nov 05 10:39:49 2015 +0100 @@ -21,7 +21,7 @@ morphisms Rep_Node Abs_Node unfolding Node_def by auto -text\Datatypes will be represented by sets of type @{text node}\ +text\Datatypes will be represented by sets of type \node\\ type_synonym 'a item = "('a, unit) node set" type_synonym ('a, 'b) dtree = "('a, 'b) node set" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Old_SMT.thy --- a/src/HOL/Library/Old_SMT.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Old_SMT.thy Thu Nov 05 10:39:49 2015 +0100 @@ -51,7 +51,7 @@ definition weight :: "int \ bool \ bool" where "weight _ P = P" text \ -Weights must be non-negative. The value @{text 0} is equivalent to providing +Weights must be non-negative. The value \0\ is equivalent to providing no weight at all. Weights should only be used at quantifiers and only inside triggers (if the @@ -150,7 +150,7 @@ text \ The current configuration can be printed by the command -@{text old_smt_status}, which shows the values of most options. +\old_smt_status\, which shows the values of most options. \ @@ -158,14 +158,14 @@ subsection \General configuration options\ text \ -The option @{text old_smt_solver} can be used to change the target SMT -solver. The possible values can be obtained from the @{text old_smt_status} +The option \old_smt_solver\ can be used to change the target SMT +solver. The possible values can be obtained from the \old_smt_status\ command. Due to licensing restrictions, Yices and Z3 are not installed/enabled by default. Z3 is free for non-commercial applications and can be enabled -by setting the @{text OLD_Z3_NON_COMMERCIAL} environment variable to -@{text yes}. +by setting the \OLD_Z3_NON_COMMERCIAL\ environment variable to +\yes\. \ declare [[ old_smt_solver = z3 ]] @@ -242,7 +242,7 @@ subsection \Certificates\ text \ -By setting the option @{text old_smt_certificates} to the name of a file, +By setting the option \old_smt_certificates\ to the name of a file, all following applications of an SMT solver a cached in that file. Any further application of the same SMT solver (using the very same configuration) re-uses the cached certificate instead of invoking the @@ -250,7 +250,7 @@ The filename should be given as an explicit path. It is good practice to use the name of the current theory (with ending -@{text ".certs"} instead of @{text ".thy"}) as the certificates file. +\.certs\ instead of \.thy\) as the certificates file. Certificate files should be used at most once in a certain theory context, to avoid race conditions with other concurrent accesses. \ @@ -258,11 +258,11 @@ declare [[ old_smt_certificates = "" ]] text \ -The option @{text old_smt_read_only_certificates} controls whether only +The option \old_smt_read_only_certificates\ controls whether only stored certificates are should be used or invocation of an SMT solver -is allowed. When set to @{text true}, no SMT solver will ever be +is allowed. When set to \true\, no SMT solver will ever be invoked and only the existing certificates found in the configured -cache are used; when set to @{text false} and there is no cached +cache are used; when set to \false\ and there is no cached certificate for some proposition, then the configured SMT solver is invoked. \ @@ -275,7 +275,7 @@ text \ The SMT method, when applied, traces important information. To -make it entirely silent, set the following option to @{text false}. +make it entirely silent, set the following option to \false\. \ declare [[ old_smt_verbose = true ]] @@ -283,7 +283,7 @@ text \ For tracing the generated problem file given to the SMT solver as well as the returned result of the solver, the option -@{text old_smt_trace} should be set to @{text true}. +\old_smt_trace\ should be set to \true\. \ declare [[ old_smt_trace = false ]] @@ -292,7 +292,7 @@ From the set of assumptions given to the SMT solver, those assumptions used in the proof are traced when the following option is set to @{term true}. This only works for Z3 when it runs in non-oracle mode -(see options @{text old_smt_solver} and @{text old_smt_oracle} above). +(see options \old_smt_solver\ and \old_smt_oracle\ above). \ declare [[ old_smt_trace_used_facts = false ]] @@ -304,9 +304,9 @@ text \ Several prof rules of Z3 are not very well documented. There are two lemma groups which can turn failing Z3 proof reconstruction attempts -into succeeding ones: the facts in @{text z3_rule} are tried prior to +into succeeding ones: the facts in \z3_rule\ are tried prior to any implemented reconstruction procedure for all uncertain Z3 proof -rules; the facts in @{text z3_simp} are only fed to invocations of +rules; the facts in \z3_simp\ are only fed to invocations of the simplifier when reconstructing theory-specific proof steps. \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Omega_Words_Fun.thy --- a/src/HOL/Library/Omega_Words_Fun.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Omega_Words_Fun.thy Thu Nov 05 10:39:49 2015 +0100 @@ -529,20 +529,20 @@ proof - have "\k. range (suffix k x) \ limit x" proof - - -- "The set of letters that are not in the limit is certainly finite." + \ "The set of letters that are not in the limit is certainly finite." from fin have "finite (range x - limit x)" by simp - -- "Moreover, any such letter occurs only finitely often" + \ "Moreover, any such letter occurs only finitely often" moreover have "\a \ range x - limit x. finite (x -` {a})" by (auto simp add: limit_vimage) - -- "Thus, there are only finitely many occurrences of such letters." + \ "Thus, there are only finitely many occurrences of such letters." ultimately have "finite (UN a : range x - limit x. x -` {a})" by (blast intro: finite_UN_I) - -- "Therefore these occurrences are within some initial interval." + \ "Therefore these occurrences are within some initial interval." then obtain k where "(UN a : range x - limit x. x -` {a}) \ {.. "This is just the bound we are looking for." hence "\m. k \ m \ x m \ limit x" by (auto simp add: limit_vimage) hence "range (suffix k x) \ limit x" @@ -624,11 +624,11 @@ fix a assume a: "a \ set w" then obtain k where k: "k < length w \ w!k = a" by (auto simp add: set_conv_nth) - -- "the following bound is terrible, but it simplifies the proof" + \ "the following bound is terrible, but it simplifies the proof" from nempty k have "\m. w\<^sup>\ ((Suc m)*(length w) + k) = a" by (simp add: mod_add_left_eq) moreover - -- "why is the following so hard to prove??" + \ "why is the following so hard to prove??" have "\m. m < (Suc m)*(length w) + k" proof fix m @@ -661,7 +661,7 @@ text \ The converse relation is not true in general: $f(a)$ can be in the limit of $f \circ w$ even though $a$ is not in the limit of $w$. - However, @{text limit} commutes with renaming if the function is + However, \limit\ commutes with renaming if the function is injective. More generally, if $f(a)$ is the image of only finitely many elements, some of these must be in the limit of $w$. \ @@ -672,21 +672,21 @@ shows "\a \ (f -` {x}). a \ limit w" proof (rule ccontr) assume contra: "\ ?thesis" - -- "hence, every element in the pre-image occurs only finitely often" + \ "hence, every element in the pre-image occurs only finitely often" then have "\a \ (f -` {x}). finite {n. w n = a}" by (simp add: limit_def Inf_many_def) - -- "so there are only finitely many occurrences of any such element" + \ "so there are only finitely many occurrences of any such element" with fin have "finite (\ a \ (f -` {x}). {n. w n = a})" by auto - -- \these are precisely those positions where $x$ occurs in $f \circ w$\ + \ \these are precisely those positions where $x$ occurs in $f \circ w$\ moreover have "(\ a \ (f -` {x}). {n. w n = a}) = {n. f(w n) = x}" by auto ultimately - -- "so $x$ can occur only finitely often in the translated word" + \ "so $x$ can occur only finitely often in the translated word" have "finite {n. f(w n) = x}" by simp - -- \\ldots\ which yields a contradiction\ + \ \\ldots\ which yields a contradiction\ with x show "False" by (simp add: limit_def Inf_many_def) qed diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Order_Continuity.thy --- a/src/HOL/Library/Order_Continuity.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Order_Continuity.thy Thu Nov 05 10:39:49 2015 +0100 @@ -29,8 +29,8 @@ done text \ - The name @{text continuous} is already taken in @{text "Complex_Main"}, so we use - @{text "sup_continuous"} and @{text "inf_continuous"}. These names appear sometimes in literature + The name \continuous\ is already taken in \Complex_Main\, so we use + \sup_continuous\ and \inf_continuous\. These names appear sometimes in literature and have the advantage that these names are duals. \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Permutation.thy --- a/src/HOL/Library/Permutation.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Permutation.thy Thu Nov 05 10:39:49 2015 +0100 @@ -116,7 +116,7 @@ apply (safe intro!: perm_append2) apply (rule append_perm_imp_perm) apply (rule perm_append_swap [THEN perm.trans]) - -- \the previous step helps this @{text blast} call succeed quickly\ + \ \the previous step helps this \blast\ call succeed quickly\ apply (blast intro: perm_append_swap) done diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Polynomial.thy --- a/src/HOL/Library/Polynomial.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Polynomial.thy Thu Nov 05 10:39:49 2015 +0100 @@ -50,7 +50,7 @@ "tl (x ## xs) = xs" by (simp add: cCons_def) -subsection \Definition of type @{text poly}\ +subsection \Definition of type \poly\\ typedef (overloaded) 'a poly = "{f :: nat \ 'a::zero. \\<^sub>\ n. f n = 0}" morphisms coeff Abs_poly by (auto intro!: ALL_MOST) @@ -440,7 +440,7 @@ definition poly :: "'a::comm_semiring_0 poly \ 'a \ 'a" where - "poly p = fold_coeffs (\a f x. a + x * f x) p (\x. 0)" -- \The Horner Schema\ + "poly p = fold_coeffs (\a f x. a + x * f x) p (\x. 0)" \ \The Horner Schema\ lemma poly_0 [simp]: "poly 0 x = 0" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Predicate_Compile_Alternative_Defs.thy --- a/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Thu Nov 05 10:39:49 2015 +0100 @@ -177,7 +177,7 @@ section \Alternative list definitions\ -subsection \Alternative rules for @{text length}\ +subsection \Alternative rules for \length\\ definition size_list' :: "'a list => nat" where "size_list' = size" @@ -191,7 +191,7 @@ declare size_list'_def[symmetric, code_pred_inline] -subsection \Alternative rules for @{text list_all2}\ +subsection \Alternative rules for \list_all2\\ lemma list_all2_NilI [code_pred_intro]: "list_all2 P [] []" by auto diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Quotient_Type.thy --- a/src/HOL/Library/Quotient_Type.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Quotient_Type.thy Thu Nov 05 10:39:49 2015 +0100 @@ -14,8 +14,8 @@ subsection \Equivalence relations and quotient types\ -text \Type class @{text equiv} models equivalence relations - @{text "\ :: 'a \ 'a \ bool"}.\ +text \Type class \equiv\ models equivalence relations + \\ :: 'a \ 'a \ bool\.\ class eqv = fixes eqv :: "'a \ 'a \ bool" (infixl "\" 50) @@ -57,7 +57,7 @@ end -text \The quotient type @{text "'a quot"} consists of all \emph{equivalence +text \The quotient type \'a quot\ consists of all \emph{equivalence classes} over elements of the base type @{typ 'a}.\ definition (in eqv) "quot = {{x. a \ x} | a. True}" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/RBT_Impl.thy --- a/src/HOL/Library/RBT_Impl.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/RBT_Impl.thy Thu Nov 05 10:39:49 2015 +0100 @@ -10,7 +10,7 @@ begin text \ - For applications, you should use theory @{text RBT} which defines + For applications, you should use theory \RBT\ which defines an abstract type of red-black tree obeying the invariant. \ @@ -305,7 +305,7 @@ "inv1 Empty = True" | "inv1 (Branch c lt k v rt) \ inv1 lt \ inv1 rt \ (c = B \ color_of lt = B \ color_of rt = B)" -primrec inv1l :: "('a, 'b) rbt \ bool" -- \Weaker version\ +primrec inv1l :: "('a, 'b) rbt \ bool" \ \Weaker version\ where "inv1l Empty = True" | "inv1l (Branch c l k v r) = (inv1 l \ inv1 r)" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/RBT_Mapping.thy --- a/src/HOL/Library/RBT_Mapping.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/RBT_Mapping.thy Thu Nov 05 10:39:49 2015 +0100 @@ -100,11 +100,11 @@ text \ The type @{typ "('k, 'v) RBT_Impl.rbt"} denotes red-black trees with keys of type @{typ "'k"} and values of type @{typ "'v"}. To function - properly, the key type musorted belong to the @{text "linorder"} + properly, the key type musorted belong to the \linorder\ class. A value @{term t} of this type is a valid red-black tree if it - satisfies the invariant @{text "is_rbt t"}. The abstract type @{typ + satisfies the invariant \is_rbt t\. The abstract type @{typ "('k, 'v) rbt"} always obeys this invariant, and for this reason you should only use this in our application. Going back to @{typ "('k, 'v) RBT_Impl.rbt"} may be necessary in proofs if not yet proven @@ -155,25 +155,25 @@ text \ \noindent - @{thm Empty_is_rbt}\hfill(@{text "Empty_is_rbt"}) + @{thm Empty_is_rbt}\hfill(\Empty_is_rbt\) \noindent - @{thm rbt_insert_is_rbt}\hfill(@{text "rbt_insert_is_rbt"}) + @{thm rbt_insert_is_rbt}\hfill(\rbt_insert_is_rbt\) \noindent - @{thm rbt_delete_is_rbt}\hfill(@{text "delete_is_rbt"}) + @{thm rbt_delete_is_rbt}\hfill(\delete_is_rbt\) \noindent - @{thm rbt_bulkload_is_rbt}\hfill(@{text "bulkload_is_rbt"}) + @{thm rbt_bulkload_is_rbt}\hfill(\bulkload_is_rbt\) \noindent - @{thm rbt_map_entry_is_rbt}\hfill(@{text "map_entry_is_rbt"}) + @{thm rbt_map_entry_is_rbt}\hfill(\map_entry_is_rbt\) \noindent - @{thm map_is_rbt}\hfill(@{text "map_is_rbt"}) + @{thm map_is_rbt}\hfill(\map_is_rbt\) \noindent - @{thm rbt_union_is_rbt}\hfill(@{text "union_is_rbt"}) + @{thm rbt_union_is_rbt}\hfill(\union_is_rbt\) \ @@ -181,27 +181,27 @@ text \ \noindent - \underline{@{text "lookup_empty"}} + \underline{\lookup_empty\} @{thm [display] lookup_empty} \vspace{1ex} \noindent - \underline{@{text "lookup_insert"}} + \underline{\lookup_insert\} @{thm [display] lookup_insert} \vspace{1ex} \noindent - \underline{@{text "lookup_delete"}} + \underline{\lookup_delete\} @{thm [display] lookup_delete} \vspace{1ex} \noindent - \underline{@{text "lookup_bulkload"}} + \underline{\lookup_bulkload\} @{thm [display] lookup_bulkload} \vspace{1ex} \noindent - \underline{@{text "lookup_map"}} + \underline{\lookup_map\} @{thm [display] lookup_map} \vspace{1ex} \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Ramsey.thy --- a/src/HOL/Library/Ramsey.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Ramsey.thy Thu Nov 05 10:39:49 2015 +0100 @@ -120,7 +120,7 @@ subsubsection \``Axiom'' of Dependent Choice\ primrec choice :: "('a => bool) => ('a * 'a) set => nat => 'a" where - --\An integer-indexed chain of choices\ + \\An integer-indexed chain of choices\ choice_0: "choice P r 0 = (SOME x. P x)" | choice_Suc: "choice P r (Suc n) = (SOME y. P y & (choice P r n, y) \ r)" @@ -157,7 +157,7 @@ subsubsection \Partitions of a Set\ definition part :: "nat => nat => 'a set => ('a set => nat) => bool" - --\the function @{term f} partitions the @{term r}-subsets of the typically + \\the function @{term f} partitions the @{term r}-subsets of the typically infinite set @{term Y} into @{term s} distinct categories.\ where "part r s Y f = (\X. X \ Y & finite X & card X = r --> f X < s)" diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Set_Algebras.thy --- a/src/HOL/Library/Set_Algebras.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Set_Algebras.thy Thu Nov 05 10:39:49 2015 +0100 @@ -11,7 +11,7 @@ text \ This library lifts operations like addition and multiplication to sets. It was designed to support asymptotic calculations. See the - comments at the top of theory @{text BigO}. + comments at the top of theory \BigO\. \ instantiation set :: (plus) plus diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/State_Monad.thy --- a/src/HOL/Library/State_Monad.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/State_Monad.thy Thu Nov 05 10:39:49 2015 +0100 @@ -32,26 +32,26 @@ \begin{description} - \item[transformations] with type signature @{text "\ \ \'"}, + \item[transformations] with type signature \\ \ \'\, transforming a state. - \item[``yielding'' transformations] with type signature @{text "\ - \ \ \ \'"}, ``yielding'' a side result while transforming a + \item[``yielding'' transformations] with type signature \\ + \ \ \ \'\, ``yielding'' a side result while transforming a state. - \item[queries] with type signature @{text "\ \ \"}, computing a + \item[queries] with type signature \\ \ \\, computing a result dependent on a state. \end{description} - By convention we write @{text "\"} for types representing states and - @{text "\"}, @{text "\"}, @{text "\"}, @{text "\"} for types + By convention we write \\\ for types representing states and + \\\, \\\, \\\, \\\ for types representing side results. Type changes due to transformations are not excluded in our scenario. - We aim to assert that values of any state type @{text "\"} are used + We aim to assert that values of any state type \\\ are used in a single-threaded way: after application of a transformation on a - value of type @{text "\"}, the former value should not be used + value of type \\\, the former value should not be used again. To achieve this, we use a set of monad combinators: \ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Sublist_Order.thy --- a/src/HOL/Library/Sublist_Order.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Sublist_Order.thy Thu Nov 05 10:39:49 2015 +0100 @@ -11,8 +11,8 @@ text \ This theory defines sublist ordering on lists. - A list @{text ys} is a sublist of a list @{text xs}, - iff one obtains @{text ys} by erasing some elements from @{text xs}. + A list \ys\ is a sublist of a list \xs\, + iff one obtains \ys\ by erasing some elements from \xs\. \ subsection \Definitions and basic lemmas\ diff -r f06e5a5a4b46 -r a9599d3d7610 src/HOL/Library/Tree.thy --- a/src/HOL/Library/Tree.thy Thu Nov 05 10:35:37 2015 +0100 +++ b/src/HOL/Library/Tree.thy Thu Nov 05 10:39:49 2015 +0100 @@ -146,7 +146,7 @@ (heap l \ heap r \ (\x \ set_tree l \ set_tree r. m \ x))" -subsection "Function @{text mirror}" +subsection "Function \mirror\" fun mirror :: "'a tree \ 'a tree" where "mirror \\ = Leaf" |