--- a/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Base.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Base.thy Wed Jan 10 15:25:09 2018 +0100
@@ -193,4 +193,4 @@
setup Exhaustive_Generators.setup_exhaustive_datatype_interpretation
declare [[quickcheck_full_support = false]]
-end
\ No newline at end of file
+end
--- a/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Guided_Attacker_Example.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Guided_Attacker_Example.thy Wed Jan 10 15:25:09 2018 +0100
@@ -97,4 +97,4 @@
done
qed
-end
\ No newline at end of file
+end
--- a/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Unguided_Attacker_Example.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Unguided_Attacker_Example.thy Wed Jan 10 15:25:09 2018 +0100
@@ -93,4 +93,4 @@
done
qed
-end
\ No newline at end of file
+end
--- a/src/Benchmarks/Record_Benchmark/Record_Benchmark.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Benchmarks/Record_Benchmark/Record_Benchmark.thy Wed Jan 10 15:25:09 2018 +0100
@@ -424,4 +424,4 @@
print_record many_B
-end
\ No newline at end of file
+end
--- a/src/CTT/CTT.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/CTT/CTT.thy Wed Jan 10 15:25:09 2018 +0100
@@ -434,7 +434,7 @@
(*0 subgoals vs 1 or more*)
val (safe0_brls, safep_brls) =
- List.partition (curry (op =) 0 o subgoals_of_brl) safe_brls
+ List.partition (curry (=) 0 o subgoals_of_brl) safe_brls
fun safestep_tac ctxt thms i =
form_tac ctxt ORELSE
--- a/src/Doc/Corec/Corec.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Corec/Corec.thy Wed Jan 10 15:25:09 2018 +0100
@@ -280,7 +280,7 @@
@{command corec}, @{command corecursive}, and @{command friend_of_corec}. In
particular, nesting through the function type can be expressed using
@{text \<lambda>}-abstractions and function applications rather than through composition
-(@{term "op \<circ>"}, the map function for @{text \<Rightarrow>}). For example:
+(@{term "(\<circ>)"}, the map function for @{text \<Rightarrow>}). For example:
\<close>
codatatype 'a language =
@@ -892,7 +892,7 @@
text \<open>
The @{method transfer_prover_eq} proof method replaces the equality relation
-@{term "op ="} with compound relator expressions according to
+@{term "(=)"} with compound relator expressions according to
@{thm [source] relator_eq} before calling @{method transfer_prover} on the
current subgoal. It tends to work better than plain @{method transfer_prover} on
the parametricity proof obligations of @{command corecursive} and
--- a/src/Doc/Datatypes/Datatypes.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Datatypes/Datatypes.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1410,7 +1410,7 @@
\noindent
The same principle applies for arbitrary type constructors through which
recursion is possible. Notably, the map function for the function type
-(@{text \<Rightarrow>}) is simply composition (@{text "op \<circ>"}):
+(@{text \<Rightarrow>}) is simply composition (@{text "(\<circ>)"}):
\<close>
primrec (*<*)(in early) (*>*)relabel_ft :: "('a \<Rightarrow> 'a) \<Rightarrow> 'a ftree \<Rightarrow> 'a ftree" where
@@ -1436,7 +1436,7 @@
text \<open>
\noindent
For recursion through curried $n$-ary functions, $n$ applications of
-@{term "op \<circ>"} are necessary. The examples below illustrate the case where
+@{term "(\<circ>)"} are necessary. The examples below illustrate the case where
$n = 2$:
\<close>
@@ -1446,7 +1446,7 @@
primrec (*<*)(in early) (*>*)relabel_ft2 :: "('a \<Rightarrow> 'a) \<Rightarrow> 'a ftree2 \<Rightarrow> 'a ftree2" where
"relabel_ft2 f (FTLeaf2 x) = FTLeaf2 (f x)"
- | "relabel_ft2 f (FTNode2 g) = FTNode2 (op \<circ> (op \<circ> (relabel_ft2 f)) g)"
+ | "relabel_ft2 f (FTNode2 g) = FTNode2 ((\<circ>) ((\<circ>) (relabel_ft2 f)) g)"
text \<open>\blankline\<close>
@@ -2264,7 +2264,7 @@
text \<open>
\noindent
The map function for the function type (@{text \<Rightarrow>}) is composition
-(@{text "op \<circ>"}). For convenience, corecursion through functions can
+(@{text "(\<circ>)"}). For convenience, corecursion through functions can
also be expressed using $\lambda$-abstractions and function application rather
than through composition. For example:
\<close>
@@ -2291,7 +2291,7 @@
text \<open>
\noindent
For recursion through curried $n$-ary functions, $n$ applications of
-@{term "op \<circ>"} are necessary. The examples below illustrate the case where
+@{term "(\<circ>)"} are necessary. The examples below illustrate the case where
$n = 2$:
\<close>
@@ -2303,7 +2303,7 @@
primcorec
(*<*)(in early) (*>*)sm2_of_dfa :: "('q \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> 'q) \<Rightarrow> 'q set \<Rightarrow> 'q \<Rightarrow> ('a, 'b) sm2"
where
- "sm2_of_dfa \<delta> F q = SM2 (q \<in> F) (op \<circ> (op \<circ> (sm2_of_dfa \<delta> F)) (\<delta> q))"
+ "sm2_of_dfa \<delta> F q = SM2 (q \<in> F) ((\<circ>) ((\<circ>) (sm2_of_dfa \<delta> F)) (\<delta> q))"
text \<open>\blankline\<close>
@@ -2782,7 +2782,7 @@
text \<open>\blankline\<close>
- lift_definition map_fn :: "('a \<Rightarrow> 'b) \<Rightarrow> ('d, 'a) fn \<Rightarrow> ('d, 'b) fn" is "op \<circ>" .
+ lift_definition map_fn :: "('a \<Rightarrow> 'b) \<Rightarrow> ('d, 'a) fn \<Rightarrow> ('d, 'b) fn" is "(\<circ>)" .
lift_definition set_fn :: "('d, 'a) fn \<Rightarrow> 'a set" is range .
text \<open>\blankline\<close>
@@ -2795,7 +2795,7 @@
lift_definition
rel_fn :: "('a \<Rightarrow> 'b \<Rightarrow> bool) \<Rightarrow> ('d, 'a) fn \<Rightarrow> ('d, 'b) fn \<Rightarrow> bool"
is
- "rel_fun (op =)" .
+ "rel_fun (=)" .
text \<open>\blankline\<close>
@@ -2819,7 +2819,7 @@
by transfer auto
next
fix f :: "'a \<Rightarrow> 'b"
- show "set_fn \<circ> map_fn f = op ` f \<circ> set_fn"
+ show "set_fn \<circ> map_fn f = (`) f \<circ> set_fn"
by transfer (auto simp add: comp_def)
next
show "card_order (natLeq +c |UNIV :: 'd set| )"
--- a/src/Doc/Eisbach/Preface.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Eisbach/Preface.thy Wed Jan 10 15:25:09 2018 +0100
@@ -33,4 +33,4 @@
with existing Isar concepts such as @{command named_theorems}.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/How_to_Prove_it/How_to_Prove_it.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/How_to_Prove_it/How_to_Prove_it.thy Wed Jan 10 15:25:09 2018 +0100
@@ -131,4 +131,4 @@
(*<*)
end
-(*>*)
\ No newline at end of file
+(*>*)
--- a/src/Doc/Isar_Ref/Framework.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Isar_Ref/Framework.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1028,4 +1028,4 @@
..\<close>''.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/Isar_Ref/Generic.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Isar_Ref/Generic.thy Wed Jan 10 15:25:09 2018 +0100
@@ -387,7 +387,7 @@
lemma "0 + (x + 0) = x + 0 + 0" apply simp? oops
text \<open>
- The above attempt \<^emph>\<open>fails\<close>, because @{term "0"} and @{term "op +"} in the
+ The above attempt \<^emph>\<open>fails\<close>, because @{term "0"} and @{term "(+)"} in the
HOL library are declared as generic type class operations, without stating
any algebraic laws yet. More specific types are required to get access to
certain standard simplifications of the theory context, e.g.\ like this:\<close>
--- a/src/Doc/Isar_Ref/HOL_Specific.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Isar_Ref/HOL_Specific.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1452,7 +1452,7 @@
\<open>Quotient_thm\<close>). Optional theorems \<open>pcr_def\<close> and \<open>pcr_cr_eq_thm\<close> can be
specified to register the parametrized correspondence relation for \<open>\<tau>\<close>.
E.g.\ for @{typ "'a dlist"}, \<open>pcr_def\<close> is \<open>pcr_dlist A \<equiv> list_all2 A \<circ>\<circ>
- cr_dlist\<close> and \<open>pcr_cr_eq_thm\<close> is \<open>pcr_dlist (op =) = (op =)\<close>. This attribute
+ cr_dlist\<close> and \<open>pcr_cr_eq_thm\<close> is \<open>pcr_dlist (=) = (=)\<close>. This attribute
is rather used for low-level manipulation with set-up of the Lifting package
because using of the bundle \<open>\<tau>.lifting\<close> together with the commands @{command
(HOL) lifting_forget} and @{command (HOL) lifting_update} is preferred for
@@ -1539,7 +1539,7 @@
Lemmas involving predicates on relations can also be registered using the
same attribute. For example:
- \<open>bi_unique A \<Longrightarrow> (list_all2 A ===> op =) distinct distinct\<close> \\
+ \<open>bi_unique A \<Longrightarrow> (list_all2 A ===> (=)) distinct distinct\<close> \\
\<open>\<lbrakk>bi_unique A; bi_unique B\<rbrakk> \<Longrightarrow> bi_unique (rel_prod A B)\<close>
Preservation of predicates on relations (\<open>bi_unique, bi_total, right_unique,
@@ -1555,7 +1555,7 @@
quantifiers are transferred.
\<^descr> @{attribute (HOL) relator_eq} attribute collects identity laws for
- relators of various type constructors, e.g. @{term "rel_set (op =) = (op =)"}.
+ relators of various type constructors, e.g. @{term "rel_set (=) = (=)"}.
The @{method (HOL) transfer} method uses these lemmas to infer
transfer rules for non-polymorphic constants on the fly. For examples see
\<^file>\<open>~~/src/HOL/Lifting_Set.thy\<close> or \<^file>\<open>~~/src/HOL/Lifting.thy\<close>. This property
@@ -1894,7 +1894,7 @@
@{term "Quickcheck_Narrowing.sum (Quickcheck_Narrowing.cons [])
(Quickcheck_Narrowing.apply
(Quickcheck_Narrowing.apply
- (Quickcheck_Narrowing.cons (op #))
+ (Quickcheck_Narrowing.cons (#))
narrowing)
narrowing)"}.
If a symbolic variable of type @{typ "_ list"} is evaluated, it is
@@ -1909,7 +1909,7 @@
"Quickcheck_Narrowing.Narrowing_constructor i args"}, where @{term "i ::
integer"} denotes the index in the sum of refinements. In the above
example for lists, @{term "0"} corresponds to @{term "[]"} and @{term "1"}
- to @{term "op #"}.
+ to @{term "(#)"}.
The command @{command (HOL) "code_datatype"} sets up @{const
partial_term_of} such that the @{term "i"}-th refinement is interpreted as
--- a/src/Doc/Isar_Ref/Proof_Script.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Isar_Ref/Proof_Script.thy Wed Jan 10 15:25:09 2018 +0100
@@ -278,4 +278,4 @@
definitions, it should not never appear in production theories.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/Isar_Ref/Symbols.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Isar_Ref/Symbols.thy Wed Jan 10 15:25:09 2018 +0100
@@ -37,4 +37,4 @@
\end{center}
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/JEdit/JEdit.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/JEdit/JEdit.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2171,4 +2171,4 @@
which sometimes helps in low-memory situations.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/Locales/Examples1.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Locales/Examples1.thy Wed Jan 10 15:25:09 2018 +0100
@@ -19,8 +19,8 @@
Section~\ref{sec:local-interpretation}.
As an example, consider the type of integers @{typ int}. The
- relation @{term "op \<le>"} is a total order over @{typ int}. We start
- with the interpretation that @{term "op \<le>"} is a partial order. The
+ relation @{term "(\<le>)"} is a total order over @{typ int}. We start
+ with the interpretation that @{term "(\<le>)"} is a partial order. The
facilities of the interpretation command are explored gradually in
three versions.
\<close>
@@ -32,11 +32,11 @@
text \<open>
The command \isakeyword{interpretation} is for the interpretation of
locale in theories. In the following example, the parameter of locale
- @{text partial_order} is replaced by @{term "op \<le> :: int \<Rightarrow> int \<Rightarrow>
+ @{text partial_order} is replaced by @{term "(\<le>) :: int \<Rightarrow> int \<Rightarrow>
bool"} and the locale instance is interpreted in the current
theory.\<close>
- interpretation %visible int: partial_order "op \<le> :: int \<Rightarrow> int \<Rightarrow> bool"
+ interpretation %visible int: partial_order "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool"
txt \<open>\normalsize
The argument of the command is a simple \emph{locale expression}
consisting of the name of the interpreted locale, which is
@@ -70,17 +70,17 @@
The prefix @{text int} is applied to all names introduced in locale
conclusions including names introduced in definitions. The
qualified name @{text int.less} is short for
- the interpretation of the definition, which is @{text "partial_order.less op \<le>"}.
+ the interpretation of the definition, which is @{text "partial_order.less (\<le>)"}.
Qualified name and expanded form may be used almost
interchangeably.%
-\footnote{Since @{term "op \<le>"} is polymorphic, for @{text "partial_order.less op \<le>"} a
+\footnote{Since @{term "(\<le>)"} is polymorphic, for @{text "partial_order.less (\<le>)"} a
more general type will be inferred than for @{text int.less} which
is over type @{typ int}.}
The former is preferred on output, as for example in the theorem
@{thm [source] int.less_le_trans}: @{thm [display, indent=2]
int.less_le_trans}
Both notations for the strict order are not satisfactory. The
- constant @{term "op <"} is the strict order for @{typ int}.
+ constant @{term "(<)"} is the strict order for @{typ int}.
In order to allow for the desired replacement, interpretation
accepts \emph{equations} in addition to the parameter instantiation.
These follow the locale expression and are indicated with the
--- a/src/Doc/Locales/Examples2.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Locales/Examples2.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1,18 +1,18 @@
theory Examples2
imports Examples
begin
- interpretation %visible int: partial_order "op \<le> :: [int, int] \<Rightarrow> bool"
+ interpretation %visible int: partial_order "(\<le>) :: [int, int] \<Rightarrow> bool"
rewrites "int.less x y = (x < y)"
proof -
txt \<open>\normalsize The goals are now:
@{subgoals [display]}
The proof that~@{text \<le>} is a partial order is as above.\<close>
- show "partial_order (op \<le> :: int \<Rightarrow> int \<Rightarrow> bool)"
+ show "partial_order ((\<le>) :: int \<Rightarrow> int \<Rightarrow> bool)"
by unfold_locales auto
txt \<open>\normalsize The second goal is shown by unfolding the
definition of @{term "partial_order.less"}.\<close>
- show "partial_order.less op \<le> x y = (x < y)"
- unfolding partial_order.less_def [OF \<open>partial_order (op \<le>)\<close>]
+ show "partial_order.less (\<le>) x y = (x < y)"
+ unfolding partial_order.less_def [OF \<open>partial_order (\<le>)\<close>]
by auto
qed
--- a/src/Doc/Main/Main_Doc.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Main/Main_Doc.thy Wed Jan 10 15:25:09 2018 +0100
@@ -297,7 +297,7 @@
@{const Transitive_Closure.trancl} & @{term_type_only Transitive_Closure.trancl "('a*'a)set\<Rightarrow>('a*'a)set"}\\
@{const Transitive_Closure.reflcl} & @{term_type_only Transitive_Closure.reflcl "('a*'a)set\<Rightarrow>('a*'a)set"}\\
@{const Transitive_Closure.acyclic} & @{term_type_only Transitive_Closure.acyclic "('a*'a)set\<Rightarrow>bool"}\\
-@{const compower} & @{term_type_only "op ^^ :: ('a*'a)set\<Rightarrow>nat\<Rightarrow>('a*'a)set" "('a*'a)set\<Rightarrow>nat\<Rightarrow>('a*'a)set"}\\
+@{const compower} & @{term_type_only "(^^) :: ('a*'a)set\<Rightarrow>nat\<Rightarrow>('a*'a)set" "('a*'a)set\<Rightarrow>nat\<Rightarrow>('a*'a)set"}\\
\end{tabular}
\subsubsection*{Syntax}
@@ -345,15 +345,15 @@
\<^bigskip>
\begin{tabular}{@ {} lllllll @ {}}
-@{term "op + :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
-@{term "op - :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
-@{term "op * :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
-@{term "op ^ :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
-@{term "op div :: nat \<Rightarrow> nat \<Rightarrow> nat"}&
-@{term "op mod :: nat \<Rightarrow> nat \<Rightarrow> nat"}&
-@{term "op dvd :: nat \<Rightarrow> nat \<Rightarrow> bool"}\\
-@{term "op \<le> :: nat \<Rightarrow> nat \<Rightarrow> bool"} &
-@{term "op < :: nat \<Rightarrow> nat \<Rightarrow> bool"} &
+@{term "(+) :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
+@{term "(-) :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
+@{term "( * ) :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
+@{term "(^) :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
+@{term "(div) :: nat \<Rightarrow> nat \<Rightarrow> nat"}&
+@{term "(mod) :: nat \<Rightarrow> nat \<Rightarrow> nat"}&
+@{term "(dvd) :: nat \<Rightarrow> nat \<Rightarrow> bool"}\\
+@{term "(\<le>) :: nat \<Rightarrow> nat \<Rightarrow> bool"} &
+@{term "(<) :: nat \<Rightarrow> nat \<Rightarrow> bool"} &
@{term "min :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
@{term "max :: nat \<Rightarrow> nat \<Rightarrow> nat"} &
@{term "Min :: nat set \<Rightarrow> nat"} &
@@ -362,8 +362,8 @@
\begin{tabular}{@ {} l @ {~::~} l @ {}}
@{const Nat.of_nat} & @{typeof Nat.of_nat}\\
-@{term "op ^^ :: ('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a"} &
- @{term_type_only "op ^^ :: ('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a" "('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a"}
+@{term "(^^) :: ('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a"} &
+ @{term_type_only "(^^) :: ('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a" "('a \<Rightarrow> 'a) \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> 'a"}
\end{tabular}
\section*{Int}
@@ -372,16 +372,16 @@
\<^bigskip>
\begin{tabular}{@ {} llllllll @ {}}
-@{term "op + :: int \<Rightarrow> int \<Rightarrow> int"} &
-@{term "op - :: int \<Rightarrow> int \<Rightarrow> int"} &
+@{term "(+) :: int \<Rightarrow> int \<Rightarrow> int"} &
+@{term "(-) :: int \<Rightarrow> int \<Rightarrow> int"} &
@{term "uminus :: int \<Rightarrow> int"} &
-@{term "op * :: int \<Rightarrow> int \<Rightarrow> int"} &
-@{term "op ^ :: int \<Rightarrow> nat \<Rightarrow> int"} &
-@{term "op div :: int \<Rightarrow> int \<Rightarrow> int"}&
-@{term "op mod :: int \<Rightarrow> int \<Rightarrow> int"}&
-@{term "op dvd :: int \<Rightarrow> int \<Rightarrow> bool"}\\
-@{term "op \<le> :: int \<Rightarrow> int \<Rightarrow> bool"} &
-@{term "op < :: int \<Rightarrow> int \<Rightarrow> bool"} &
+@{term "( * ) :: int \<Rightarrow> int \<Rightarrow> int"} &
+@{term "(^) :: int \<Rightarrow> nat \<Rightarrow> int"} &
+@{term "(div) :: int \<Rightarrow> int \<Rightarrow> int"}&
+@{term "(mod) :: int \<Rightarrow> int \<Rightarrow> int"}&
+@{term "(dvd) :: int \<Rightarrow> int \<Rightarrow> bool"}\\
+@{term "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool"} &
+@{term "(<) :: int \<Rightarrow> int \<Rightarrow> bool"} &
@{term "min :: int \<Rightarrow> int \<Rightarrow> int"} &
@{term "max :: int \<Rightarrow> int \<Rightarrow> int"} &
@{term "Min :: int set \<Rightarrow> int"} &
--- a/src/Doc/Prog_Prove/Basics.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Prog_Prove/Basics.thy Wed Jan 10 15:25:09 2018 +0100
@@ -40,9 +40,9 @@
\begin{warn}
There are many predefined infix symbols like @{text "+"} and @{text"\<le>"}.
-The name of the corresponding binary function is @{term"op +"},
+The name of the corresponding binary function is @{term"(+)"},
not just @{text"+"}. That is, @{term"x + y"} is nice surface syntax
-(``syntactic sugar'') for \noquotes{@{term[source]"op + x y"}}.
+(``syntactic sugar'') for \noquotes{@{term[source]"(+) x y"}}.
\end{warn}
HOL also supports some basic constructs from functional programming:
@@ -152,4 +152,4 @@
*}
(*<*)
end
-(*>*)
\ No newline at end of file
+(*>*)
--- a/src/Doc/Prog_Prove/LaTeXsugar.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Prog_Prove/LaTeXsugar.thy Wed Jan 10 15:25:09 2018 +0100
@@ -60,4 +60,4 @@
*}
end
-(*>*)
\ No newline at end of file
+(*>*)
--- a/src/Doc/System/Environment.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/System/Environment.thy Wed Jan 10 15:25:09 2018 +0100
@@ -505,4 +505,4 @@
characters are \<open>\<^bold>X\<^bold>Y\<close>.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/System/Misc.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/System/Misc.thy Wed Jan 10 15:25:09 2018 +0100
@@ -226,4 +226,4 @@
id of the @{setting ISABELLE_HOME} directory.
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/System/Presentation.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/System/Presentation.thy Wed Jan 10 15:25:09 2018 +0100
@@ -286,4 +286,4 @@
isabelle latex -o pdf\<close>}
\<close>
-end
\ No newline at end of file
+end
--- a/src/Doc/Tutorial/Types/Pairs.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/Doc/Tutorial/Types/Pairs.thy Wed Jan 10 15:25:09 2018 +0100
@@ -110,7 +110,7 @@
@{subgoals[display,indent=0]}
Again, simplification produces a term suitable for @{thm[source]prod.split}
as above. If you are worried about the strange form of the premise:
-@{text"case_prod (op =)"} is short for @{term"\<lambda>(x,y). x=y"}.
+@{text"case_prod (=)"} is short for @{term"\<lambda>(x,y). x=y"}.
The same proof procedure works for
*}
--- a/src/FOL/ex/Locale_Test/Locale_Test1.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/FOL/ex/Locale_Test/Locale_Test1.thy Wed Jan 10 15:25:09 2018 +0100
@@ -68,7 +68,7 @@
and linv: "inv(x) ** x = one"
print_locale! lgrp thm lgrp_def lgrp_axioms_def
-locale add_lgrp = semi "op ++" for sum (infixl "++" 60) +
+locale add_lgrp = semi "(++)" for sum (infixl "++" 60) +
fixes zero and neg
assumes lzero: "zero ++ x = x"
and lneg: "neg(x) ++ x = zero"
@@ -106,7 +106,7 @@
end
print_locale! logic
-locale use_decl = l: logic + semi "op ||"
+locale use_decl = l: logic + semi "(||)"
print_locale! use_decl thm use_decl_def
locale extra_type =
@@ -376,7 +376,7 @@
end
-sublocale order_with_def < dual: order' "op >>"
+sublocale order_with_def < dual: order' "(>>)"
apply unfold_locales
unfolding greater_def
apply (rule refl) apply (blast intro: trans)
@@ -438,13 +438,13 @@
subsection \<open>Sublocale, then interpretation in theory\<close>
-interpretation int?: lgrp "op +" "0" "minus"
+interpretation int?: lgrp "(+)" "0" "minus"
proof unfold_locales
qed (rule int_assoc int_zero int_minus)+
thm int.assoc int.semi_axioms
-interpretation int2?: semi "op +"
+interpretation int2?: semi "(+)"
by unfold_locales (* subsumed, thm int2.assoc not generated *)
ML \<open>(Global_Theory.get_thms @{theory} "int2.assoc";
@@ -457,7 +457,7 @@
subsection \<open>Interpretation in theory, then sublocale\<close>
-interpretation fol: logic "op +" "minus"
+interpretation fol: logic "(+)" "minus"
by unfold_locales (rule int_assoc int_minus2)+
locale logic2 =
@@ -503,11 +503,11 @@
end
-interpretation x: logic_o "op \<and>" "Not"
+interpretation x: logic_o "(\<and>)" "Not"
rewrites bool_logic_o: "x.lor_o(x, y) \<longleftrightarrow> x \<or> y"
proof -
- show bool_logic_o: "PROP logic_o(op \<and>, Not)" by unfold_locales fast+
- show "logic_o.lor_o(op \<and>, Not, x, y) \<longleftrightarrow> x \<or> y"
+ show bool_logic_o: "PROP logic_o((\<and>), Not)" by unfold_locales fast+
+ show "logic_o.lor_o((\<and>), Not, x, y) \<longleftrightarrow> x \<or> y"
by (unfold logic_o.lor_o_def [OF bool_logic_o]) fast
qed
@@ -759,8 +759,8 @@
text \<open>Interpreted versions\<close>
-lemma "0 = glob_one ((op +))" by (rule int.def.one_def)
-lemma "- x = glob_inv(op +, x)" by (rule int.def.inv_def)
+lemma "0 = glob_one ((+))" by (rule int.def.one_def)
+lemma "- x = glob_inv((+), x)" by (rule int.def.inv_def)
text \<open>Roundup applies rewrite morphisms at declaration level in DFS tree\<close>
@@ -792,18 +792,18 @@
lemma True
proof
- interpret "local": lgrp "op +" "0" "minus"
+ interpret "local": lgrp "(+)" "0" "minus"
by unfold_locales (* subsumed *)
{
fix zero :: int
assume "!!x. zero + x = x" "!!x. (-x) + x = zero"
- then interpret local_fixed: lgrp "op +" zero "minus"
+ then interpret local_fixed: lgrp "(+)" zero "minus"
by unfold_locales
thm local_fixed.lone
- print_dependencies! lgrp "op +" 0 minus + lgrp "op +" zero minus
+ print_dependencies! lgrp "(+)" 0 minus + lgrp "(+)" zero minus
}
assume "!!x zero. zero + x = x" "!!x zero. (-x) + x = zero"
- then interpret local_free: lgrp "op +" zero "minus" for zero
+ then interpret local_free: lgrp "(+)" zero "minus" for zero
by unfold_locales
thm local_free.lone [where ?zero = 0]
qed
--- a/src/FOLP/IFOLP.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/FOLP/IFOLP.thy Wed Jan 10 15:25:09 2018 +0100
@@ -259,7 +259,7 @@
and concl = discard_proof (Logic.strip_assums_concl prem)
in
if exists (fn hyp => hyp aconv concl) hyps
- then case distinct (op =) (filter (fn hyp => Term.could_unify (hyp, concl)) hyps) of
+ then case distinct (=) (filter (fn hyp => Term.could_unify (hyp, concl)) hyps) of
[_] => assume_tac ctxt i
| _ => no_tac
else no_tac
@@ -522,7 +522,7 @@
lemmas pred_congs = pred1_cong pred2_cong pred3_cong
(*special case for the equality predicate!*)
-lemmas eq_cong = pred2_cong [where P = "op ="]
+lemmas eq_cong = pred2_cong [where P = "(=)"]
(*** Simplifications of assumed implications.
--- a/src/HOL/Algebra/Complete_Lattice.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Complete_Lattice.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1171,7 +1171,7 @@
subsubsection \<open>The Powerset of a Set is a Complete Lattice\<close>
theorem powerset_is_complete_lattice:
- "complete_lattice \<lparr>carrier = Pow A, eq = op =, le = (op \<subseteq>)\<rparr>"
+ "complete_lattice \<lparr>carrier = Pow A, eq = (=), le = (\<subseteq>)\<rparr>"
(is "complete_lattice ?L")
proof (rule partial_order.complete_latticeI)
show "partial_order ?L"
--- a/src/HOL/Algebra/Divisibility.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Divisibility.thy Wed Jan 10 15:25:09 2018 +0100
@@ -145,7 +145,7 @@
definition associated :: "[_, 'a, 'a] \<Rightarrow> bool" (infix "\<sim>\<index>" 55)
where "a \<sim>\<^bsub>G\<^esub> b \<longleftrightarrow> a divides\<^bsub>G\<^esub> b \<and> b divides\<^bsub>G\<^esub> a"
-abbreviation "division_rel G \<equiv> \<lparr>carrier = carrier G, eq = op \<sim>\<^bsub>G\<^esub>, le = (op divides\<^bsub>G\<^esub>)\<rparr>"
+abbreviation "division_rel G \<equiv> \<lparr>carrier = carrier G, eq = (\<sim>\<^bsub>G\<^esub>), le = (divides\<^bsub>G\<^esub>)\<rparr>"
definition properfactor :: "[_, 'a, 'a] \<Rightarrow> bool"
where "properfactor G a b \<longleftrightarrow> a divides\<^bsub>G\<^esub> b \<and> \<not>(b divides\<^bsub>G\<^esub> a)"
@@ -857,13 +857,13 @@
subsubsection \<open>Function definitions\<close>
definition factors :: "[_, 'a list, 'a] \<Rightarrow> bool"
- where "factors G fs a \<longleftrightarrow> (\<forall>x \<in> (set fs). irreducible G x) \<and> foldr (op \<otimes>\<^bsub>G\<^esub>) fs \<one>\<^bsub>G\<^esub> = a"
+ where "factors G fs a \<longleftrightarrow> (\<forall>x \<in> (set fs). irreducible G x) \<and> foldr (\<otimes>\<^bsub>G\<^esub>) fs \<one>\<^bsub>G\<^esub> = a"
definition wfactors ::"[_, 'a list, 'a] \<Rightarrow> bool"
- where "wfactors G fs a \<longleftrightarrow> (\<forall>x \<in> (set fs). irreducible G x) \<and> foldr (op \<otimes>\<^bsub>G\<^esub>) fs \<one>\<^bsub>G\<^esub> \<sim>\<^bsub>G\<^esub> a"
+ where "wfactors G fs a \<longleftrightarrow> (\<forall>x \<in> (set fs). irreducible G x) \<and> foldr (\<otimes>\<^bsub>G\<^esub>) fs \<one>\<^bsub>G\<^esub> \<sim>\<^bsub>G\<^esub> a"
abbreviation list_assoc :: "('a,_) monoid_scheme \<Rightarrow> 'a list \<Rightarrow> 'a list \<Rightarrow> bool" (infix "[\<sim>]\<index>" 44)
- where "list_assoc G \<equiv> list_all2 (op \<sim>\<^bsub>G\<^esub>)"
+ where "list_assoc G \<equiv> list_all2 (\<sim>\<^bsub>G\<^esub>)"
definition essentially_equal :: "[_, 'a list, 'a list] \<Rightarrow> bool"
where "essentially_equal G fs1 fs2 \<longleftrightarrow> (\<exists>fs1'. fs1 <~~> fs1' \<and> fs1' [\<sim>]\<^bsub>G\<^esub> fs2)"
@@ -1043,12 +1043,12 @@
lemma (in monoid) multlist_closed [simp, intro]:
assumes ascarr: "set fs \<subseteq> carrier G"
- shows "foldr (op \<otimes>) fs \<one> \<in> carrier G"
+ shows "foldr (\<otimes>) fs \<one> \<in> carrier G"
using ascarr by (induct fs) simp_all
lemma (in comm_monoid) multlist_dividesI (*[intro]*):
assumes "f \<in> set fs" and "f \<in> carrier G" and "set fs \<subseteq> carrier G"
- shows "f divides (foldr (op \<otimes>) fs \<one>)"
+ shows "f divides (foldr (\<otimes>) fs \<one>)"
using assms
apply (induct fs)
apply simp
@@ -1062,7 +1062,7 @@
lemma (in comm_monoid_cancel) multlist_listassoc_cong:
assumes "fs [\<sim>] fs'"
and "set fs \<subseteq> carrier G" and "set fs' \<subseteq> carrier G"
- shows "foldr (op \<otimes>) fs \<one> \<sim> foldr (op \<otimes>) fs' \<one>"
+ shows "foldr (\<otimes>) fs \<one> \<sim> foldr (\<otimes>) fs' \<one>"
using assms
proof (induct fs arbitrary: fs', simp)
case (Cons a as fs')
@@ -1073,16 +1073,16 @@
assume "a \<sim> b"
and acarr: "a \<in> carrier G" and bcarr: "b \<in> carrier G"
and ascarr: "set as \<subseteq> carrier G"
- then have p: "a \<otimes> foldr op \<otimes> as \<one> \<sim> b \<otimes> foldr op \<otimes> as \<one>"
+ then have p: "a \<otimes> foldr (\<otimes>) as \<one> \<sim> b \<otimes> foldr (\<otimes>) as \<one>"
by (fast intro: mult_cong_l)
also
assume "as [\<sim>] bs"
and bscarr: "set bs \<subseteq> carrier G"
- and "\<And>fs'. \<lbrakk>as [\<sim>] fs'; set fs' \<subseteq> carrier G\<rbrakk> \<Longrightarrow> foldr op \<otimes> as \<one> \<sim> foldr op \<otimes> fs' \<one>"
- then have "foldr op \<otimes> as \<one> \<sim> foldr op \<otimes> bs \<one>" by simp
- with ascarr bscarr bcarr have "b \<otimes> foldr op \<otimes> as \<one> \<sim> b \<otimes> foldr op \<otimes> bs \<one>"
+ and "\<And>fs'. \<lbrakk>as [\<sim>] fs'; set fs' \<subseteq> carrier G\<rbrakk> \<Longrightarrow> foldr (\<otimes>) as \<one> \<sim> foldr (\<otimes>) fs' \<one>"
+ then have "foldr (\<otimes>) as \<one> \<sim> foldr (\<otimes>) bs \<one>" by simp
+ with ascarr bscarr bcarr have "b \<otimes> foldr (\<otimes>) as \<one> \<sim> b \<otimes> foldr (\<otimes>) bs \<one>"
by (fast intro: mult_cong_r)
- finally show "a \<otimes> foldr op \<otimes> as \<one> \<sim> b \<otimes> foldr op \<otimes> bs \<one>"
+ finally show "a \<otimes> foldr (\<otimes>) as \<one> \<sim> b \<otimes> foldr (\<otimes>) bs \<one>"
by (simp add: ascarr bscarr acarr bcarr)
qed
qed
@@ -1090,21 +1090,21 @@
lemma (in comm_monoid) multlist_perm_cong:
assumes prm: "as <~~> bs"
and ascarr: "set as \<subseteq> carrier G"
- shows "foldr (op \<otimes>) as \<one> = foldr (op \<otimes>) bs \<one>"
+ shows "foldr (\<otimes>) as \<one> = foldr (\<otimes>) bs \<one>"
using prm ascarr
apply (induct, simp, clarsimp simp add: m_ac, clarsimp)
proof clarsimp
fix xs ys zs
assume "xs <~~> ys" "set xs \<subseteq> carrier G"
then have "set ys \<subseteq> carrier G" by (rule perm_closed)
- moreover assume "set ys \<subseteq> carrier G \<Longrightarrow> foldr op \<otimes> ys \<one> = foldr op \<otimes> zs \<one>"
- ultimately show "foldr op \<otimes> ys \<one> = foldr op \<otimes> zs \<one>" by simp
+ moreover assume "set ys \<subseteq> carrier G \<Longrightarrow> foldr (\<otimes>) ys \<one> = foldr (\<otimes>) zs \<one>"
+ ultimately show "foldr (\<otimes>) ys \<one> = foldr (\<otimes>) zs \<one>" by simp
qed
lemma (in comm_monoid_cancel) multlist_ee_cong:
assumes "essentially_equal G fs fs'"
and "set fs \<subseteq> carrier G" and "set fs' \<subseteq> carrier G"
- shows "foldr (op \<otimes>) fs \<one> \<sim> foldr (op \<otimes>) fs' \<one>"
+ shows "foldr (\<otimes>) fs \<one> \<sim> foldr (\<otimes>) fs' \<one>"
using assms
apply (elim essentially_equalE)
apply (simp add: multlist_perm_cong multlist_listassoc_cong perm_closed)
@@ -1116,27 +1116,27 @@
lemma wfactorsI:
fixes G (structure)
assumes "\<forall>f\<in>set fs. irreducible G f"
- and "foldr (op \<otimes>) fs \<one> \<sim> a"
+ and "foldr (\<otimes>) fs \<one> \<sim> a"
shows "wfactors G fs a"
using assms unfolding wfactors_def by simp
lemma wfactorsE:
fixes G (structure)
assumes wf: "wfactors G fs a"
- and e: "\<lbrakk>\<forall>f\<in>set fs. irreducible G f; foldr (op \<otimes>) fs \<one> \<sim> a\<rbrakk> \<Longrightarrow> P"
+ and e: "\<lbrakk>\<forall>f\<in>set fs. irreducible G f; foldr (\<otimes>) fs \<one> \<sim> a\<rbrakk> \<Longrightarrow> P"
shows "P"
using wf unfolding wfactors_def by (fast dest: e)
lemma (in monoid) factorsI:
assumes "\<forall>f\<in>set fs. irreducible G f"
- and "foldr (op \<otimes>) fs \<one> = a"
+ and "foldr (\<otimes>) fs \<one> = a"
shows "factors G fs a"
using assms unfolding factors_def by simp
lemma factorsE:
fixes G (structure)
assumes f: "factors G fs a"
- and e: "\<lbrakk>\<forall>f\<in>set fs. irreducible G f; foldr (op \<otimes>) fs \<one> = a\<rbrakk> \<Longrightarrow> P"
+ and e: "\<lbrakk>\<forall>f\<in>set fs. irreducible G f; foldr (\<otimes>) fs \<one> = a\<rbrakk> \<Longrightarrow> P"
shows "P"
using f unfolding factors_def by (simp add: e)
@@ -1185,14 +1185,14 @@
from fs wf have "irreducible G f" by (simp add: wfactors_def)
then have fnunit: "f \<notin> Units G" by (fast elim: irreducibleE)
- from fs wf have a: "f \<otimes> foldr (op \<otimes>) fs' \<one> \<sim> a" by (simp add: wfactors_def)
+ from fs wf have a: "f \<otimes> foldr (\<otimes>) fs' \<one> \<sim> a" by (simp add: wfactors_def)
note aunit
also from fs wf
- have a: "f \<otimes> foldr (op \<otimes>) fs' \<one> \<sim> a" by (simp add: wfactors_def)
- have "a \<sim> f \<otimes> foldr (op \<otimes>) fs' \<one>"
+ have a: "f \<otimes> foldr (\<otimes>) fs' \<one> \<sim> a" by (simp add: wfactors_def)
+ have "a \<sim> f \<otimes> foldr (\<otimes>) fs' \<one>"
by (simp add: Units_closed[OF aunit] a[symmetric])
- finally have "f \<otimes> foldr (op \<otimes>) fs' \<one> \<in> Units G" by simp
+ finally have "f \<otimes> foldr (\<otimes>) fs' \<one> \<in> Units G" by simp
then have "f \<in> Units G" by (intro unit_factor[of f], simp+)
with fnunit show ?thesis by contradiction
qed
@@ -1209,10 +1209,10 @@
apply (elim wfactorsE, intro wfactorsI)
apply (metis assms(2) assms(4) assms(5) irrlist_listassoc_cong)
proof -
- from asc[symmetric] have "foldr op \<otimes> fs' \<one> \<sim> foldr op \<otimes> fs \<one>"
+ from asc[symmetric] have "foldr (\<otimes>) fs' \<one> \<sim> foldr (\<otimes>) fs \<one>"
by (simp add: multlist_listassoc_cong carr)
- also assume "foldr op \<otimes> fs \<one> \<sim> a"
- finally show "foldr op \<otimes> fs' \<one> \<sim> a" by (simp add: carr)
+ also assume "foldr (\<otimes>) fs \<one> \<sim> a"
+ finally show "foldr (\<otimes>) fs' \<one> \<sim> a" by (simp add: carr)
qed
lemma (in comm_monoid) wfactors_perm_cong_l:
@@ -1251,8 +1251,8 @@
shows "wfactors G fs a'"
using fac
proof (elim wfactorsE, intro wfactorsI)
- assume "foldr op \<otimes> fs \<one> \<sim> a" also note aa'
- finally show "foldr op \<otimes> fs \<one> \<sim> a'" by simp
+ assume "foldr (\<otimes>) fs \<one> \<sim> a" also note aa'
+ finally show "foldr (\<otimes>) fs \<one> \<sim> a'" by simp
qed
@@ -1296,11 +1296,11 @@
using afs bfs
proof (elim wfactorsE)
from prm have [simp]: "set bs \<subseteq> carrier G" by (simp add: perm_closed)
- assume "foldr op \<otimes> as \<one> \<sim> a"
- then have "a \<sim> foldr op \<otimes> as \<one>" by (rule associated_sym, simp+)
+ assume "foldr (\<otimes>) as \<one> \<sim> a"
+ then have "a \<sim> foldr (\<otimes>) as \<one>" by (rule associated_sym, simp+)
also from prm
- have "foldr op \<otimes> as \<one> = foldr op \<otimes> bs \<one>" by (rule multlist_perm_cong, simp)
- also assume "foldr op \<otimes> bs \<one> \<sim> b"
+ have "foldr (\<otimes>) as \<one> = foldr (\<otimes>) bs \<one>" by (rule multlist_perm_cong, simp)
+ also assume "foldr (\<otimes>) bs \<one> \<sim> b"
finally show "a \<sim> b" by simp
qed
@@ -1313,11 +1313,11 @@
shows "a \<sim> b"
using afs bfs
proof (elim wfactorsE)
- assume "foldr op \<otimes> as \<one> \<sim> a"
- then have "a \<sim> foldr op \<otimes> as \<one>" by (rule associated_sym, simp+)
+ assume "foldr (\<otimes>) as \<one> \<sim> a"
+ then have "a \<sim> foldr (\<otimes>) as \<one>" by (rule associated_sym, simp+)
also from assoc
- have "foldr op \<otimes> as \<one> \<sim> foldr op \<otimes> bs \<one>" by (rule multlist_listassoc_cong, simp+)
- also assume "foldr op \<otimes> bs \<one> \<sim> b"
+ have "foldr (\<otimes>) as \<one> \<sim> foldr (\<otimes>) bs \<one>" by (rule multlist_listassoc_cong, simp+)
+ also assume "foldr (\<otimes>) bs \<one> \<sim> b"
finally show "a \<sim> b" by simp
qed
@@ -2912,10 +2912,10 @@
lemma (in comm_monoid_cancel) multlist_prime_pos:
assumes carr: "a \<in> carrier G" "set as \<subseteq> carrier G"
and aprime: "prime G a"
- and "a divides (foldr (op \<otimes>) as \<one>)"
+ and "a divides (foldr (\<otimes>) as \<one>)"
shows "\<exists>i<length as. a divides (as!i)"
proof -
- have r[rule_format]: "set as \<subseteq> carrier G \<and> a divides (foldr (op \<otimes>) as \<one>)
+ have r[rule_format]: "set as \<subseteq> carrier G \<and> a divides (foldr (\<otimes>) as \<one>)
\<longrightarrow> (\<exists>i. i < length as \<and> a divides (as!i))"
apply (induct as)
apply clarsimp defer 1
@@ -2928,10 +2928,10 @@
by (elim primeE, simp)
next
fix aa as
- assume ih[rule_format]: "a divides foldr op \<otimes> as \<one> \<longrightarrow> (\<exists>i<length as. a divides as ! i)"
+ assume ih[rule_format]: "a divides foldr (\<otimes>) as \<one> \<longrightarrow> (\<exists>i<length as. a divides as ! i)"
and carr': "aa \<in> carrier G" "set as \<subseteq> carrier G"
- and "a divides aa \<otimes> foldr op \<otimes> as \<one>"
- with carr aprime have "a divides aa \<or> a divides foldr op \<otimes> as \<one>"
+ and "a divides aa \<otimes> foldr (\<otimes>) as \<one>"
+ with carr aprime have "a divides aa \<or> a divides foldr (\<otimes>) as \<one>"
by (intro prime_divides) simp+
then show "\<exists>i<Suc (length as). a divides (aa # as) ! i"
proof
@@ -2940,7 +2940,7 @@
have "0 < Suc (length as)" by simp
with p1 show ?thesis by fast
next
- assume "a divides foldr op \<otimes> as \<one>"
+ assume "a divides foldr (\<otimes>) as \<one>"
from ih [OF this] obtain i where "a divides as ! i" and len: "i < length as" by auto
then have p1: "a divides (aa#as) ! (Suc i)" by simp
from len have "Suc i < Suc (length as)" by simp
@@ -2998,9 +2998,9 @@
note carr [simp] = acarr ahcarr ascarr as'carr a'carr
note ahdvda
- also from afs' have "a divides (foldr (op \<otimes>) as' \<one>)"
+ also from afs' have "a divides (foldr (\<otimes>) as' \<one>)"
by (elim wfactorsE associatedE, simp)
- finally have "ah divides (foldr (op \<otimes>) as' \<one>)"
+ finally have "ah divides (foldr (\<otimes>) as' \<one>)"
by simp
with ahprime have "\<exists>i<length as'. ah divides as'!i"
by (intro multlist_prime_pos) simp_all
--- a/src/HOL/Algebra/Group.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Group.thy Wed Jan 10 15:25:09 2018 +0100
@@ -676,7 +676,7 @@
(* Contributed by Joachim Breitner *)
lemma (in group) int_pow_is_hom:
- "x \<in> carrier G \<Longrightarrow> (op[^] x) \<in> hom \<lparr> carrier = UNIV, mult = op +, one = 0::int \<rparr> G "
+ "x \<in> carrier G \<Longrightarrow> (([^]) x) \<in> hom \<lparr> carrier = UNIV, mult = (+), one = 0::int \<rparr> G "
unfolding hom_def by (simp add: int_pow_mult)
@@ -773,7 +773,7 @@
text_raw \<open>\label{sec:subgroup-lattice}\<close>
theorem (in group) subgroups_partial_order:
- "partial_order \<lparr>carrier = {H. subgroup H G}, eq = op =, le = (op \<subseteq>)\<rparr>"
+ "partial_order \<lparr>carrier = {H. subgroup H G}, eq = (=), le = (\<subseteq>)\<rparr>"
by standard simp_all
lemma (in group) subgroup_self:
@@ -818,7 +818,7 @@
qed
theorem (in group) subgroups_complete_lattice:
- "complete_lattice \<lparr>carrier = {H. subgroup H G}, eq = op =, le = (op \<subseteq>)\<rparr>"
+ "complete_lattice \<lparr>carrier = {H. subgroup H G}, eq = (=), le = (\<subseteq>)\<rparr>"
(is "complete_lattice ?L")
proof (rule partial_order.complete_lattice_criterion1)
show "partial_order ?L" by (rule subgroups_partial_order)
--- a/src/HOL/Algebra/IntRing.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/IntRing.thy Wed Jan 10 15:25:09 2018 +0100
@@ -23,7 +23,7 @@
subsection \<open>\<open>\<Z>\<close>: The Set of Integers as Algebraic Structure\<close>
abbreviation int_ring :: "int ring" ("\<Z>")
- where "int_ring \<equiv> \<lparr>carrier = UNIV, mult = op *, one = 1, zero = 0, add = (op +)\<rparr>"
+ where "int_ring \<equiv> \<lparr>carrier = UNIV, mult = ( * ), one = 1, zero = 0, add = (+)\<rparr>"
lemma int_Zcarr [intro!, simp]: "k \<in> carrier \<Z>"
by simp
@@ -172,27 +172,27 @@
by simp_all
interpretation int (* FIXME [unfolded UNIV] *) :
- partial_order "\<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr>"
- rewrites "carrier \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> = UNIV"
- and "le \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = (x \<le> y)"
- and "lless \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = (x < y)"
+ partial_order "\<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr>"
+ rewrites "carrier \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> = UNIV"
+ and "le \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = (x \<le> y)"
+ and "lless \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = (x < y)"
proof -
- show "partial_order \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr>"
+ show "partial_order \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr>"
by standard simp_all
- show "carrier \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> = UNIV"
+ show "carrier \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> = UNIV"
by simp
- show "le \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = (x \<le> y)"
+ show "le \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = (x \<le> y)"
by simp
- show "lless \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = (x < y)"
+ show "lless \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = (x < y)"
by (simp add: lless_def) auto
qed
interpretation int (* FIXME [unfolded UNIV] *) :
- lattice "\<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr>"
- rewrites "join \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = max x y"
- and "meet \<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr> x y = min x y"
+ lattice "\<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr>"
+ rewrites "join \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = max x y"
+ and "meet \<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr> x y = min x y"
proof -
- let ?Z = "\<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr>"
+ let ?Z = "\<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr>"
show "lattice ?Z"
apply unfold_locales
apply (simp add: least_def Upper_def)
@@ -214,7 +214,7 @@
qed
interpretation int (* [unfolded UNIV] *) :
- total_order "\<lparr>carrier = UNIV::int set, eq = op =, le = (op \<le>)\<rparr>"
+ total_order "\<lparr>carrier = UNIV::int set, eq = (=), le = (\<le>)\<rparr>"
by standard clarsimp
--- a/src/HOL/Algebra/Multiplicative_Group.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Multiplicative_Group.thy Wed Jan 10 15:25:09 2018 +0100
@@ -580,7 +580,7 @@
lemma mult_mult_of: "mult (mult_of R) = mult R"
by (simp add: mult_of_def)
-lemma nat_pow_mult_of: "op [^]\<^bsub>mult_of R\<^esub> = (op [^]\<^bsub>R\<^esub> :: _ \<Rightarrow> nat \<Rightarrow> _)"
+lemma nat_pow_mult_of: "([^]\<^bsub>mult_of R\<^esub>) = (([^]\<^bsub>R\<^esub>) :: _ \<Rightarrow> nat \<Rightarrow> _)"
by (simp add: mult_of_def fun_eq_iff nat_pow_def)
lemma one_mult_of: "\<one>\<^bsub>mult_of R\<^esub> = \<one>\<^bsub>R\<^esub>"
@@ -762,7 +762,7 @@
note mult_of_simps[simp]
have finite': "finite (carrier (mult_of R))" using finite by (rule finite_mult_of)
- interpret G:group "mult_of R" rewrites "op [^]\<^bsub>mult_of R\<^esub> = (op [^] :: _ \<Rightarrow> nat \<Rightarrow> _)" and "\<one>\<^bsub>mult_of R\<^esub> = \<one>"
+ interpret G:group "mult_of R" rewrites "([^]\<^bsub>mult_of R\<^esub>) = (([^]) :: _ \<Rightarrow> nat \<Rightarrow> _)" and "\<one>\<^bsub>mult_of R\<^esub> = \<one>"
by (rule field_mult_group) simp_all
from exists
@@ -826,7 +826,7 @@
have finite': "finite (carrier (mult_of R))" using finite by (rule finite_mult_of)
interpret G: group "mult_of R" rewrites
- "op [^]\<^bsub>mult_of R\<^esub> = (op [^] :: _ \<Rightarrow> nat \<Rightarrow> _)" and "\<one>\<^bsub>mult_of R\<^esub> = \<one>"
+ "([^]\<^bsub>mult_of R\<^esub>) = (([^]) :: _ \<Rightarrow> nat \<Rightarrow> _)" and "\<one>\<^bsub>mult_of R\<^esub> = \<one>"
by (rule field_mult_group) (simp_all add: fun_eq_iff nat_pow_def)
let ?N = "\<lambda> x . card {a \<in> carrier (mult_of R). group.ord (mult_of R) a = x}"
--- a/src/HOL/Algebra/Order.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Order.thy Wed Jan 10 15:25:09 2018 +0100
@@ -22,7 +22,7 @@
abbreviation inv_gorder :: "_ \<Rightarrow> 'a gorder" where
"inv_gorder L \<equiv>
\<lparr> carrier = carrier L,
- eq = op .=\<^bsub>L\<^esub>,
+ eq = (.=\<^bsub>L\<^esub>),
le = (\<lambda> x y. y \<sqsubseteq>\<^bsub>L \<^esub>x) \<rparr>"
lemma inv_gorder_inv:
@@ -591,7 +591,7 @@
subsection \<open>Partial orders where \<open>eq\<close> is the Equality\<close>
locale partial_order = weak_partial_order +
- assumes eq_is_equal: "op .= = op ="
+ assumes eq_is_equal: "(.=) = (=)"
begin
declare weak_le_antisym [rule del]
--- a/src/HOL/Algebra/QuotRing.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/QuotRing.thy Wed Jan 10 15:25:09 2018 +0100
@@ -115,7 +115,7 @@
text \<open>This is a ring homomorphism\<close>
-lemma (in ideal) rcos_ring_hom: "(op +> I) \<in> ring_hom R (R Quot I)"
+lemma (in ideal) rcos_ring_hom: "((+>) I) \<in> ring_hom R (R Quot I)"
apply (rule ring_hom_memI)
apply (simp add: FactRing_def a_rcosetsI[OF a_subset])
apply (simp add: FactRing_def rcoset_mult_add)
@@ -123,7 +123,7 @@
apply (simp add: FactRing_def)
done
-lemma (in ideal) rcos_ring_hom_ring: "ring_hom_ring R (R Quot I) (op +> I)"
+lemma (in ideal) rcos_ring_hom_ring: "ring_hom_ring R (R Quot I) ((+>) I)"
apply (rule ring_hom_ringI)
apply (rule is_ring, rule quotient_is_ring)
apply (simp add: FactRing_def a_rcosetsI[OF a_subset])
@@ -151,7 +151,7 @@
text \<open>Cosets as a ring homomorphism on crings\<close>
lemma (in ideal) rcos_ring_hom_cring:
assumes "cring R"
- shows "ring_hom_cring R (R Quot I) (op +> I)"
+ shows "ring_hom_cring R (R Quot I) ((+>) I)"
proof -
interpret cring R by fact
show ?thesis
@@ -203,7 +203,7 @@
text \<open>Generating right cosets of a prime ideal is a homomorphism
on commutative rings\<close>
-lemma (in primeideal) rcos_ring_hom_cring: "ring_hom_cring R (R Quot I) (op +> I)"
+lemma (in primeideal) rcos_ring_hom_cring: "ring_hom_cring R (R Quot I) ((+>) I)"
by (rule rcos_ring_hom_cring) (rule is_cring)
--- a/src/HOL/Algebra/Sylow.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/Sylow.thy Wed Jan 10 15:25:09 2018 +0100
@@ -80,7 +80,7 @@
proof
show "inj_on (\<lambda>z\<in>H. m1 \<otimes> z) H"
by (simp add: inj_on_def l_cancel [of m1 x y, THEN iffD1] H_def m1)
- show "restrict (op \<otimes> m1) H \<in> H \<rightarrow> M1"
+ show "restrict ((\<otimes>) m1) H \<in> H \<rightarrow> M1"
proof (rule restrictI)
fix z
assume zH: "z \<in> H"
--- a/src/HOL/Algebra/UnivPoly.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Algebra/UnivPoly.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1808,7 +1808,7 @@
definition
INTEG :: "int ring"
- where "INTEG = \<lparr>carrier = UNIV, mult = op *, one = 1, zero = 0, add = (op +)\<rparr>"
+ where "INTEG = \<lparr>carrier = UNIV, mult = ( * ), one = 1, zero = 0, add = (+)\<rparr>"
lemma INTEG_cring: "cring INTEG"
by (unfold INTEG_def) (auto intro!: cringI abelian_groupI comm_monoidI
--- a/src/HOL/Analysis/Ball_Volume.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Ball_Volume.thy Wed Jan 10 15:25:09 2018 +0100
@@ -144,7 +144,7 @@
(auto simp: mult_ac ennreal_mult' [symmetric] indicator_def intro!: nn_integral_cong)
also have "(\<integral>\<^sup>+ (y::real). indicator {-r..r} y * (sqrt (r ^ 2 - y ^ 2)) ^ card A \<partial>lborel) =
(\<integral>\<^sup>+ (y::real). r ^ card A * indicator {-1..1} y * (sqrt (1 - y ^ 2)) ^ card A
- \<partial>(distr lborel borel (op * (1/r))))" using \<open>r > 0\<close>
+ \<partial>(distr lborel borel (( * ) (1/r))))" using \<open>r > 0\<close>
by (subst nn_integral_distr)
(auto simp: indicator_def field_simps real_sqrt_divide intro!: nn_integral_cong)
also have "\<dots> = (\<integral>\<^sup>+ x. ennreal (r ^ Suc (card A)) *
--- a/src/HOL/Analysis/Binary_Product_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Binary_Product_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -163,7 +163,7 @@
lemma measurable_split_conv:
"(\<lambda>(x, y). f x y) \<in> measurable A B \<longleftrightarrow> (\<lambda>x. f (fst x) (snd x)) \<in> measurable A B"
- by (intro arg_cong2[where f="op \<in>"]) auto
+ by (intro arg_cong2[where f="(\<in>)"]) auto
lemma measurable_pair_swap': "(\<lambda>(x,y). (y, x)) \<in> measurable (M1 \<Otimes>\<^sub>M M2) (M2 \<Otimes>\<^sub>M M1)"
by (auto intro!: measurable_Pair simp: measurable_split_conv)
--- a/src/HOL/Analysis/Bochner_Integration.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Bochner_Integration.thy Wed Jan 10 15:25:09 2018 +0100
@@ -497,7 +497,7 @@
have "ennreal (norm (?s - ?t)) = norm (simple_bochner_integral M (\<lambda>x. s x - t x))"
using s t by (subst simple_bochner_integral_diff) auto
also have "\<dots> \<le> simple_bochner_integral M (\<lambda>x. norm (s x - t x))"
- using simple_bochner_integrable_compose2[of "op -" M "s" "t"] s t
+ using simple_bochner_integrable_compose2[of "(-)" M "s" "t"] s t
by (auto intro!: simple_bochner_integral_norm_bound)
also have "\<dots> = (\<integral>\<^sup>+x. norm (s x - t x) \<partial>M)"
using simple_bochner_integrable_compose2[of "\<lambda>x y. norm (x - y)" M "s" "t"] s t
@@ -1855,7 +1855,7 @@
have sf[measurable]: "\<And>i. simple_function M (s' i)"
unfolding s'_def using s(1)
- by (intro simple_function_compose2[where h="op *\<^sub>R"] simple_function_indicator) auto
+ by (intro simple_function_compose2[where h="( *\<^sub>R)"] simple_function_indicator) auto
{ fix i
have "\<And>z. {y. s' i z = y \<and> y \<in> s' i ` space M \<and> y \<noteq> 0 \<and> z \<in> space M} =
@@ -2282,7 +2282,7 @@
shows "integrable (density M g) f \<longleftrightarrow> integrable M (\<lambda>x. g x *\<^sub>R f x)"
unfolding integrable_iff_bounded using nn
apply (simp add: nn_integral_density less_top[symmetric])
- apply (intro arg_cong2[where f="op ="] refl nn_integral_cong_AE)
+ apply (intro arg_cong2[where f="(=)"] refl nn_integral_cong_AE)
apply (auto simp: ennreal_mult)
done
--- a/src/HOL/Analysis/Borel_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Borel_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -110,8 +110,8 @@
show "eventually (\<lambda>h. (f (x + h) - f x) / h \<ge> 0) (at 0)"
proof (subst eventually_at_topological, intro exI conjI ballI impI)
have "open (interior A)" by simp
- hence "open (op + (-x) ` interior A)" by (rule open_translation)
- also have "(op + (-x) ` interior A) = ?A'" by auto
+ hence "open ((+) (-x) ` interior A)" by (rule open_translation)
+ also have "((+) (-x) ` interior A) = ?A'" by auto
finally show "open ?A'" .
next
from \<open>x \<in> interior A\<close> show "0 \<in> ?A'" by auto
@@ -1701,7 +1701,7 @@
definition [simp]: "is_borel f M \<longleftrightarrow> f \<in> borel_measurable M"
-lemma is_borel_transfer[transfer_rule]: "rel_fun (rel_fun op = pcr_ennreal) op = is_borel is_borel"
+lemma is_borel_transfer[transfer_rule]: "rel_fun (rel_fun (=) pcr_ennreal) (=) is_borel is_borel"
unfolding is_borel_def[abs_def]
proof (safe intro!: rel_funI ext dest!: rel_fun_eq_pcr_ennreal[THEN iffD1])
fix f and M :: "'a measure"
--- a/src/HOL/Analysis/Bounded_Linear_Function.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Bounded_Linear_Function.thy Wed Jan 10 15:25:09 2018 +0100
@@ -569,7 +569,7 @@
qed (auto simp: assms intro!: blinfun.comp)
lemma transfer_bounded_bilinear_bounded_linear[transfer_rule]:
- "(rel_fun (rel_fun op = (pcr_blinfun op = op =)) op =) bounded_bilinear bounded_linear"
+ "(rel_fun (rel_fun (=) (pcr_blinfun (=) (=))) (=)) bounded_bilinear bounded_linear"
by (auto simp: pcr_blinfun_def cr_blinfun_def rel_fun_def OO_def
intro!: transfer_bounded_bilinear_bounded_linearI)
@@ -623,7 +623,7 @@
lift_definition blinfun_compose::
"'a::real_normed_vector \<Rightarrow>\<^sub>L 'b::real_normed_vector \<Rightarrow>
'c::real_normed_vector \<Rightarrow>\<^sub>L 'a \<Rightarrow>
- 'c \<Rightarrow>\<^sub>L 'b" (infixl "o\<^sub>L" 55) is "op o"
+ 'c \<Rightarrow>\<^sub>L 'b" (infixl "o\<^sub>L" 55) is "(o)"
parametric comp_transfer
unfolding o_def
by (rule bounded_linear_compose)
@@ -635,7 +635,7 @@
"norm (f o\<^sub>L g) \<le> norm f * norm g"
by transfer (rule onorm_compose)
-lemma bounded_bilinear_blinfun_compose[bounded_bilinear]: "bounded_bilinear op o\<^sub>L"
+lemma bounded_bilinear_blinfun_compose[bounded_bilinear]: "bounded_bilinear (o\<^sub>L)"
by unfold_locales
(auto intro!: blinfun_eqI exI[where x=1] simp: blinfun.bilinear_simps norm_blinfun_compose)
@@ -645,7 +645,7 @@
by (auto simp: blinfun.bilinear_simps intro!: blinfun_eqI)
-lift_definition blinfun_inner_right::"'a::real_inner \<Rightarrow> 'a \<Rightarrow>\<^sub>L real" is "op \<bullet>"
+lift_definition blinfun_inner_right::"'a::real_inner \<Rightarrow> 'a \<Rightarrow>\<^sub>L real" is "(\<bullet>)"
by (rule bounded_linear_inner_right)
declare blinfun_inner_right.rep_eq[simp]
@@ -661,7 +661,7 @@
by transfer (rule bounded_bilinear.flip[OF bounded_bilinear_inner])
-lift_definition blinfun_scaleR_right::"real \<Rightarrow> 'a \<Rightarrow>\<^sub>L 'a::real_normed_vector" is "op *\<^sub>R"
+lift_definition blinfun_scaleR_right::"real \<Rightarrow> 'a \<Rightarrow>\<^sub>L 'a::real_normed_vector" is "( *\<^sub>R)"
by (rule bounded_linear_scaleR_right)
declare blinfun_scaleR_right.rep_eq[simp]
@@ -677,7 +677,7 @@
by transfer (rule bounded_bilinear.flip[OF bounded_bilinear_scaleR])
-lift_definition blinfun_mult_right::"'a \<Rightarrow> 'a \<Rightarrow>\<^sub>L 'a::real_normed_algebra" is "op *"
+lift_definition blinfun_mult_right::"'a \<Rightarrow> 'a \<Rightarrow>\<^sub>L 'a::real_normed_algebra" is "( * )"
by (rule bounded_linear_mult_right)
declare blinfun_mult_right.rep_eq[simp]
--- a/src/HOL/Analysis/Brouwer_Fixpoint.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Brouwer_Fixpoint.thy Wed Jan 10 15:25:09 2018 +0100
@@ -146,7 +146,7 @@
by (subst card_Un_disjoint[symmetric])
(auto simp: nF_def intro!: sum.cong arg_cong[where f=card])
also have "\<dots> = 1 * card {f\<in>F. compo' f \<and> bnd f} + 2 * card {f\<in>F. compo' f \<and> \<not> bnd f}"
- using assms(4,5) by (fastforce intro!: arg_cong2[where f="op +"] sum_multicount)
+ using assms(4,5) by (fastforce intro!: arg_cong2[where f="(+)"] sum_multicount)
finally have "odd ((\<Sum>s | s \<in> S \<and> \<not> compo s. nF s) + card {s\<in>S. compo s})"
using assms(6,8) by simp
moreover have "(\<Sum>s | s \<in> S \<and> \<not> compo s. nF s) =
@@ -4221,13 +4221,13 @@
show "ANR (C \<inter> \<Union>\<U>)"
unfolding Int_Union
proof (rule Suc)
- show "finite (op \<inter> C ` \<U>)"
+ show "finite ((\<inter>) C ` \<U>)"
by (simp add: insert.hyps(1))
- show "\<And>Ca. Ca \<in> op \<inter> C ` \<U> \<Longrightarrow> closed Ca"
+ show "\<And>Ca. Ca \<in> (\<inter>) C ` \<U> \<Longrightarrow> closed Ca"
by (metis (no_types, hide_lams) Suc.prems(2) closed_Int subsetD imageE insert.prems insertI1 insertI2)
- show "\<And>Ca. Ca \<in> op \<inter> C ` \<U> \<Longrightarrow> convex Ca"
+ show "\<And>Ca. Ca \<in> (\<inter>) C ` \<U> \<Longrightarrow> convex Ca"
by (metis (mono_tags, lifting) Suc.prems(3) convex_Int imageE insert.prems insert_subset subsetCE)
- show "card (op \<inter> C ` \<U>) < n"
+ show "card ((\<inter>) C ` \<U>) < n"
proof -
have "card \<T> \<le> n"
by (meson Suc.prems(4) not_less not_less_eq)
--- a/src/HOL/Analysis/Cartesian_Euclidean_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Cartesian_Euclidean_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -39,7 +39,7 @@
instantiation vec :: (times, finite) times
begin
-definition "op * \<equiv> (\<lambda> x y. (\<chi> i. (x$i) * (y$i)))"
+definition "( * ) \<equiv> (\<lambda> x y. (\<chi> i. (x$i) * (y$i)))"
instance ..
end
@@ -714,9 +714,9 @@
unfolding matrix_vector_mul_assoc B matrix_vector_mul_lid . }
moreover
{ assume A: "\<forall>x y. A *v x = A *v y \<longrightarrow> x = y"
- hence i: "inj (op *v A)" unfolding inj_on_def by auto
+ hence i: "inj (( *v) A)" unfolding inj_on_def by auto
from linear_injective_left_inverse[OF matrix_vector_mul_linear i]
- obtain g where g: "linear g" "g \<circ> op *v A = id" by blast
+ obtain g where g: "linear g" "g \<circ> ( *v) A = id" by blast
have "matrix g ** A = mat 1"
unfolding matrix_eq matrix_vector_mul_lid matrix_vector_mul_assoc[symmetric] matrix_works[OF g(1)]
using g(2) by (simp add: fun_eq_iff)
@@ -738,11 +738,11 @@
{ fix x :: "real ^ 'm"
have "A *v (B *v x) = x"
by (simp add: matrix_vector_mul_lid matrix_vector_mul_assoc AB) }
- hence "surj (op *v A)" unfolding surj_def by metis }
+ hence "surj (( *v) A)" unfolding surj_def by metis }
moreover
- { assume sf: "surj (op *v A)"
+ { assume sf: "surj (( *v) A)"
from linear_surjective_right_inverse[OF matrix_vector_mul_linear sf]
- obtain g:: "real ^'m \<Rightarrow> real ^'n" where g: "linear g" "op *v A \<circ> g = id"
+ obtain g:: "real ^'m \<Rightarrow> real ^'n" where g: "linear g" "( *v) A \<circ> g = id"
by blast
have "A ** (matrix g) = mat 1"
@@ -878,7 +878,7 @@
proof -
{ fix A A' :: "real ^'n^'n"
assume AA': "A ** A' = mat 1"
- have sA: "surj (op *v A)"
+ have sA: "surj (( *v) A)"
unfolding surj_def
apply clarify
apply (rule_tac x="(A' *v y)" in exI)
@@ -1235,7 +1235,7 @@
where "finite s" "cbox (x - (\<chi> i. d)) (x + (\<chi> i. d)) = convex hull s"
proof -
from assms obtain s where "finite s"
- and "cbox (x - sum (op *\<^sub>R d) Basis) (x + sum (op *\<^sub>R d) Basis) = convex hull s"
+ and "cbox (x - sum (( *\<^sub>R) d) Basis) (x + sum (( *\<^sub>R) d) Basis) = convex hull s"
by (rule cube_convex_hull)
with that[of s] show thesis
by (simp add: const_vector_cart)
--- a/src/HOL/Analysis/Cauchy_Integral_Theorem.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Cauchy_Integral_Theorem.thy Wed Jan 10 15:25:09 2018 +0100
@@ -236,7 +236,7 @@
lemma continuous_on_joinpaths_D1:
"continuous_on {0..1} (g1 +++ g2) \<Longrightarrow> continuous_on {0..1} g1"
- apply (rule continuous_on_eq [of _ "(g1 +++ g2) o (op*(inverse 2))"])
+ apply (rule continuous_on_eq [of _ "(g1 +++ g2) o (( * )(inverse 2))"])
apply (rule continuous_intros | simp)+
apply (auto elim!: continuous_on_subset simp: joinpaths_def)
done
@@ -251,10 +251,10 @@
lemma piecewise_differentiable_D1:
"(g1 +++ g2) piecewise_differentiable_on {0..1} \<Longrightarrow> g1 piecewise_differentiable_on {0..1}"
apply (clarsimp simp add: piecewise_differentiable_on_def dest!: continuous_on_joinpaths_D1)
- apply (rule_tac x="insert 1 ((op*2)`s)" in exI)
+ apply (rule_tac x="insert 1 ((( * )2)`s)" in exI)
apply simp
apply (intro ballI)
- apply (rule_tac d="dist (x/2) (1/2)" and f = "(g1 +++ g2) o (op*(inverse 2))"
+ apply (rule_tac d="dist (x/2) (1/2)" and f = "(g1 +++ g2) o (( * )(inverse 2))"
in differentiable_transform_within)
apply (auto simp: dist_real_def joinpaths_def)
apply (rule differentiable_chain_within derivative_intros | simp)+
@@ -537,40 +537,40 @@
and co12: "continuous_on ({0..1} - s) (\<lambda>x. vector_derivative (g1 +++ g2) (at x))"
and g12D: "\<forall>x\<in>{0..1} - s. g1 +++ g2 differentiable at x"
using assms by (auto simp: piecewise_C1_differentiable_on_def C1_differentiable_on_eq)
- then have g1D: "g1 differentiable at x" if "x \<in> {0..1} - insert 1 (op * 2 ` s)" for x
- apply (rule_tac d="dist (x/2) (1/2)" and f = "(g1 +++ g2) o (op*(inverse 2))" in differentiable_transform_within)
+ then have g1D: "g1 differentiable at x" if "x \<in> {0..1} - insert 1 (( * ) 2 ` s)" for x
+ apply (rule_tac d="dist (x/2) (1/2)" and f = "(g1 +++ g2) o (( * )(inverse 2))" in differentiable_transform_within)
using that
apply (simp_all add: dist_real_def joinpaths_def)
apply (rule differentiable_chain_at derivative_intros | force)+
done
- have [simp]: "vector_derivative (g1 \<circ> op * 2) (at (x/2)) = 2 *\<^sub>R vector_derivative g1 (at x)"
- if "x \<in> {0..1} - insert 1 (op * 2 ` s)" for x
+ have [simp]: "vector_derivative (g1 \<circ> ( * ) 2) (at (x/2)) = 2 *\<^sub>R vector_derivative g1 (at x)"
+ if "x \<in> {0..1} - insert 1 (( * ) 2 ` s)" for x
apply (subst vector_derivative_chain_at)
using that
apply (rule derivative_eq_intros g1D | simp)+
done
have "continuous_on ({0..1/2} - insert (1/2) s) (\<lambda>x. vector_derivative (g1 +++ g2) (at x))"
using co12 by (rule continuous_on_subset) force
- then have coDhalf: "continuous_on ({0..1/2} - insert (1/2) s) (\<lambda>x. vector_derivative (g1 o op*2) (at x))"
+ then have coDhalf: "continuous_on ({0..1/2} - insert (1/2) s) (\<lambda>x. vector_derivative (g1 o ( * )2) (at x))"
apply (rule continuous_on_eq [OF _ vector_derivative_at])
- apply (rule_tac f="g1 o op*2" and d="dist x (1/2)" in has_vector_derivative_transform_within)
+ apply (rule_tac f="g1 o ( * )2" and d="dist x (1/2)" in has_vector_derivative_transform_within)
apply (simp_all add: dist_norm joinpaths_def vector_derivative_works [symmetric])
apply (force intro: g1D differentiable_chain_at)
apply auto
done
- have "continuous_on ({0..1} - insert 1 (op * 2 ` s))
- ((\<lambda>x. 1/2 * vector_derivative (g1 o op*2) (at x)) o op*(1/2))"
+ have "continuous_on ({0..1} - insert 1 (( * ) 2 ` s))
+ ((\<lambda>x. 1/2 * vector_derivative (g1 o ( * )2) (at x)) o ( * )(1/2))"
apply (rule continuous_intros)+
using coDhalf
apply (simp add: scaleR_conv_of_real image_set_diff image_image)
done
- then have con_g1: "continuous_on ({0..1} - insert 1 (op * 2 ` s)) (\<lambda>x. vector_derivative g1 (at x))"
+ then have con_g1: "continuous_on ({0..1} - insert 1 (( * ) 2 ` s)) (\<lambda>x. vector_derivative g1 (at x))"
by (rule continuous_on_eq) (simp add: scaleR_conv_of_real)
have "continuous_on {0..1} g1"
using continuous_on_joinpaths_D1 assms piecewise_C1_differentiable_on_def by blast
with \<open>finite s\<close> show ?thesis
apply (clarsimp simp add: piecewise_C1_differentiable_on_def C1_differentiable_on_eq)
- apply (rule_tac x="insert 1 ((op*2)`s)" in exI)
+ apply (rule_tac x="insert 1 ((( * )2)`s)" in exI)
apply (simp add: g1D con_g1)
done
qed
@@ -785,7 +785,7 @@
proof -
obtain s where "finite s" "g C1_differentiable_on ({0..1} - s)"
using assms by (auto simp: valid_path_def piecewise_C1_differentiable_on_def)
- then have "finite (op - 1 ` s)" "(reversepath g C1_differentiable_on ({0..1} - op - 1 ` s))"
+ then have "finite ((-) 1 ` s)" "(reversepath g C1_differentiable_on ({0..1} - (-) 1 ` s))"
apply (auto simp: reversepath_def)
apply (rule C1_differentiable_compose [of "\<lambda>x::real. 1-x" _ g, unfolded o_def])
apply (auto simp: C1_differentiable_on_eq)
@@ -805,7 +805,7 @@
shows "(f has_contour_integral (-i)) (reversepath g)"
proof -
{ fix s x
- assume xs: "g C1_differentiable_on ({0..1} - s)" "x \<notin> op - 1 ` s" "0 \<le> x" "x \<le> 1"
+ assume xs: "g C1_differentiable_on ({0..1} - s)" "x \<notin> (-) 1 ` s" "0 \<le> x" "x \<le> 1"
have "vector_derivative (\<lambda>x. g (1 - x)) (at x within {0..1}) =
- vector_derivative g (at (1 - x) within {0..1})"
proof -
@@ -870,7 +870,7 @@
using assms
apply (auto simp: valid_path_def piecewise_C1_differentiable_on_def continuous_on_joinpaths)
apply (rule continuous_intros | simp)+
- apply (force intro: finite_vimageI [where h = "op*2"] inj_onI)
+ apply (force intro: finite_vimageI [where h = "( * )2"] inj_onI)
done
moreover have "(g2 o (\<lambda>x. 2*x-1)) piecewise_C1_differentiable_on {1/2..1}"
apply (rule piecewise_C1_differentiable_compose)
@@ -941,9 +941,9 @@
apply (auto simp: algebra_simps vector_derivative_works)
done
have "((\<lambda>x. f ((g1 +++ g2) x) * vector_derivative (g1 +++ g2) (at x)) has_integral i1) {0..1/2}"
- apply (rule has_integral_spike_finite [OF _ _ i1, of "insert (1/2) (op*2 -` s1)"])
+ apply (rule has_integral_spike_finite [OF _ _ i1, of "insert (1/2) (( * )2 -` s1)"])
using s1
- apply (force intro: finite_vimageI [where h = "op*2"] inj_onI)
+ apply (force intro: finite_vimageI [where h = "( * )2"] inj_onI)
apply (clarsimp simp add: joinpaths_def scaleR_conv_of_real mult_ac g1)
done
moreover have "((\<lambda>x. f ((g1 +++ g2) x) * vector_derivative (g1 +++ g2) (at x)) has_integral i2) {1/2..1}"
@@ -1437,7 +1437,7 @@
by (simp add: has_vector_derivative_def scaleR_conv_of_real)
have "(f has_field_derivative (f' (g x))) (at (g x) within g ` {a..b})"
using assms by (metis a atLeastAtMost_iff b DERIV_subset image_subset_iff less_eq_real_def)
- then have fdiff: "(f has_derivative op * (f' (g x))) (at (g x) within g ` {a..b})"
+ then have fdiff: "(f has_derivative ( * ) (f' (g x))) (at (g x) within g ` {a..b})"
by (simp add: has_field_derivative_def)
have "((\<lambda>x. f (g x)) has_vector_derivative f' (g x) * vector_derivative g (at x within {a..b})) (at x within {a..b})"
using diff_chain_within [OF gdiff fdiff]
@@ -3589,11 +3589,11 @@
assumes \<gamma>: "valid_path \<gamma>" and 0: "0 \<notin> path_image \<gamma>"
shows "winding_number(uminus \<circ> \<gamma>) 0 = winding_number \<gamma> 0"
proof -
- have "op / 1 contour_integrable_on \<gamma>"
+ have "(/) 1 contour_integrable_on \<gamma>"
using "0" \<gamma> contour_integrable_inversediff by fastforce
- then have "((\<lambda>z. 1/z) has_contour_integral contour_integral \<gamma> (op / 1)) \<gamma>"
+ then have "((\<lambda>z. 1/z) has_contour_integral contour_integral \<gamma> ((/) 1)) \<gamma>"
by (rule has_contour_integral_integral)
- then have "((\<lambda>z. 1 / - z) has_contour_integral - contour_integral \<gamma> (op / 1)) \<gamma>"
+ then have "((\<lambda>z. 1 / - z) has_contour_integral - contour_integral \<gamma> ((/) 1)) \<gamma>"
using has_contour_integral_neg by auto
then show ?thesis
using assms
@@ -5914,7 +5914,7 @@
case 0 then show ?case by simp
next
case (Suc n z)
- have holo0: "f holomorphic_on op * u ` s"
+ have holo0: "f holomorphic_on ( * ) u ` s"
by (meson fg f holomorphic_on_subset image_subset_iff)
have holo1: "(\<lambda>w. f (u * w)) holomorphic_on s"
apply (rule holomorphic_on_compose [where g=f, unfolded o_def])
@@ -5942,7 +5942,7 @@
apply (blast intro: fg)
done
also have "... = u * u ^ n * deriv ((deriv ^^ n) f) (u * z)"
- apply (subst complex_derivative_chain [where g = "(deriv ^^ n) f" and f = "op* u", unfolded o_def])
+ apply (subst complex_derivative_chain [where g = "(deriv ^^ n) f" and f = "( * ) u", unfolded o_def])
apply (rule derivative_intros)
using Suc.prems field_differentiable_def f fg has_field_derivative_higher_deriv t apply blast
apply (simp add: deriv_linear)
--- a/src/HOL/Analysis/Complex_Analysis_Basics.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Complex_Analysis_Basics.thy Wed Jan 10 15:25:09 2018 +0100
@@ -16,7 +16,7 @@
lemma has_derivative_mult_right:
fixes c:: "'a :: real_normed_algebra"
- shows "((op * c) has_derivative (op * c)) F"
+ shows "((( * ) c) has_derivative (( * ) c)) F"
by (rule has_derivative_mult_right [OF has_derivative_id])
lemma has_derivative_of_real[derivative_intros, simp]:
@@ -25,7 +25,7 @@
lemma has_vector_derivative_real_field:
"DERIV f (of_real a) :> f' \<Longrightarrow> ((\<lambda>x. f (of_real x)) has_vector_derivative f') (at a within s)"
- using has_derivative_compose[of of_real of_real a _ f "op * f'"]
+ using has_derivative_compose[of of_real of_real a _ f "( * ) f'"]
by (simp add: scaleR_conv_of_real ac_simps has_vector_derivative_def has_field_derivative_def)
lemmas has_vector_derivative_real_complex = has_vector_derivative_real_field
@@ -69,10 +69,10 @@
shows "b \<le> Im(l)"
by (metis assms tendsto_le [OF _ _ tendsto_const] tendsto_Im)
-lemma lambda_zero: "(\<lambda>h::'a::mult_zero. 0) = op * 0"
+lemma lambda_zero: "(\<lambda>h::'a::mult_zero. 0) = ( * ) 0"
by auto
-lemma lambda_one: "(\<lambda>x::'a::monoid_mult. x) = op * 1"
+lemma lambda_one: "(\<lambda>x::'a::monoid_mult. x) = ( * ) 1"
by auto
lemma continuous_mult_left:
@@ -315,7 +315,7 @@
lemma holomorphic_cong: "s = t ==> (\<And>x. x \<in> s \<Longrightarrow> f x = g x) \<Longrightarrow> f holomorphic_on s \<longleftrightarrow> g holomorphic_on t"
by (metis holomorphic_transform)
-lemma holomorphic_on_linear [simp, holomorphic_intros]: "(op * c) holomorphic_on s"
+lemma holomorphic_on_linear [simp, holomorphic_intros]: "(( * ) c) holomorphic_on s"
unfolding holomorphic_on_def by (metis field_differentiable_linear)
lemma holomorphic_on_const [simp, holomorphic_intros]: "(\<lambda>z. c) holomorphic_on s"
@@ -570,7 +570,7 @@
finally show ?thesis .
qed
-lemma analytic_on_linear [analytic_intros,simp]: "(op * c) analytic_on s"
+lemma analytic_on_linear [analytic_intros,simp]: "(( * ) c) analytic_on s"
by (auto simp add: analytic_on_holomorphic)
lemma analytic_on_const [analytic_intros,simp]: "(\<lambda>z. c) analytic_on s"
@@ -839,7 +839,7 @@
show ?thesis
unfolding has_field_derivative_def
proof (rule has_derivative_sequence [OF cvs _ _ x])
- show "\<forall>n. \<forall>x\<in>s. (f n has_derivative (op * (f' n x))) (at x within s)"
+ show "\<forall>n. \<forall>x\<in>s. (f n has_derivative (( * ) (f' n x))) (at x within s)"
by (metis has_field_derivative_def df)
next show "(\<lambda>n. f n x) \<longlonglongrightarrow> l"
by (rule tf)
@@ -906,9 +906,9 @@
then obtain g where g: "\<And>x. x \<in> s \<Longrightarrow> (\<lambda>n. f n x) sums g x"
"\<And>x. x \<in> s \<Longrightarrow> (g has_field_derivative g' x) (at x within s)" by blast
from g[OF x] show "summable (\<lambda>n. f n x)" by (auto simp: summable_def)
- from g(2)[OF x] have g': "(g has_derivative op * (g' x)) (at x)"
+ from g(2)[OF x] have g': "(g has_derivative ( * ) (g' x)) (at x)"
by (simp add: has_field_derivative_def s)
- have "((\<lambda>x. \<Sum>n. f n x) has_derivative op * (g' x)) (at x)"
+ have "((\<lambda>x. \<Sum>n. f n x) has_derivative ( * ) (g' x)) (at x)"
by (rule has_derivative_transform_within_open[OF g' \<open>open s\<close> x])
(insert g, auto simp: sums_iff)
thus "(\<lambda>x. \<Sum>n. f n x) field_differentiable (at x)" unfolding differentiable_def
--- a/src/HOL/Analysis/Conformal_Mappings.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Conformal_Mappings.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1141,10 +1141,10 @@
done
with \<open>e>0\<close> show ?thesis by force
qed
- have "inj (op * (deriv f \<xi>))"
+ have "inj (( * ) (deriv f \<xi>))"
using dnz by simp
- then obtain g' where g': "linear g'" "g' \<circ> op * (deriv f \<xi>) = id"
- using linear_injective_left_inverse [of "op * (deriv f \<xi>)"]
+ then obtain g' where g': "linear g'" "g' \<circ> ( * ) (deriv f \<xi>) = id"
+ using linear_injective_left_inverse [of "( * ) (deriv f \<xi>)"]
by (auto simp: linear_times)
show ?thesis
apply (rule has_derivative_locally_injective [OF S, where f=f and f' = "\<lambda>z h. deriv f z * h" and g' = g'])
@@ -2093,10 +2093,10 @@
apply (simp add: C_def False fo)
apply (simp add: derivative_intros dfa complex_derivative_chain)
done
- have sb1: "op * (C * r) ` (\<lambda>z. f (a + of_real r * z) / (C * r)) ` ball 0 1
+ have sb1: "( * ) (C * r) ` (\<lambda>z. f (a + of_real r * z) / (C * r)) ` ball 0 1
\<subseteq> f ` ball a r"
using \<open>0 < r\<close> by (auto simp: dist_norm norm_mult C_def False)
- have sb2: "ball (C * r * b) r' \<subseteq> op * (C * r) ` ball b t"
+ have sb2: "ball (C * r * b) r' \<subseteq> ( * ) (C * r) ` ball b t"
if "1 / 12 < t" for b t
proof -
have *: "r * cmod (deriv f a) / 12 \<le> r * (t * cmod (deriv f a))"
@@ -2602,7 +2602,7 @@
by (metis DiffD2 Ints_cases insertI1 subset_eq valid_path_imp_path)
define p_circ where "p_circ \<equiv> circlepath p (h p)"
define p_circ_pt where "p_circ_pt \<equiv> linepath (p+h p) (p+h p)"
- define n_circ where "n_circ \<equiv> \<lambda>n. (op +++ p_circ ^^ n) p_circ_pt"
+ define n_circ where "n_circ \<equiv> \<lambda>n. ((+++) p_circ ^^ n) p_circ_pt"
define cp where "cp \<equiv> if n\<ge>0 then reversepath (n_circ (nat n)) else n_circ (nat (- n))"
have n_circ:"valid_path (n_circ k)"
"winding_number (n_circ k) p = k"
@@ -3861,7 +3861,7 @@
then show "h field_differentiable at (\<gamma> x)"
unfolding t_def field_differentiable_def by blast
qed
- then have " (op / 1 has_contour_integral 0) (h \<circ> \<gamma>)
+ then have " ((/) 1 has_contour_integral 0) (h \<circ> \<gamma>)
= ((\<lambda>x. deriv h x / h x) has_contour_integral 0) \<gamma>"
unfolding has_contour_integral
apply (intro has_integral_spike_eq[OF negligible_finite, OF \<open>finite spikes\<close>])
--- a/src/HOL/Analysis/Connected.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Connected.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2165,14 +2165,14 @@
unfolding dist_norm
using norm_scaleR[of c "(1 / c) *\<^sub>R y - x", unfolded scaleR_right_diff_distrib, unfolded scaleR_scaleR] assms(1)
assms(1)[unfolded zero_less_abs_iff[symmetric]] by (simp del:zero_less_abs_iff)
- then have "y \<in> op *\<^sub>R c ` s"
- using rev_image_eqI[of "(1 / c) *\<^sub>R y" s y "op *\<^sub>R c"]
+ then have "y \<in> ( *\<^sub>R) c ` s"
+ using rev_image_eqI[of "(1 / c) *\<^sub>R y" s y "( *\<^sub>R) c"]
using e[THEN spec[where x="(1 / c) *\<^sub>R y"]]
using assms(1)
unfolding dist_norm scaleR_scaleR
by auto
}
- ultimately have "\<exists>e>0. \<forall>x'. dist x' (c *\<^sub>R x) < e \<longrightarrow> x' \<in> op *\<^sub>R c ` s"
+ ultimately have "\<exists>e>0. \<forall>x'. dist x' (c *\<^sub>R x) < e \<longrightarrow> x' \<in> ( *\<^sub>R) c ` s"
apply (rule_tac x="e * \<bar>c\<bar>" in exI, auto)
done
}
@@ -2199,7 +2199,7 @@
have "continuous (at x) (\<lambda>x. x - a)"
by (intro continuous_diff continuous_ident continuous_const)
}
- moreover have "{x. x - a \<in> S} = op + a ` S"
+ moreover have "{x. x - a \<in> S} = (+) a ` S"
by force
ultimately show ?thesis
by (metis assms continuous_open_vimage vimage_def)
@@ -2212,10 +2212,10 @@
proof -
have *: "(\<lambda>x. a + c *\<^sub>R x) = (\<lambda>x. a + x) \<circ> (\<lambda>x. c *\<^sub>R x)"
unfolding o_def ..
- have "op + a ` op *\<^sub>R c ` S = (op + a \<circ> op *\<^sub>R c) ` S"
+ have "(+) a ` ( *\<^sub>R) c ` S = ((+) a \<circ> ( *\<^sub>R) c) ` S"
by auto
then show ?thesis
- using assms open_translation[of "op *\<^sub>R c ` S" a]
+ using assms open_translation[of "( *\<^sub>R) c ` S" a]
unfolding *
by auto
qed
@@ -2225,13 +2225,13 @@
shows "interior ((\<lambda>x. a + x) ` S) = (\<lambda>x. a + x) ` (interior S)"
proof (rule set_eqI, rule)
fix x
- assume "x \<in> interior (op + a ` S)"
- then obtain e where "e > 0" and e: "ball x e \<subseteq> op + a ` S"
+ assume "x \<in> interior ((+) a ` S)"
+ then obtain e where "e > 0" and e: "ball x e \<subseteq> (+) a ` S"
unfolding mem_interior by auto
then have "ball (x - a) e \<subseteq> S"
unfolding subset_eq Ball_def mem_ball dist_norm
by (auto simp: diff_diff_eq)
- then show "x \<in> op + a ` interior S"
+ then show "x \<in> (+) a ` interior S"
unfolding image_iff
apply (rule_tac x="x - a" in bexI)
unfolding mem_interior
@@ -2240,7 +2240,7 @@
done
next
fix x
- assume "x \<in> op + a ` interior S"
+ assume "x \<in> (+) a ` interior S"
then obtain y e where "e > 0" and e: "ball y e \<subseteq> S" and y: "x = a + y"
unfolding image_iff Bex_def mem_interior by auto
{
@@ -2251,12 +2251,12 @@
using e[unfolded subset_eq, THEN bspec[where x="z - a"]]
unfolding mem_ball dist_norm y group_add_class.diff_diff_eq2 *
by auto
- then have "z \<in> op + a ` S"
+ then have "z \<in> (+) a ` S"
unfolding image_iff by (auto intro!: bexI[where x="z - a"])
}
- then have "ball x e \<subseteq> op + a ` S"
+ then have "ball x e \<subseteq> (+) a ` S"
unfolding subset_eq by auto
- then show "x \<in> interior (op + a ` S)"
+ then show "x \<in> interior ((+) a ` S)"
unfolding mem_interior using \<open>e > 0\<close> by auto
qed
@@ -2574,7 +2574,7 @@
assumes "compact s"
shows "compact ((\<lambda>x. a + c *\<^sub>R x) ` s)"
proof -
- have "op + a ` op *\<^sub>R c ` s = (\<lambda>x. a + c *\<^sub>R x) ` s"
+ have "(+) a ` ( *\<^sub>R) c ` s = (\<lambda>x. a + c *\<^sub>R x) ` s"
by auto
then show ?thesis
using compact_translation[OF compact_scaling[OF assms], of a c] by auto
@@ -3007,7 +3007,7 @@
assumes "closed S"
shows "closed ((\<lambda>x. a + x) ` S)"
proof -
- have "(\<Union>x\<in> {a}. \<Union>y \<in> S. {x + y}) = (op + a ` S)" by auto
+ have "(\<Union>x\<in> {a}. \<Union>y \<in> S. {x + y}) = ((+) a ` S)" by auto
then show ?thesis
using compact_closed_sums[OF compact_sing[of a] assms] by auto
qed
@@ -3038,7 +3038,7 @@
fixes a :: "'a::real_normed_vector"
shows "closure ((\<lambda>x. a + x) ` s) = (\<lambda>x. a + x) ` (closure s)"
proof -
- have *: "op + a ` (- s) = - op + a ` s"
+ have *: "(+) a ` (- s) = - (+) a ` s"
apply auto
unfolding image_iff
apply (rule_tac x="x - a" in bexI, auto)
@@ -3058,7 +3058,7 @@
lemma sphere_translation:
fixes a :: "'n::euclidean_space"
- shows "sphere (a+c) r = op+ a ` sphere c r"
+ shows "sphere (a+c) r = (+) a ` sphere c r"
apply safe
apply (rule_tac x="x-a" in image_eqI)
apply (auto simp: dist_norm algebra_simps)
@@ -3066,7 +3066,7 @@
lemma cball_translation:
fixes a :: "'n::euclidean_space"
- shows "cball (a+c) r = op+ a ` cball c r"
+ shows "cball (a+c) r = (+) a ` cball c r"
apply safe
apply (rule_tac x="x-a" in image_eqI)
apply (auto simp: dist_norm algebra_simps)
@@ -3074,7 +3074,7 @@
lemma ball_translation:
fixes a :: "'n::euclidean_space"
- shows "ball (a+c) r = op+ a ` ball c r"
+ shows "ball (a+c) r = (+) a ` ball c r"
apply safe
apply (rule_tac x="x-a" in image_eqI)
apply (auto simp: dist_norm algebra_simps)
@@ -3420,7 +3420,7 @@
lemma homeomorphism_translation:
fixes a :: "'a :: real_normed_vector"
- shows "homeomorphism (op + a ` S) S (op + (- a)) (op + a)"
+ shows "homeomorphism ((+) a ` S) S ((+) (- a)) ((+) a)"
unfolding homeomorphism_def by (auto simp: algebra_simps continuous_intros)
lemma homeomorphism_ident: "homeomorphism T T (\<lambda>a. a) (\<lambda>a. a)"
@@ -3639,7 +3639,7 @@
assumes "c \<noteq> 0"
shows "s homeomorphic ((\<lambda>x. a + c *\<^sub>R x) ` s)"
proof -
- have *: "op + a ` op *\<^sub>R c ` s = (\<lambda>x. a + c *\<^sub>R x) ` s" by auto
+ have *: "(+) a ` ( *\<^sub>R) c ` s = (\<lambda>x. a + c *\<^sub>R x) ` s" by auto
show ?thesis
using homeomorphic_trans
using homeomorphic_scaling[OF assms, of s]
@@ -4540,9 +4540,9 @@
proof
show "countable ((\<lambda>C. S \<inter> C) ` \<C>)"
by (simp add: \<open>countable \<C>\<close>)
- show "\<And>C. C \<in> op \<inter> S ` \<C> \<Longrightarrow> openin (subtopology euclidean S) C"
+ show "\<And>C. C \<in> (\<inter>) S ` \<C> \<Longrightarrow> openin (subtopology euclidean S) C"
using ope by auto
- show "\<And>T. openin (subtopology euclidean S) T \<Longrightarrow> \<exists>\<U>\<subseteq>op \<inter> S ` \<C>. T = \<Union>\<U>"
+ show "\<And>T. openin (subtopology euclidean S) T \<Longrightarrow> \<exists>\<U>\<subseteq>(\<inter>) S ` \<C>. T = \<Union>\<U>"
by (metis \<C> image_mono inf_Sup openin_open)
qed
qed
--- a/src/HOL/Analysis/Convex_Euclidean_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Convex_Euclidean_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -124,7 +124,7 @@
by (rule ccontr) auto
lemma subset_translation_eq [simp]:
- fixes a :: "'a::real_vector" shows "op + a ` s \<subseteq> op + a ` t \<longleftrightarrow> s \<subseteq> t"
+ fixes a :: "'a::real_vector" shows "(+) a ` s \<subseteq> (+) a ` t \<longleftrightarrow> s \<subseteq> t"
by auto
lemma translate_inj_on:
@@ -714,7 +714,7 @@
assumes "convex S"
shows "convex ((\<lambda>x. a + c *\<^sub>R x) ` S)"
proof -
- have "(\<lambda>x. a + c *\<^sub>R x) ` S = op + a ` op *\<^sub>R c ` S"
+ have "(\<lambda>x. a + c *\<^sub>R x) ` S = (+) a ` ( *\<^sub>R) c ` S"
by auto
then show ?thesis
using convex_translation[OF convex_scaling[OF assms], of a c] by auto
@@ -1330,12 +1330,12 @@
lemma closure_scaleR:
fixes S :: "'a::real_normed_vector set"
- shows "(op *\<^sub>R c) ` (closure S) = closure ((op *\<^sub>R c) ` S)"
+ shows "(( *\<^sub>R) c) ` (closure S) = closure ((( *\<^sub>R) c) ` S)"
proof
- show "(op *\<^sub>R c) ` (closure S) \<subseteq> closure ((op *\<^sub>R c) ` S)"
+ show "(( *\<^sub>R) c) ` (closure S) \<subseteq> closure ((( *\<^sub>R) c) ` S)"
using bounded_linear_scaleR_right
by (rule closure_bounded_linear_image_subset)
- show "closure ((op *\<^sub>R c) ` S) \<subseteq> (op *\<^sub>R c) ` (closure S)"
+ show "closure ((( *\<^sub>R) c) ` S) \<subseteq> (( *\<^sub>R) c) ` (closure S)"
by (intro closure_minimal image_mono closure_subset closed_scaling closed_closure)
qed
@@ -2154,7 +2154,7 @@
lemma cone_iff:
assumes "S \<noteq> {}"
- shows "cone S \<longleftrightarrow> 0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (op *\<^sub>R c) ` S = S)"
+ shows "cone S \<longleftrightarrow> 0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (( *\<^sub>R) c) ` S = S)"
proof -
{
assume "cone S"
@@ -2164,7 +2164,7 @@
{
fix x
assume "x \<in> S"
- then have "x \<in> (op *\<^sub>R c) ` S"
+ then have "x \<in> (( *\<^sub>R) c) ` S"
unfolding image_def
using \<open>cone S\<close> \<open>c>0\<close> mem_cone[of S x "1/c"]
exI[of "(\<lambda>t. t \<in> S \<and> x = c *\<^sub>R t)" "(1 / c) *\<^sub>R x"]
@@ -2173,19 +2173,19 @@
moreover
{
fix x
- assume "x \<in> (op *\<^sub>R c) ` S"
+ assume "x \<in> (( *\<^sub>R) c) ` S"
then have "x \<in> S"
using \<open>cone S\<close> \<open>c > 0\<close>
unfolding cone_def image_def \<open>c > 0\<close> by auto
}
- ultimately have "(op *\<^sub>R c) ` S = S" by auto
+ ultimately have "(( *\<^sub>R) c) ` S = S" by auto
}
- then have "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (op *\<^sub>R c) ` S = S)"
+ then have "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (( *\<^sub>R) c) ` S = S)"
using \<open>cone S\<close> cone_contains_0[of S] assms by auto
}
moreover
{
- assume a: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (op *\<^sub>R c) ` S = S)"
+ assume a: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (( *\<^sub>R) c) ` S = S)"
{
fix x
assume "x \<in> S"
@@ -2271,9 +2271,9 @@
then show ?thesis by auto
next
case False
- then have "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> op *\<^sub>R c ` S = S)"
+ then have "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> ( *\<^sub>R) c ` S = S)"
using cone_iff[of S] assms by auto
- then have "0 \<in> closure S \<and> (\<forall>c. c > 0 \<longrightarrow> op *\<^sub>R c ` closure S = closure S)"
+ then have "0 \<in> closure S \<and> (\<forall>c. c > 0 \<longrightarrow> ( *\<^sub>R) c ` closure S = closure S)"
using closure_subset by (auto simp add: closure_scaleR)
then show ?thesis
using False cone_iff[of "closure S"] by auto
@@ -3344,7 +3344,7 @@
proof -
obtain x where x: "x \<in> S \<and> x \<in> affine hull (S - {x})"
using assms affine_dependent_def by auto
- have "op + a ` (S - {x}) = op + a ` S - {a + x}"
+ have "(+) a ` (S - {x}) = (+) a ` S - {a + x}"
by auto
then have "a + x \<in> affine hull ((\<lambda>x. a + x) ` S - {a + x})"
using affine_hull_translation[of a "S - {x}"] x by auto
@@ -3409,7 +3409,7 @@
assumes "a \<notin> S"
shows "affine_dependent (insert a S) \<longleftrightarrow> dependent ((\<lambda>x. -a + x) ` S)"
proof -
- have "(op + (- a) ` S) = {x - a| x . x : S}" by auto
+ have "((+) (- a) ` S) = {x - a| x . x : S}" by auto
then show ?thesis
using affine_dependent_translation_eq[of "(insert a S)" "-a"]
affine_dependent_imp_dependent2 assms
@@ -3448,7 +3448,7 @@
then have "insert 0 ((\<lambda>x. -a+x) ` (s - {a})) = (\<lambda>x. -a+x) ` s"
by auto
then have "span ((\<lambda>x. -a+x) ` (s - {a}))=span ((\<lambda>x. -a+x) ` s)"
- using span_insert_0[of "op + (- a) ` (s - {a})"] by (auto simp del: uminus_add_conv_diff)
+ using span_insert_0[of "(+) (- a) ` (s - {a})"] by (auto simp del: uminus_add_conv_diff)
moreover have "{x - a |x. x \<in> (s - {a})} = ((\<lambda>x. -a+x) ` (s - {a}))"
by auto
moreover have "insert a (s - {a}) = insert a s"
@@ -4024,14 +4024,14 @@
case False
then obtain c S' where "c \<notin> S'" "S = insert c S'"
by (meson equals0I mk_disjoint_insert)
- have "dim (op + (-c) ` S) < DIM('a)"
+ have "dim ((+) (-c) ` S) < DIM('a)"
by (metis \<open>S = insert c S'\<close> aff_dim_eq_dim assms hull_inc insertI1 of_nat_less_imp_less)
- then obtain a where "a \<noteq> 0" "span (op + (-c) ` S) \<subseteq> {x. a \<bullet> x = 0}"
+ then obtain a where "a \<noteq> 0" "span ((+) (-c) ` S) \<subseteq> {x. a \<bullet> x = 0}"
using lowdim_subset_hyperplane by blast
moreover
- have "a \<bullet> w = a \<bullet> c" if "span (op + (- c) ` S) \<subseteq> {x. a \<bullet> x = 0}" "w \<in> S" for w
+ have "a \<bullet> w = a \<bullet> c" if "span ((+) (- c) ` S) \<subseteq> {x. a \<bullet> x = 0}" "w \<in> S" for w
proof -
- have "w-c \<in> span (op + (- c) ` S)"
+ have "w-c \<in> span ((+) (- c) ` S)"
by (simp add: span_superset \<open>w \<in> S\<close>)
with that have "w-c \<in> {x. a \<bullet> x = 0}"
by blast
@@ -4235,7 +4235,7 @@
unfolding cball_def dist_norm by auto
then have "aff_dim (cball (0 :: 'n::euclidean_space) e) \<le> aff_dim (cball a e)"
using aff_dim_translation_eq[of a "cball 0 e"]
- aff_dim_subset[of "op + a ` cball 0 e" "cball a e"]
+ aff_dim_subset[of "(+) a ` cball 0 e" "cball a e"]
by auto
moreover have "aff_dim (cball (0 :: 'n::euclidean_space) e) = int (DIM('n))"
using hull_inc[of "(0 :: 'n::euclidean_space)" "cball 0 e"]
@@ -4805,7 +4805,7 @@
assume "S \<noteq> {}"
then obtain L where L: "subspace L" "affine_parallel S L"
using assms affine_parallel_subspace[of S] by auto
- then obtain a where a: "S = (op + a ` L)"
+ then obtain a where a: "S = ((+) a ` L)"
using affine_parallel_def[of L S] affine_parallel_commut by auto
from L have "closed L" using closed_subspace by auto
then have "closed S"
@@ -5000,7 +5000,7 @@
translation_assoc[of "-a" "a"]
by auto
then have "((\<lambda>x. a + x) ` rel_interior S) \<supseteq> rel_interior ((\<lambda>x. a + x) ` S)"
- using translation_inverse_subset[of a "rel_interior (op + a ` S)" "rel_interior S"]
+ using translation_inverse_subset[of a "rel_interior ((+) a ` S)" "rel_interior S"]
by auto
then show ?thesis
using rel_interior_translation_aux[of a S] by auto
@@ -5141,7 +5141,7 @@
shows "affine hull (insert 0 d) = {x::'a::euclidean_space. \<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0}"
(is "affine hull (insert 0 ?A) = ?B")
proof -
- have *: "\<And>A. op + (0::'a) ` A = A" "\<And>A. op + (- (0::'a)) ` A = A"
+ have *: "\<And>A. (+) (0::'a) ` A = A" "\<And>A. (+) (- (0::'a)) ` A = A"
by auto
show ?thesis
unfolding affine_hull_insert_span_gen span_substd_basis[OF assms,symmetric] * ..
@@ -5982,7 +5982,7 @@
unfolding k_def
proof (subst less_cSUP_iff)
show "T \<noteq> {}" by fact
- show "bdd_above (op \<bullet> a ` T)"
+ show "bdd_above ((\<bullet>) a ` T)"
using ab[rule_format, of y] \<open>y \<in> S\<close>
by (intro bdd_aboveI2[where M="inner a y - b"]) (auto simp: field_simps intro: less_imp_le)
qed (auto intro!: bexI[of _ x] \<open>0<b\<close>)
@@ -6073,7 +6073,7 @@
using assms(3-5) by fastforce
then have *: "\<And>x y. x \<in> t \<Longrightarrow> y \<in> s \<Longrightarrow> inner a y \<le> inner a x"
by (force simp add: inner_diff)
- then have bdd: "bdd_above ((op \<bullet> a)`s)"
+ then have bdd: "bdd_above (((\<bullet>) a)`s)"
using \<open>t \<noteq> {}\<close> by (auto intro: bdd_aboveI2[OF *])
show ?thesis
using \<open>a\<noteq>0\<close>
@@ -6209,19 +6209,19 @@
then show ?thesis by auto
next
case False
- then have *: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> op *\<^sub>R c ` S = S)"
+ then have *: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> ( *\<^sub>R) c ` S = S)"
using cone_iff[of S] assms by auto
{
fix c :: real
assume "c > 0"
- then have "op *\<^sub>R c ` (convex hull S) = convex hull (op *\<^sub>R c ` S)"
+ then have "( *\<^sub>R) c ` (convex hull S) = convex hull (( *\<^sub>R) c ` S)"
using convex_hull_scaling[of _ S] by auto
also have "\<dots> = convex hull S"
using * \<open>c > 0\<close> by auto
- finally have "op *\<^sub>R c ` (convex hull S) = convex hull S"
+ finally have "( *\<^sub>R) c ` (convex hull S) = convex hull S"
by auto
}
- then have "0 \<in> convex hull S" "\<And>c. c > 0 \<Longrightarrow> (op *\<^sub>R c ` (convex hull S)) = (convex hull S)"
+ then have "0 \<in> convex hull S" "\<And>c. c > 0 \<Longrightarrow> (( *\<^sub>R) c ` (convex hull S)) = (convex hull S)"
using * hull_subset[of S convex] by auto
then show ?thesis
using \<open>S \<noteq> {}\<close> cone_iff[of "convex hull S"] by auto
@@ -7030,7 +7030,7 @@
fixes a :: "'a::euclidean_space"
assumes "cbox a b \<noteq> {}"
shows "cbox a b =
- op + a ` (\<lambda>x. \<Sum>k\<in>Basis. ((b \<bullet> k - a \<bullet> k) * (x \<bullet> k)) *\<^sub>R k) ` cbox 0 One"
+ (+) a ` (\<lambda>x. \<Sum>k\<in>Basis. ((b \<bullet> k - a \<bullet> k) * (x \<bullet> k)) *\<^sub>R k) ` cbox 0 One"
using assms
apply (simp add: box_ne_empty image_stretch_interval cbox_translation [symmetric])
apply (simp add: min_def max_def algebra_simps sum_subtractf euclidean_representation)
@@ -7048,7 +7048,7 @@
by (blast intro: unit_cube_convex_hull)
have lin: "linear (\<lambda>x. \<Sum>k\<in>Basis. ((b \<bullet> k - a \<bullet> k) * (x \<bullet> k)) *\<^sub>R k)"
by (rule linear_compose_sum) (auto simp: algebra_simps linearI)
- have "finite (op + a ` (\<lambda>x. \<Sum>k\<in>Basis. ((b \<bullet> k - a \<bullet> k) * (x \<bullet> k)) *\<^sub>R k) ` s)"
+ have "finite ((+) a ` (\<lambda>x. \<Sum>k\<in>Basis. ((b \<bullet> k - a \<bullet> k) * (x \<bullet> k)) *\<^sub>R k) ` s)"
by (rule finite_imageI \<open>finite s\<close>)+
then show ?thesis
apply (rule that)
--- a/src/HOL/Analysis/Derivative.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Derivative.thy Wed Jan 10 15:25:09 2018 +0100
@@ -91,7 +91,7 @@
lemma has_derivative_right:
fixes f :: "real \<Rightarrow> real"
and y :: "real"
- shows "(f has_derivative (op * y)) (at x within ({x <..} \<inter> I)) \<longleftrightarrow>
+ shows "(f has_derivative (( * ) y)) (at x within ({x <..} \<inter> I)) \<longleftrightarrow>
((\<lambda>t. (f x - f t) / (x - t)) \<longlongrightarrow> y) (at x within ({x <..} \<inter> I))"
proof -
have "((\<lambda>t. (f t - (f x + y * (t - x))) / \<bar>t - x\<bar>) \<longlongrightarrow> 0) (at x within ({x<..} \<inter> I)) \<longleftrightarrow>
@@ -245,7 +245,7 @@
lemma has_derivative_sqnorm_at [derivative_intros, simp]:
"((\<lambda>x. (norm x)\<^sup>2) has_derivative (\<lambda>x. 2 *\<^sub>R (a \<bullet> x))) (at a)"
-using has_derivative_bilinear_at [of id id a id id "op \<bullet>"]
+using has_derivative_bilinear_at [of id id a id id "(\<bullet>)"]
by (auto simp: inner_commute dot_square_norm bounded_bilinear_inner)
lemma differentiable_sqnorm_at [derivative_intros, simp]:
@@ -1112,7 +1112,7 @@
shows "norm (f (x0 + a) - f x0) \<le> norm a * B"
proof -
let ?G = "(\<lambda>x. x0 + x *\<^sub>R a) ` {0..1}"
- have "?G = op + x0 ` (\<lambda>x. x *\<^sub>R a) ` {0..1}" by auto
+ have "?G = (+) x0 ` (\<lambda>x. x *\<^sub>R a) ` {0..1}" by auto
also have "convex \<dots>"
by (intro convex_translation convex_scaled convex_real_interval)
finally have "convex ?G" .
@@ -1164,7 +1164,7 @@
assumes "convex s" "\<And>x. x \<in> s \<Longrightarrow> (f has_field_derivative 0) (at x within s)"
shows "\<exists>c. \<forall>x\<in>s. f (x) = (c :: 'a :: real_normed_field)"
proof (rule has_derivative_zero_constant)
- have A: "op * 0 = (\<lambda>_. 0 :: 'a)" by (intro ext) simp
+ have A: "( * ) 0 = (\<lambda>_. 0 :: 'a)" by (intro ext) simp
fix x assume "x \<in> s" thus "(f has_derivative (\<lambda>h. 0)) (at x within s)"
using assms(2)[of x] by (simp add: has_field_derivative_def A)
qed fact
@@ -2292,9 +2292,9 @@
then obtain g where g: "\<And>x. x \<in> s \<Longrightarrow> (\<lambda>n. f n x) sums g x"
"\<And>x. x \<in> s \<Longrightarrow> (g has_field_derivative g' x) (at x within s)" by blast
from g[OF x] show "summable (\<lambda>n. f n x)" by (auto simp: summable_def)
- from g(2)[OF x] have g': "(g has_derivative op * (g' x)) (at x)"
+ from g(2)[OF x] have g': "(g has_derivative ( * ) (g' x)) (at x)"
by (simp add: has_field_derivative_def s)
- have "((\<lambda>x. \<Sum>n. f n x) has_derivative op * (g' x)) (at x)"
+ have "((\<lambda>x. \<Sum>n. f n x) has_derivative ( * ) (g' x)) (at x)"
by (rule has_derivative_transform_within_open[OF g' \<open>open s\<close> x])
(insert g, auto simp: sums_iff)
thus "(\<lambda>x. \<Sum>n. f n x) differentiable (at x)" unfolding differentiable_def
@@ -2645,7 +2645,7 @@
unfolding field_differentiable_def
by (metis DERIV_subset top_greatest)
-lemma field_differentiable_linear [simp,derivative_intros]: "(op * c) field_differentiable F"
+lemma field_differentiable_linear [simp,derivative_intros]: "(( * ) c) field_differentiable F"
proof -
show ?thesis
unfolding field_differentiable_def has_field_derivative_def mult_commute_abs
@@ -2675,7 +2675,7 @@
by (metis field_differentiable_add)
lemma field_differentiable_add_const [simp,derivative_intros]:
- "op + c field_differentiable F"
+ "(+) c field_differentiable F"
by (simp add: field_differentiable_add)
lemma field_differentiable_sum [derivative_intros]:
--- a/src/HOL/Analysis/Determinants.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Determinants.thy Wed Jan 10 15:25:09 2018 +0100
@@ -819,7 +819,7 @@
unfolding matrix_right_invertible_independent_rows
by blast
have *: "\<And>(a::real^'n) b. a + b = 0 \<Longrightarrow> -a = b"
- apply (drule_tac f="op + (- a)" in cong[OF refl])
+ apply (drule_tac f="(+) (- a)" in cong[OF refl])
apply (simp only: ab_left_minus add.assoc[symmetric])
apply simp
done
--- a/src/HOL/Analysis/Embed_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Embed_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -159,15 +159,15 @@
from assms(1) interpret sigma_finite_measure M .
from sigma_finite_countable obtain A where
A_props: "countable A" "A \<subseteq> sets M" "\<Union>A = space M" "\<And>X. X\<in>A \<Longrightarrow> emeasure M X \<noteq> \<infinity>" by blast
- from A_props have "countable (op ` f`A)" by auto
+ from A_props have "countable ((`) f`A)" by auto
moreover
- from inj and A_props have "op ` f`A \<subseteq> sets (embed_measure M f)"
+ from inj and A_props have "(`) f`A \<subseteq> sets (embed_measure M f)"
by (auto simp: sets_embed_measure)
moreover
- from A_props and inj have "\<Union>(op ` f`A) = space (embed_measure M f)"
+ from A_props and inj have "\<Union>((`) f`A) = space (embed_measure M f)"
by (auto simp: space_embed_measure intro!: imageI)
moreover
- from A_props and inj have "\<forall>a\<in>op ` f ` A. emeasure (embed_measure M f) a \<noteq> \<infinity>"
+ from A_props and inj have "\<forall>a\<in>(`) f ` A. emeasure (embed_measure M f) a \<noteq> \<infinity>"
by (intro ballI, subst emeasure_embed_measure)
(auto simp: inj_vimage_image_eq intro: in_sets_embed_measure)
ultimately show ?thesis by - (standard, blast)
@@ -189,7 +189,7 @@
by(rule embed_measure_count_space')(erule subset_inj_on, simp)
lemma sets_embed_measure_alt:
- "inj f \<Longrightarrow> sets (embed_measure M f) = (op` f) ` sets M"
+ "inj f \<Longrightarrow> sets (embed_measure M f) = ((`) f) ` sets M"
by (auto simp: sets_embed_measure)
lemma emeasure_embed_measure_image':
@@ -210,7 +210,7 @@
assumes "inj f"
shows "embed_measure A f = embed_measure B f \<longleftrightarrow> A = B" (is "?M = ?N \<longleftrightarrow> _")
proof
- from assms have I: "inj (op` f)" by (auto intro: injI dest: injD)
+ from assms have I: "inj ((`) f)" by (auto intro: injI dest: injD)
assume asm: "?M = ?N"
hence "sets (embed_measure A f) = sets (embed_measure B f)" by simp
with assms have "sets A = sets B" by (simp only: I inj_image_eq_iff sets_embed_measure_alt)
@@ -369,7 +369,7 @@
lemma nn_integral_monotone_convergence_SUP_countable:
fixes f :: "'a \<Rightarrow> 'b \<Rightarrow> ennreal"
assumes nonempty: "Y \<noteq> {}"
- and chain: "Complete_Partial_Order.chain op \<le> (f ` Y)"
+ and chain: "Complete_Partial_Order.chain (\<le>) (f ` Y)"
and countable: "countable B"
shows "(\<integral>\<^sup>+ x. (SUP i:Y. f i x) \<partial>count_space B) = (SUP i:Y. (\<integral>\<^sup>+ x. f i x \<partial>count_space B))"
(is "?lhs = ?rhs")
@@ -383,7 +383,7 @@
by(simp add: nn_integral_count_space_indicator ennreal_indicator[symmetric] SUP_mult_right_ennreal nonempty)
also have "\<dots> = (SUP i:Y. \<integral>\<^sup>+ x. ?f i x \<partial>count_space UNIV)"
proof(rule nn_integral_monotone_convergence_SUP_nat)
- show "Complete_Partial_Order.chain op \<le> (?f ` Y)"
+ show "Complete_Partial_Order.chain (\<le>) (?f ` Y)"
by(rule chain_imageI[OF chain, unfolded image_image])(auto intro!: le_funI split: split_indicator dest: le_funD)
qed fact
also have "\<dots> = (SUP i:Y. \<integral>\<^sup>+ x. f i (from_nat_into B x) \<partial>count_space (to_nat_on B ` B))"
--- a/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1041,10 +1041,10 @@
and eq1: "\<And>c x. \<lbrakk>(a + c *\<^sub>R x) \<in> S; 0 \<le> c; a + x \<in> S\<rbrakk> \<Longrightarrow> c = 1"
shows "negligible S"
proof -
- have "negligible (op + (-a) ` S)"
+ have "negligible ((+) (-a) ` S)"
proof (subst negligible_on_intervals, intro allI)
fix u v
- show "negligible (op + (- a) ` S \<inter> cbox u v)"
+ show "negligible ((+) (- a) ` S \<inter> cbox u v)"
unfolding negligible_iff_null_sets
apply (rule starlike_negligible_compact)
apply (simp add: assms closed_translation closed_Int_compact, clarify)
@@ -1831,7 +1831,7 @@
qed
also have "\<dots> = (\<Sum>(i,l) \<in> d \<times> snd ` p. norm (integral (i\<inter>l) f))"
by (simp add: sum.cartesian_product)
- also have "\<dots> = (\<Sum>x \<in> d \<times> snd ` p. norm (integral (case_prod op \<inter> x) f))"
+ also have "\<dots> = (\<Sum>x \<in> d \<times> snd ` p. norm (integral (case_prod (\<inter>) x) f))"
by (force simp: split_def intro!: sum.cong)
also have "\<dots> = (\<Sum>k\<in>{i \<inter> l |i l. i \<in> d \<and> l \<in> snd ` p}. norm (integral k f))"
proof -
--- a/src/HOL/Analysis/Euclidean_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Euclidean_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -242,7 +242,7 @@
lemma DIM_prod[simp]: "DIM('a \<times> 'b) = DIM('a) + DIM('b)"
unfolding Basis_prod_def
- by (subst card_Un_disjoint) (auto intro!: card_image arg_cong2[where f="op +"] inj_onI)
+ by (subst card_Un_disjoint) (auto intro!: card_image arg_cong2[where f="(+)"] inj_onI)
end
--- a/src/HOL/Analysis/Finite_Cartesian_Product.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Finite_Cartesian_Product.thy Wed Jan 10 15:25:09 2018 +0100
@@ -142,13 +142,13 @@
instantiation vec :: (plus, finite) plus
begin
- definition "op + \<equiv> (\<lambda> x y. (\<chi> i. x$i + y$i))"
+ definition "(+) \<equiv> (\<lambda> x y. (\<chi> i. x$i + y$i))"
instance ..
end
instantiation vec :: (minus, finite) minus
begin
- definition "op - \<equiv> (\<lambda> x y. (\<chi> i. x$i - y$i))"
+ definition "(-) \<equiv> (\<lambda> x y. (\<chi> i. x$i - y$i))"
instance ..
end
--- a/src/HOL/Analysis/Finite_Product_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Finite_Product_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -929,7 +929,7 @@
using E by (subst insert) (auto intro!: prod.cong)
also have "(\<Prod>j\<in>I. if j \<in> J - {i} then emeasure (M j) (E j) else emeasure (M j) (space (M j))) *
emeasure (M i) (if i \<in> J then E i else space (M i)) = (\<Prod>j\<in>insert i I. ?f J E j)"
- using insert by (auto simp: mult.commute intro!: arg_cong2[where f="op *"] prod.cong)
+ using insert by (auto simp: mult.commute intro!: arg_cong2[where f="( * )"] prod.cong)
also have "\<dots> = (\<Prod>j\<in>J \<union> ?I. ?f J E j)"
using insert(1,2) J E by (intro prod.mono_neutral_right) auto
finally show "?\<mu> ?p = \<dots>" .
--- a/src/HOL/Analysis/Further_Topology.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Further_Topology.thy Wed Jan 10 15:25:09 2018 +0100
@@ -527,7 +527,7 @@
and gh: "\<And>x. x \<in> rel_frontier D \<Longrightarrow> g x = h x"
by (metis *)
have "D \<inter> E \<subseteq> rel_frontier D"
- if "E \<in> \<G> \<union> {D. Bex \<F> (op face_of D) \<and> aff_dim D < int p}" for E
+ if "E \<in> \<G> \<union> {D. Bex \<F> ((face_of) D) \<and> aff_dim D < int p}" for E
proof (rule face_of_subset_rel_frontier)
show "D \<inter> E face_of D"
using that \<open>C \<in> \<F>\<close> \<open>D face_of C\<close> face
@@ -2173,21 +2173,21 @@
case False
obtain a b where "a \<in> S" "a \<in> U" "b \<in> V"
using False fim ope openin_contains_cball by fastforce
- have "openin (subtopology euclidean (op + (- b) ` V)) ((op + (- b) \<circ> f \<circ> op + a) ` op + (- a) ` S)"
+ have "openin (subtopology euclidean ((+) (- b) ` V)) (((+) (- b) \<circ> f \<circ> (+) a) ` (+) (- a) ` S)"
proof (rule invariance_of_domain_subspaces)
- show "openin (subtopology euclidean (op + (- a) ` U)) (op + (- a) ` S)"
+ show "openin (subtopology euclidean ((+) (- a) ` U)) ((+) (- a) ` S)"
by (metis ope homeomorphism_imp_open_map homeomorphism_translation translation_galois)
- show "subspace (op + (- a) ` U)"
+ show "subspace ((+) (- a) ` U)"
by (simp add: \<open>a \<in> U\<close> affine_diffs_subspace \<open>affine U\<close>)
- show "subspace (op + (- b) ` V)"
+ show "subspace ((+) (- b) ` V)"
by (simp add: \<open>b \<in> V\<close> affine_diffs_subspace \<open>affine V\<close>)
- show "dim (op + (- b) ` V) \<le> dim (op + (- a) ` U)"
+ show "dim ((+) (- b) ` V) \<le> dim ((+) (- a) ` U)"
by (metis \<open>a \<in> U\<close> \<open>b \<in> V\<close> aff_dim_eq_dim affine_hull_eq aff of_nat_le_iff)
- show "continuous_on (op + (- a) ` S) (op + (- b) \<circ> f \<circ> op + a)"
+ show "continuous_on ((+) (- a) ` S) ((+) (- b) \<circ> f \<circ> (+) a)"
by (metis contf continuous_on_compose homeomorphism_cont2 homeomorphism_translation translation_galois)
- show "(op + (- b) \<circ> f \<circ> op + a) ` op + (- a) ` S \<subseteq> op + (- b) ` V"
+ show "((+) (- b) \<circ> f \<circ> (+) a) ` (+) (- a) ` S \<subseteq> (+) (- b) ` V"
using fim by auto
- show "inj_on (op + (- b) \<circ> f \<circ> op + a) (op + (- a) ` S)"
+ show "inj_on ((+) (- b) \<circ> f \<circ> (+) a) ((+) (- a) ` S)"
by (auto simp: inj_on_def) (meson inj_onD injf)
qed
then show ?thesis
@@ -2204,19 +2204,19 @@
proof -
obtain a b where "a \<in> S" "a \<in> U" "b \<in> V"
using \<open>S \<noteq> {}\<close> fim ope openin_contains_cball by fastforce
- have "dim (op + (- a) ` U) \<le> dim (op + (- b) ` V)"
+ have "dim ((+) (- a) ` U) \<le> dim ((+) (- b) ` V)"
proof (rule invariance_of_dimension_subspaces)
- show "openin (subtopology euclidean (op + (- a) ` U)) (op + (- a) ` S)"
+ show "openin (subtopology euclidean ((+) (- a) ` U)) ((+) (- a) ` S)"
by (metis ope homeomorphism_imp_open_map homeomorphism_translation translation_galois)
- show "subspace (op + (- a) ` U)"
+ show "subspace ((+) (- a) ` U)"
by (simp add: \<open>a \<in> U\<close> affine_diffs_subspace \<open>affine U\<close>)
- show "subspace (op + (- b) ` V)"
+ show "subspace ((+) (- b) ` V)"
by (simp add: \<open>b \<in> V\<close> affine_diffs_subspace \<open>affine V\<close>)
- show "continuous_on (op + (- a) ` S) (op + (- b) \<circ> f \<circ> op + a)"
+ show "continuous_on ((+) (- a) ` S) ((+) (- b) \<circ> f \<circ> (+) a)"
by (metis contf continuous_on_compose homeomorphism_cont2 homeomorphism_translation translation_galois)
- show "(op + (- b) \<circ> f \<circ> op + a) ` op + (- a) ` S \<subseteq> op + (- b) ` V"
+ show "((+) (- b) \<circ> f \<circ> (+) a) ` (+) (- a) ` S \<subseteq> (+) (- b) ` V"
using fim by auto
- show "inj_on (op + (- b) \<circ> f \<circ> op + a) (op + (- a) ` S)"
+ show "inj_on ((+) (- b) \<circ> f \<circ> (+) a) ((+) (- a) ` S)"
by (auto simp: inj_on_def) (meson inj_onD injf)
qed (use \<open>S \<noteq> {}\<close> in auto)
then show ?thesis
@@ -2762,7 +2762,7 @@
case False
then obtain a b where "a \<in> S" "b \<in> T"
by blast
- then have "subspace (op + (- a) ` S)" "subspace (op + (- b) ` T)"
+ then have "subspace ((+) (- a) ` S)" "subspace ((+) (- b) ` T)"
using affine_diffs_subspace assms by blast+
then show ?thesis
by (metis affine_imp_convex assms homeomorphic_affine_sets homeomorphic_convex_sets)
@@ -3539,12 +3539,12 @@
by (intro conjI contg continuous_intros)
show "(complex_of_real \<circ> g) ` S \<subseteq> \<real>"
by auto
- show "continuous_on \<real> (exp \<circ> op*\<i>)"
+ show "continuous_on \<real> (exp \<circ> ( * )\<i>)"
by (intro continuous_intros)
- show "(exp \<circ> op*\<i>) ` \<real> \<subseteq> sphere 0 1"
+ show "(exp \<circ> ( * )\<i>) ` \<real> \<subseteq> sphere 0 1"
by (auto simp: complex_is_Real_iff)
qed (auto simp: convex_Reals convex_imp_contractible)
- moreover have "\<And>x. x \<in> S \<Longrightarrow> (exp \<circ> op*\<i> \<circ> (complex_of_real \<circ> g)) x = f x"
+ moreover have "\<And>x. x \<in> S \<Longrightarrow> (exp \<circ> ( * )\<i> \<circ> (complex_of_real \<circ> g)) x = f x"
by (simp add: g)
ultimately show ?lhs
apply (rule_tac x=a in exI)
--- a/src/HOL/Analysis/Gamma_Function.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Gamma_Function.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2038,7 +2038,7 @@
moreover from z double_in_nonpos_Ints_imp[of z] have "2 * z \<notin> \<int>\<^sub>\<le>\<^sub>0" by auto
hence "?g \<longlonglongrightarrow> ?powr 2 (2*z) * Gamma z * Gamma (z+1/2) / Gamma (2*z)"
- using LIMSEQ_subseq_LIMSEQ[OF Gamma_series'_LIMSEQ, of "op*2" "2*z"]
+ using LIMSEQ_subseq_LIMSEQ[OF Gamma_series'_LIMSEQ, of "( * )2" "2*z"]
by (intro tendsto_intros Gamma_series'_LIMSEQ)
(simp_all add: o_def strict_mono_def Gamma_eq_zero_iff)
ultimately have "?h \<longlonglongrightarrow> ?powr 2 (2*z) * Gamma z * Gamma (z+1/2) / Gamma (2*z)"
@@ -3088,7 +3088,7 @@
proof (rule nn_integral_cong, goal_cases)
case (1 t)
have "(\<integral>\<^sup>+u. ennreal (indicator ({0..}\<times>{0..}) (t,u) * t powr (a - 1) *
- u powr (b - 1) / exp (t + u)) \<partial>distr lborel borel (op + (-t))) =
+ u powr (b - 1) / exp (t + u)) \<partial>distr lborel borel ((+) (-t))) =
(\<integral>\<^sup>+u. ennreal (indicator ({0..}\<times>{t..}) (t,u) * t powr (a - 1) *
(u - t) powr (b - 1) / exp u) \<partial>lborel)"
by (subst nn_integral_distr) (auto intro!: nn_integral_cong simp: indicator_def)
@@ -3116,10 +3116,10 @@
case True
have "(\<integral>\<^sup>+t. ennreal (indicator {0..u} t * t powr (a - 1) * (u - t) powr (b - 1)) \<partial>lborel) =
(\<integral>\<^sup>+t. ennreal (indicator {0..1} t * (u * t) powr (a - 1) * (u - u * t) powr (b - 1))
- \<partial>distr lborel borel (op * (1 / u)))" (is "_ = nn_integral _ ?f")
+ \<partial>distr lborel borel (( * ) (1 / u)))" (is "_ = nn_integral _ ?f")
using True
by (subst nn_integral_distr) (auto simp: indicator_def field_simps intro!: nn_integral_cong)
- also have "distr lborel borel (op * (1 / u)) = density lborel (\<lambda>_. u)"
+ also have "distr lborel borel (( * ) (1 / u)) = density lborel (\<lambda>_. u)"
using \<open>u > 0\<close> by (subst lborel_distr_mult) auto
also have "nn_integral \<dots> ?f = (\<integral>\<^sup>+x. ennreal (indicator {0..1} x * (u * (u * x) powr (a - 1) *
(u * (1 - x)) powr (b - 1))) \<partial>lborel)" using \<open>u > 0\<close>
--- a/src/HOL/Analysis/Great_Picard.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Great_Picard.thy Wed Jan 10 15:25:09 2018 +0100
@@ -596,7 +596,7 @@
proof (cases "k=1")
case True
then have "\<exists>x. k * x + l \<noteq> a + x" for a
- using l non [of a] ext [of f "op + a"]
+ using l non [of a] ext [of f "(+) a"]
by (metis add.commute diff_eq_eq)
with True show ?thesis by auto
next
--- a/src/HOL/Analysis/Harmonic_Numbers.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Harmonic_Numbers.thy Wed Jan 10 15:25:09 2018 +0100
@@ -225,7 +225,7 @@
by (intro summable_Leibniz(1) decseq_imp_monoseq decseq_SucI) simp_all
hence A: "(\<lambda>n. \<Sum>k<n. (-1)^k / real_of_nat (Suc k)) \<longlonglongrightarrow> (\<Sum>k. (-1)^k / real_of_nat (Suc k))"
by (simp add: summable_sums_iff divide_inverse sums_def)
- from filterlim_compose[OF this filterlim_subseq[of "op * (2::nat)"]]
+ from filterlim_compose[OF this filterlim_subseq[of "( * ) (2::nat)"]]
have "(\<lambda>n. \<Sum>k<2*n. (-1)^k / real_of_nat (Suc k)) \<longlonglongrightarrow> (\<Sum>k. (-1)^k / real_of_nat (Suc k))"
by (simp add: strict_mono_def)
ultimately have "(\<Sum>k. (- 1) ^ k / real_of_nat (Suc k)) = ln 2" by (intro LIMSEQ_unique)
--- a/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1396,7 +1396,7 @@
lemma operative_integralI:
fixes f :: "'a::euclidean_space \<Rightarrow> 'b::banach"
- shows "operative (lift_option op +) (Some 0)
+ shows "operative (lift_option (+)) (Some 0)
(\<lambda>i. if f integrable_on i then Some (integral i f) else None)"
proof -
interpret comm_monoid "lift_option plus" "Some (0::'b)"
@@ -1408,7 +1408,7 @@
fix k :: 'a
assume k: "k \<in> Basis"
show "(if f integrable_on cbox a b then Some (integral (cbox a b) f) else None) =
- lift_option op + (if f integrable_on cbox a b \<inter> {x. x \<bullet> k \<le> c} then Some (integral (cbox a b \<inter> {x. x \<bullet> k \<le> c}) f) else None)
+ lift_option (+) (if f integrable_on cbox a b \<inter> {x. x \<bullet> k \<le> c} then Some (integral (cbox a b \<inter> {x. x \<bullet> k \<le> c}) f) else None)
(if f integrable_on cbox a b \<inter> {x. c \<le> x \<bullet> k} then Some (integral (cbox a b \<inter> {x. c \<le> x \<bullet> k}) f) else None)"
proof (cases "f integrable_on cbox a b")
case True
@@ -2176,11 +2176,11 @@
unfolding sum_distrib_left by (metis divide_inverse inverse_eq_divide power_one_over)
also have "\<dots> < e/2 * 2"
proof (rule mult_strict_left_mono)
- have "sum (op ^ (1/2)) {..N + 1} = sum (op ^ (1/2::real)) {..<N + 2}"
+ have "sum ((^) (1/2)) {..N + 1} = sum ((^) (1/2::real)) {..<N + 2}"
using lessThan_Suc_atMost by auto
also have "... < 2"
by (auto simp: geometric_sum)
- finally show "sum (op ^ (1/2::real)) {..N + 1} < 2" .
+ finally show "sum ((^) (1/2::real)) {..N + 1} < 2" .
qed (use \<open>0 < e\<close> in auto)
finally show ?thesis by auto
qed
@@ -2479,9 +2479,9 @@
qed
qed
-lemma comm_monoid_set_F_and: "comm_monoid_set.F op \<and> True f s \<longleftrightarrow> (finite s \<longrightarrow> (\<forall>x\<in>s. f x))"
+lemma comm_monoid_set_F_and: "comm_monoid_set.F (\<and>) True f s \<longleftrightarrow> (finite s \<longrightarrow> (\<forall>x\<in>s. f x))"
proof -
- interpret bool: comm_monoid_set "op \<and>" True
+ interpret bool: comm_monoid_set "(\<and>)" True
proof qed auto
show ?thesis
by (induction s rule: infinite_finite_induct) auto
@@ -2587,8 +2587,8 @@
fix e :: real
assume e: "e > 0"
{
- assume "\<forall>e>0. ?P e op <"
- then show "?P (e * content (cbox a b)) op \<le>"
+ assume "\<forall>e>0. ?P e (<)"
+ then show "?P (e * content (cbox a b)) (\<le>)"
apply (erule_tac x="e * content (cbox a b)" in allE)
apply (erule impE)
defer
@@ -2598,8 +2598,8 @@
done
}
{
- assume "\<forall>e>0. ?P (e * content (cbox a b)) op \<le>"
- then show "?P e op <"
+ assume "\<forall>e>0. ?P (e * content (cbox a b)) (\<le>)"
+ then show "?P e (<)"
apply (erule_tac x="e/2 / content (cbox a b)" in allE)
apply (erule impE)
defer
@@ -2983,7 +2983,7 @@
"\<lambda>i. if f integrable_on i then Some (integral i f) else None"
using operative_integralI by (rule operative_realI)
from \<open>a \<le> c\<close> \<open>c \<le> b\<close> ac cb coalesce_less_eq
- have *: "lift_option op +
+ have *: "lift_option (+)
(if f integrable_on {a..c} then Some (integral {a..c} f) else None)
(if f integrable_on {c..b} then Some (integral {c..b} f) else None) =
(if f integrable_on {a..b} then Some (integral {a..b} f) else None)"
@@ -4609,9 +4609,9 @@
lemma negligible_translation:
assumes "negligible S"
- shows "negligible (op + c ` S)"
+ shows "negligible ((+) c ` S)"
proof -
- have inj: "inj (op + c)"
+ have inj: "inj ((+) c)"
by simp
show ?thesis
using assms
@@ -4620,9 +4620,9 @@
assume "\<forall>x y. (indicator S has_integral 0) (cbox x y)"
then have *: "(indicator S has_integral 0) (cbox (a-c) (b-c))"
by (meson Diff_iff assms has_integral_negligible indicator_simps(2))
- have eq: "indicator (op + c ` S) = (\<lambda>x. indicator S (x - c))"
+ have eq: "indicator ((+) c ` S) = (\<lambda>x. indicator S (x - c))"
by (force simp add: indicator_def)
- show "(indicator (op + c ` S) has_integral 0) (cbox a b)"
+ show "(indicator ((+) c ` S) has_integral 0) (cbox a b)"
using has_integral_affinity [OF *, of 1 "-c"]
cbox_translation [of "c" "-c+a" "-c+b"]
by (simp add: eq add.commute)
@@ -4630,7 +4630,7 @@
qed
lemma negligible_translation_rev:
- assumes "negligible (op + c ` S)"
+ assumes "negligible ((+) c ` S)"
shows "negligible S"
by (metis negligible_translation [OF assms, of "-c"] translation_galois)
@@ -4838,8 +4838,8 @@
using real_arch_simple by blast
have "ball 0 B \<subseteq> ?cube n" if n: "n \<ge> N" for n
proof -
- have "sum (op *\<^sub>R (- real n)) Basis \<bullet> i \<le> x \<bullet> i \<and>
- x \<bullet> i \<le> sum (op *\<^sub>R (real n)) Basis \<bullet> i"
+ have "sum (( *\<^sub>R) (- real n)) Basis \<bullet> i \<le> x \<bullet> i \<and>
+ x \<bullet> i \<le> sum (( *\<^sub>R) (real n)) Basis \<bullet> i"
if "norm x < B" "i \<in> Basis" for x i::'n
using Basis_le_norm[of i x] n N that by (auto simp add: field_simps sum_negf)
then show ?thesis
@@ -4874,7 +4874,7 @@
fix x :: 'n
assume x: "x \<in> ball 0 B"
have "\<lbrakk>norm (0 - x) < B; i \<in> Basis\<rbrakk>
- \<Longrightarrow> sum (op *\<^sub>R (-n)) Basis \<bullet> i\<le> x \<bullet> i \<and> x \<bullet> i \<le> sum (op *\<^sub>R n) Basis \<bullet> i" for i
+ \<Longrightarrow> sum (( *\<^sub>R) (-n)) Basis \<bullet> i\<le> x \<bullet> i \<and> x \<bullet> i \<le> sum (( *\<^sub>R) n) Basis \<bullet> i" for i
using Basis_le_norm[of i x] n by (auto simp add: field_simps sum_negf)
then show "x \<in> ?cube n"
using x by (auto simp: mem_box dist_norm)
@@ -5925,7 +5925,7 @@
and bou: "bounded (range(\<lambda>k. integral S (f k)))"
shows "g integrable_on S \<and> (\<lambda>k. integral S (f k)) \<longlonglongrightarrow> integral S g"
proof -
- have *: "range(\<lambda>k. integral S (\<lambda>x. - f k x)) = op *\<^sub>R (- 1) ` (range(\<lambda>k. integral S (f k)))"
+ have *: "range(\<lambda>k. integral S (\<lambda>x. - f k x)) = ( *\<^sub>R) (- 1) ` (range(\<lambda>k. integral S (f k)))"
by force
have "(\<lambda>x. - g x) integrable_on S \<and> (\<lambda>k. integral S (\<lambda>x. - f k x)) \<longlonglongrightarrow> integral S (\<lambda>x. - g x)"
proof (rule monotone_convergence_increasing)
--- a/src/HOL/Analysis/Homeomorphism.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Homeomorphism.thy Wed Jan 10 15:25:09 2018 +0100
@@ -549,31 +549,31 @@
and starlike_compact_projective2:
"S homeomorphic cball a 1 \<inter> affine hull S"
proof -
- have 1: "compact (op+ (-a) ` S)" by (meson assms compact_translation)
- have 2: "0 \<in> rel_interior (op+ (-a) ` S)"
+ have 1: "compact ((+) (-a) ` S)" by (meson assms compact_translation)
+ have 2: "0 \<in> rel_interior ((+) (-a) ` S)"
by (simp add: a rel_interior_translation)
- have 3: "open_segment 0 x \<subseteq> rel_interior (op+ (-a) ` S)" if "x \<in> (op+ (-a) ` S)" for x
+ have 3: "open_segment 0 x \<subseteq> rel_interior ((+) (-a) ` S)" if "x \<in> ((+) (-a) ` S)" for x
proof -
have "x+a \<in> S" using that by auto
then have "open_segment a (x+a) \<subseteq> rel_interior S" by (metis star)
then show ?thesis using open_segment_translation
using rel_interior_translation by fastforce
qed
- have "S - rel_interior S homeomorphic (op+ (-a) ` S) - rel_interior (op+ (-a) ` S)"
+ have "S - rel_interior S homeomorphic ((+) (-a) ` S) - rel_interior ((+) (-a) ` S)"
by (metis rel_interior_translation translation_diff homeomorphic_translation)
- also have "... homeomorphic sphere 0 1 \<inter> affine hull (op+ (-a) ` S)"
+ also have "... homeomorphic sphere 0 1 \<inter> affine hull ((+) (-a) ` S)"
by (rule starlike_compact_projective1_0 [OF 1 2 3])
- also have "... = op+ (-a) ` (sphere a 1 \<inter> affine hull S)"
+ also have "... = (+) (-a) ` (sphere a 1 \<inter> affine hull S)"
by (metis affine_hull_translation left_minus sphere_translation translation_Int)
also have "... homeomorphic sphere a 1 \<inter> affine hull S"
using homeomorphic_translation homeomorphic_sym by blast
finally show "S - rel_interior S homeomorphic sphere a 1 \<inter> affine hull S" .
- have "S homeomorphic (op+ (-a) ` S)"
+ have "S homeomorphic ((+) (-a) ` S)"
by (metis homeomorphic_translation)
- also have "... homeomorphic cball 0 1 \<inter> affine hull (op+ (-a) ` S)"
+ also have "... homeomorphic cball 0 1 \<inter> affine hull ((+) (-a) ` S)"
by (rule starlike_compact_projective2_0 [OF 1 2 3])
- also have "... = op+ (-a) ` (cball a 1 \<inter> affine hull S)"
+ also have "... = (+) (-a) ` (cball a 1 \<inter> affine hull S)"
by (metis affine_hull_translation left_minus cball_translation translation_Int)
also have "... homeomorphic cball a 1 \<inter> affine hull S"
using homeomorphic_translation homeomorphic_sym by blast
@@ -623,13 +623,13 @@
have starT: "\<And>x. x \<in> T \<Longrightarrow> open_segment b x \<subseteq> rel_interior T"
using rel_interior_closure_convex_segment
b \<open>convex T\<close> closure_subset subsetCE by blast
- let ?aS = "op+ (-a) ` S" and ?bT = "op+ (-b) ` T"
+ let ?aS = "(+) (-a) ` S" and ?bT = "(+) (-b) ` T"
have 0: "0 \<in> affine hull ?aS" "0 \<in> affine hull ?bT"
by (metis a b subsetD hull_inc image_eqI left_minus rel_interior_subset)+
have subs: "subspace (span ?aS)" "subspace (span ?bT)"
by (rule subspace_span)+
moreover
- have "dim (span (op + (- a) ` S)) = dim (span (op + (- b) ` T))"
+ have "dim (span ((+) (- a) ` S)) = dim (span ((+) (- b) ` T))"
by (metis 0 aff_dim_translation_eq aff_dim_zero affeq dim_span nat_int)
ultimately obtain f g where "linear f" "linear g"
and fim: "f ` span ?aS = span ?bT"
@@ -649,9 +649,9 @@
by (metis b affine_hull_span_0 subsetD hull_inc image_eqI left_minus rel_interior_subset)
have "S homeomorphic cball a 1 \<inter> affine hull S"
by (rule starlike_compact_projective2 [OF \<open>compact S\<close> a starS])
- also have "... homeomorphic op+ (-a) ` (cball a 1 \<inter> affine hull S)"
+ also have "... homeomorphic (+) (-a) ` (cball a 1 \<inter> affine hull S)"
by (metis homeomorphic_translation)
- also have "... = cball 0 1 \<inter> op+ (-a) ` (affine hull S)"
+ also have "... = cball 0 1 \<inter> (+) (-a) ` (affine hull S)"
by (auto simp: dist_norm)
also have "... = cball 0 1 \<inter> span ?aS"
using eqspanS affine_hull_translation by blast
@@ -666,9 +666,9 @@
using gim gno apply (force simp:, clarify)
by (metis IntI fim1 gf image_eqI)
qed (auto simp: fg gf)
- also have "... = cball 0 1 \<inter> op+ (-b) ` (affine hull T)"
+ also have "... = cball 0 1 \<inter> (+) (-b) ` (affine hull T)"
using eqspanT affine_hull_translation by blast
- also have "... = op+ (-b) ` (cball b 1 \<inter> affine hull T)"
+ also have "... = (+) (-b) ` (cball b 1 \<inter> affine hull T)"
by (auto simp: dist_norm)
also have "... homeomorphic (cball b 1 \<inter> affine hull T)"
by (metis homeomorphic_translation homeomorphic_sym)
@@ -678,9 +678,9 @@
have "S - rel_interior S homeomorphic sphere a 1 \<inter> affine hull S"
by (rule starlike_compact_projective1 [OF \<open>compact S\<close> a starS])
- also have "... homeomorphic op+ (-a) ` (sphere a 1 \<inter> affine hull S)"
+ also have "... homeomorphic (+) (-a) ` (sphere a 1 \<inter> affine hull S)"
by (metis homeomorphic_translation)
- also have "... = sphere 0 1 \<inter> op+ (-a) ` (affine hull S)"
+ also have "... = sphere 0 1 \<inter> (+) (-a) ` (affine hull S)"
by (auto simp: dist_norm)
also have "... = sphere 0 1 \<inter> span ?aS"
using eqspanS affine_hull_translation by blast
@@ -695,9 +695,9 @@
using gim gno apply (force simp:, clarify)
by (metis IntI fim1 gf image_eqI)
qed (auto simp: fg gf)
- also have "... = sphere 0 1 \<inter> op+ (-b) ` (affine hull T)"
+ also have "... = sphere 0 1 \<inter> (+) (-b) ` (affine hull T)"
using eqspanT affine_hull_translation by blast
- also have "... = op+ (-b) ` (sphere b 1 \<inter> affine hull T)"
+ also have "... = (+) (-b) ` (sphere b 1 \<inter> affine hull T)"
by (auto simp: dist_norm)
also have "... homeomorphic (sphere b 1 \<inter> affine hull T)"
by (metis homeomorphic_translation homeomorphic_sym)
@@ -833,11 +833,11 @@
then have inj: "inj (\<lambda>x::'a. x /\<^sub>R norm (a - b))"
by (simp add: inj_on_def)
have "((sphere a r \<inter> T) - {b}) homeomorphic
- op+ (-a) ` ((sphere a r \<inter> T) - {b})"
+ (+) (-a) ` ((sphere a r \<inter> T) - {b})"
by (rule homeomorphic_translation)
- also have "... homeomorphic op *\<^sub>R (inverse r) ` op + (- a) ` (sphere a r \<inter> T - {b})"
+ also have "... homeomorphic ( *\<^sub>R) (inverse r) ` (+) (- a) ` (sphere a r \<inter> T - {b})"
by (metis \<open>0 < r\<close> homeomorphic_scaling inverse_inverse_eq inverse_zero less_irrefl)
- also have "... = sphere 0 1 \<inter> (op *\<^sub>R (inverse r) ` op + (- a) ` T) - {(b - a) /\<^sub>R r}"
+ also have "... = sphere 0 1 \<inter> (( *\<^sub>R) (inverse r) ` (+) (- a) ` T) - {(b - a) /\<^sub>R r}"
using assms by (auto simp: dist_norm norm_minus_commute divide_simps)
also have "... homeomorphic p"
apply (rule homeomorphic_punctured_affine_sphere_affine_01)
@@ -928,27 +928,27 @@
then obtain a where "a \<in> S" by auto
obtain i::'n where i: "i \<in> Basis" "i \<noteq> 0"
using SOME_Basis Basis_zero by force
- have "0 \<in> affine hull (op + (- a) ` S)"
+ have "0 \<in> affine hull ((+) (- a) ` S)"
by (simp add: \<open>a \<in> S\<close> hull_inc)
- then have "dim (op + (- a) ` S) = aff_dim (op + (- a) ` S)"
+ then have "dim ((+) (- a) ` S) = aff_dim ((+) (- a) ` S)"
by (simp add: aff_dim_zero)
also have "... < DIM('n)"
by (simp add: aff_dim_translation_eq assms)
- finally have dd: "dim (op + (- a) ` S) < DIM('n)"
+ finally have dd: "dim ((+) (- a) ` S) < DIM('n)"
by linarith
obtain T where "subspace T" and Tsub: "T \<subseteq> {x. i \<bullet> x = 0}"
- and dimT: "dim T = dim (op + (- a) ` S)"
- apply (rule choose_subspace_of_subspace [of "dim (op + (- a) ` S)" "{x::'n. i \<bullet> x = 0}"])
+ and dimT: "dim T = dim ((+) (- a) ` S)"
+ apply (rule choose_subspace_of_subspace [of "dim ((+) (- a) ` S)" "{x::'n. i \<bullet> x = 0}"])
apply (simp add: dim_hyperplane [OF \<open>i \<noteq> 0\<close>])
apply (metis DIM_positive Suc_pred dd not_le not_less_eq_eq)
apply (metis span_eq subspace_hyperplane)
done
- have "subspace (span (op + (- a) ` S))"
+ have "subspace (span ((+) (- a) ` S))"
using subspace_span by blast
then obtain h k where "linear h" "linear k"
- and heq: "h ` span (op + (- a) ` S) = T"
- and keq:"k ` T = span (op + (- a) ` S)"
- and hinv [simp]: "\<And>x. x \<in> span (op + (- a) ` S) \<Longrightarrow> k(h x) = x"
+ and heq: "h ` span ((+) (- a) ` S) = T"
+ and keq:"k ` T = span ((+) (- a) ` S)"
+ and hinv [simp]: "\<And>x. x \<in> span ((+) (- a) ` S) \<Longrightarrow> k(h x) = x"
and kinv [simp]: "\<And>x. x \<in> T \<Longrightarrow> h(k x) = x"
apply (rule isometries_subspaces [OF _ \<open>subspace T\<close>])
apply (auto simp: dimT)
@@ -964,38 +964,38 @@
by (metis DIM_positive Suc_eq_plus1 add.left_neutral diff_add_cancel not_le not_less_eq_eq of_nat_1 of_nat_diff)
then obtain f g where fg: "homeomorphism (sphere 0 1 - {i}) {x. i \<bullet> x = 0} f g"
by (force simp: homeomorphic_def)
- have "h ` op + (- a) ` S \<subseteq> T"
+ have "h ` (+) (- a) ` S \<subseteq> T"
using heq span_clauses(1) span_linear_image by blast
- then have "g ` h ` op + (- a) ` S \<subseteq> g ` {x. i \<bullet> x = 0}"
+ then have "g ` h ` (+) (- a) ` S \<subseteq> g ` {x. i \<bullet> x = 0}"
using Tsub by (simp add: image_mono)
also have "... \<subseteq> sphere 0 1 - {i}"
by (simp add: fg [unfolded homeomorphism_def])
- finally have gh_sub_sph: "(g \<circ> h) ` op + (- a) ` S \<subseteq> sphere 0 1 - {i}"
+ finally have gh_sub_sph: "(g \<circ> h) ` (+) (- a) ` S \<subseteq> sphere 0 1 - {i}"
by (metis image_comp)
- then have gh_sub_cb: "(g \<circ> h) ` op + (- a) ` S \<subseteq> cball 0 1"
+ then have gh_sub_cb: "(g \<circ> h) ` (+) (- a) ` S \<subseteq> cball 0 1"
by (metis Diff_subset order_trans sphere_cball)
have [simp]: "\<And>u. u \<in> S \<Longrightarrow> norm (g (h (u - a))) = 1"
using gh_sub_sph [THEN subsetD] by (auto simp: o_def)
- have ghcont: "continuous_on (op + (- a) ` S) (\<lambda>x. g (h x))"
+ have ghcont: "continuous_on ((+) (- a) ` S) (\<lambda>x. g (h x))"
apply (rule continuous_on_compose2 [OF homeomorphism_cont2 [OF fg] hcont], force)
done
- have kfcont: "continuous_on ((g \<circ> h \<circ> op + (- a)) ` S) (\<lambda>x. k (f x))"
+ have kfcont: "continuous_on ((g \<circ> h \<circ> (+) (- a)) ` S) (\<lambda>x. k (f x))"
apply (rule continuous_on_compose2 [OF kcont])
using homeomorphism_cont1 [OF fg] gh_sub_sph apply (force intro: continuous_on_subset, blast)
done
- have "S homeomorphic op + (- a) ` S"
+ have "S homeomorphic (+) (- a) ` S"
by (simp add: homeomorphic_translation)
- also have Shom: "\<dots> homeomorphic (g \<circ> h) ` op + (- a) ` S"
+ also have Shom: "\<dots> homeomorphic (g \<circ> h) ` (+) (- a) ` S"
apply (simp add: homeomorphic_def homeomorphism_def)
apply (rule_tac x="g \<circ> h" in exI)
apply (rule_tac x="k \<circ> f" in exI)
apply (auto simp: ghcont kfcont span_clauses(1) homeomorphism_apply2 [OF fg] image_comp)
apply (force simp: o_def homeomorphism_apply2 [OF fg] span_clauses(1))
done
- finally have Shom: "S homeomorphic (g \<circ> h) ` op + (- a) ` S" .
+ finally have Shom: "S homeomorphic (g \<circ> h) ` (+) (- a) ` S" .
show ?thesis
- apply (rule_tac U = "ball 0 1 \<union> image (g o h) (op + (- a) ` S)"
- and T = "image (g o h) (op + (- a) ` S)"
+ apply (rule_tac U = "ball 0 1 \<union> image (g o h) ((+) (- a) ` S)"
+ and T = "image (g o h) ((+) (- a) ` S)"
in that)
apply (rule convex_intermediate_ball [of 0 1], force)
using gh_sub_cb apply force
@@ -2210,26 +2210,26 @@
and pq'_eq: "\<And>t. t \<in> {0..1} \<Longrightarrow> p (q' t) = (f \<circ> g +++ reversepath g') t"
using covering_space_lift_homotopic_path [OF cov homotopic_paths_sym [OF homS] \<open>path q\<close> piq refl refl]
by auto
- have "q' t = (h \<circ> op *\<^sub>R 2) t" if "0 \<le> t" "t \<le> 1/2" for t
- proof (rule covering_space_lift_unique [OF cov, of q' 0 "h \<circ> op *\<^sub>R 2" "{0..1/2}" "f \<circ> g \<circ> op *\<^sub>R 2" t])
- show "q' 0 = (h \<circ> op *\<^sub>R 2) 0"
+ have "q' t = (h \<circ> ( *\<^sub>R) 2) t" if "0 \<le> t" "t \<le> 1/2" for t
+ proof (rule covering_space_lift_unique [OF cov, of q' 0 "h \<circ> ( *\<^sub>R) 2" "{0..1/2}" "f \<circ> g \<circ> ( *\<^sub>R) 2" t])
+ show "q' 0 = (h \<circ> ( *\<^sub>R) 2) 0"
by (metis \<open>pathstart q' = pathstart q\<close> comp_def g h pastq pathstart_def pth_4(2))
- show "continuous_on {0..1/2} (f \<circ> g \<circ> op *\<^sub>R 2)"
+ show "continuous_on {0..1/2} (f \<circ> g \<circ> ( *\<^sub>R) 2)"
apply (intro continuous_intros continuous_on_compose continuous_on_path [OF \<open>path g\<close>] continuous_on_subset [OF contf])
using g(2) path_image_def by fastforce+
- show "(f \<circ> g \<circ> op *\<^sub>R 2) ` {0..1/2} \<subseteq> S"
+ show "(f \<circ> g \<circ> ( *\<^sub>R) 2) ` {0..1/2} \<subseteq> S"
using g(2) path_image_def fim by fastforce
- show "(h \<circ> op *\<^sub>R 2) ` {0..1/2} \<subseteq> C"
+ show "(h \<circ> ( *\<^sub>R) 2) ` {0..1/2} \<subseteq> C"
using h path_image_def by fastforce
show "q' ` {0..1/2} \<subseteq> C"
using \<open>path_image q' \<subseteq> C\<close> path_image_def by fastforce
- show "\<And>x. x \<in> {0..1/2} \<Longrightarrow> (f \<circ> g \<circ> op *\<^sub>R 2) x = p (q' x)"
+ show "\<And>x. x \<in> {0..1/2} \<Longrightarrow> (f \<circ> g \<circ> ( *\<^sub>R) 2) x = p (q' x)"
by (auto simp: joinpaths_def pq'_eq)
- show "\<And>x. x \<in> {0..1/2} \<Longrightarrow> (f \<circ> g \<circ> op *\<^sub>R 2) x = p ((h \<circ> op *\<^sub>R 2) x)"
+ show "\<And>x. x \<in> {0..1/2} \<Longrightarrow> (f \<circ> g \<circ> ( *\<^sub>R) 2) x = p ((h \<circ> ( *\<^sub>R) 2) x)"
by (simp add: phg)
show "continuous_on {0..1/2} q'"
by (simp add: continuous_on_path \<open>path q'\<close>)
- show "continuous_on {0..1/2} (h \<circ> op *\<^sub>R 2)"
+ show "continuous_on {0..1/2} (h \<circ> ( *\<^sub>R) 2)"
apply (intro continuous_intros continuous_on_compose continuous_on_path [OF \<open>path h\<close>], force)
done
qed (use that in auto)
--- a/src/HOL/Analysis/Improper_Integral.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Improper_Integral.thy Wed Jan 10 15:25:09 2018 +0100
@@ -967,7 +967,7 @@
by (simp add: sum.union_disjoint T''_eq disj \<open>finite A\<close> \<open>finite B\<close>)
also have "... = (\<Sum>(x,K) \<in> A. norm (integral K h - integral K f)) +
(\<Sum>(x,K) \<in> B. norm (?CI K h x + integral K f))"
- by (auto simp: A_def B_def f norm_minus_commute intro!: sum.cong arg_cong2 [where f= "op+"])
+ by (auto simp: A_def B_def f norm_minus_commute intro!: sum.cong arg_cong2 [where f= "(+)"])
also have "... \<le> (\<Sum>(x,K)\<in>A. norm (integral K h)) +
(\<Sum>(x,K)\<in>(\<lambda>(x,K). (x,K \<inter> {x. x \<bullet> i \<le> c})) ` A. norm (integral K h))
+ ((\<Sum>(x,K)\<in>B. norm (?CI K h x)) +
@@ -1663,4 +1663,4 @@
qed
end
-
\ No newline at end of file
+
--- a/src/HOL/Analysis/Inner_Product.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Inner_Product.thy Wed Jan 10 15:25:09 2018 +0100
@@ -239,7 +239,7 @@
instantiation real :: real_inner
begin
-definition inner_real_def [simp]: "inner = op *"
+definition inner_real_def [simp]: "inner = ( * )"
instance
proof
--- a/src/HOL/Analysis/Lebesgue_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Lebesgue_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -750,10 +750,10 @@
finally show "lebesgue = density (distr lebesgue lebesgue T) (\<lambda>_. (\<Prod>j\<in>Basis. \<bar>c j\<bar>))" .
qed
-lemma lebesgue_measurable_scaling[measurable]: "op *\<^sub>R x \<in> lebesgue \<rightarrow>\<^sub>M lebesgue"
+lemma lebesgue_measurable_scaling[measurable]: "( *\<^sub>R) x \<in> lebesgue \<rightarrow>\<^sub>M lebesgue"
proof cases
assume "x = 0"
- then have "op *\<^sub>R x = (\<lambda>x. 0::'a)"
+ then have "( *\<^sub>R) x = (\<lambda>x. 0::'a)"
by (auto simp: fun_eq_iff)
then show ?thesis by auto
next
@@ -843,9 +843,9 @@
lemma lborel_distr_mult:
assumes "(c::real) \<noteq> 0"
- shows "distr lborel borel (op * c) = density lborel (\<lambda>_. inverse \<bar>c\<bar>)"
+ shows "distr lborel borel (( * ) c) = density lborel (\<lambda>_. inverse \<bar>c\<bar>)"
proof-
- have "distr lborel borel (op * c) = distr lborel lborel (op * c)" by (simp cong: distr_cong)
+ have "distr lborel borel (( * ) c) = distr lborel lborel (( * ) c)" by (simp cong: distr_cong)
also from assms have "... = density lborel (\<lambda>_. inverse \<bar>c\<bar>)"
by (subst lborel_real_affine[of "inverse c" 0]) (auto simp: o_def distr_density_distr)
finally show ?thesis .
@@ -853,18 +853,18 @@
lemma lborel_distr_mult':
assumes "(c::real) \<noteq> 0"
- shows "lborel = density (distr lborel borel (op * c)) (\<lambda>_. \<bar>c\<bar>)"
+ shows "lborel = density (distr lborel borel (( * ) c)) (\<lambda>_. \<bar>c\<bar>)"
proof-
have "lborel = density lborel (\<lambda>_. 1)" by (rule density_1[symmetric])
also from assms have "(\<lambda>_. 1 :: ennreal) = (\<lambda>_. inverse \<bar>c\<bar> * \<bar>c\<bar>)" by (intro ext) simp
also have "density lborel ... = density (density lborel (\<lambda>_. inverse \<bar>c\<bar>)) (\<lambda>_. \<bar>c\<bar>)"
by (subst density_density_eq) (auto simp: ennreal_mult)
- also from assms have "density lborel (\<lambda>_. inverse \<bar>c\<bar>) = distr lborel borel (op * c)"
+ also from assms have "density lborel (\<lambda>_. inverse \<bar>c\<bar>) = distr lborel borel (( * ) c)"
by (rule lborel_distr_mult[symmetric])
finally show ?thesis .
qed
-lemma lborel_distr_plus: "distr lborel borel (op + c) = (lborel :: real measure)"
+lemma lborel_distr_plus: "distr lborel borel ((+) c) = (lborel :: real measure)"
by (subst lborel_real_affine[of 1 c]) (auto simp: density_1 one_ennreal_def[symmetric])
interpretation lborel: sigma_finite_measure lborel
@@ -885,7 +885,7 @@
"box (la, lb) (ua, ub) = box la ua \<times> box lb ub"
using lu[of _ 0] lu[of 0] by (auto intro!: inj_onI simp add: Basis_prod_def ball_Un box_def)
show "emeasure (lborel \<Otimes>\<^sub>M lborel) (box (la, lb) (ua, ub)) =
- ennreal (prod (op \<bullet> ((ua, ub) - (la, lb))) Basis)"
+ ennreal (prod ((\<bullet>) ((ua, ub) - (la, lb))) Basis)"
by (simp add: lborel.emeasure_pair_measure_Times Basis_prod_def prod.union_disjoint
prod.reindex ennreal_mult inner_diff_left prod_nonneg)
qed (simp add: borel_prod[symmetric])
@@ -994,7 +994,7 @@
let ?f = "\<lambda>n. root DIM('a) (Suc n)"
- have vimage_eq_image: "op *\<^sub>R (?f n) -` S = op *\<^sub>R (1 / ?f n) ` S" for n
+ have vimage_eq_image: "( *\<^sub>R) (?f n) -` S = ( *\<^sub>R) (1 / ?f n) ` S" for n
apply safe
subgoal for x by (rule image_eqI[of _ _ "?f n *\<^sub>R x"]) auto
subgoal by auto
@@ -1016,20 +1016,20 @@
by (intro summable_iff_suminf_neq_top) (auto simp add: inverse_eq_divide)
then have "top * emeasure lebesgue S = (\<Sum>n. (1 / ?f n)^DIM('a) * emeasure lebesgue S)"
unfolding ennreal_suminf_multc eq by simp
- also have "\<dots> = (\<Sum>n. emeasure lebesgue (op *\<^sub>R (?f n) -` S))"
+ also have "\<dots> = (\<Sum>n. emeasure lebesgue (( *\<^sub>R) (?f n) -` S))"
unfolding vimage_eq_image using emeasure_lebesgue_affine[of "1 / ?f n" 0 S for n] by simp
- also have "\<dots> = emeasure lebesgue (\<Union>n. op *\<^sub>R (?f n) -` S)"
+ also have "\<dots> = emeasure lebesgue (\<Union>n. ( *\<^sub>R) (?f n) -` S)"
proof (intro suminf_emeasure)
- show "disjoint_family (\<lambda>n. op *\<^sub>R (?f n) -` S)"
+ show "disjoint_family (\<lambda>n. ( *\<^sub>R) (?f n) -` S)"
unfolding disjoint_family_on_def
proof safe
fix m n :: nat and x assume "m \<noteq> n" "?f m *\<^sub>R x \<in> S" "?f n *\<^sub>R x \<in> S"
with eq1[of "?f m / ?f n" "?f n *\<^sub>R x"] show "x \<in> {}"
by auto
qed
- have "op *\<^sub>R (?f i) -` S \<in> sets lebesgue" for i
+ have "( *\<^sub>R) (?f i) -` S \<in> sets lebesgue" for i
using measurable_sets[OF lebesgue_measurable_scaling[of "?f i"] S] by auto
- then show "range (\<lambda>i. op *\<^sub>R (?f i) -` S) \<subseteq> sets lebesgue"
+ then show "range (\<lambda>i. ( *\<^sub>R) (?f i) -` S) \<subseteq> sets lebesgue"
by auto
qed
also have "\<dots> \<le> emeasure lebesgue (ball 0 M :: 'a set)"
--- a/src/HOL/Analysis/Linear_Algebra.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Linear_Algebra.thy Wed Jan 10 15:25:09 2018 +0100
@@ -980,7 +980,7 @@
by (intro sum.mono_neutral_cong_left) (auto intro: X)
also have "\<dots> = (\<Sum>z\<in>{z. X x z \<noteq> 0}. X x z *\<^sub>R z) + (\<Sum>z\<in>{z. X y z \<noteq> 0}. X y z *\<^sub>R z)"
by (auto simp add: scaleR_add_left sum.distrib
- intro!: arg_cong2[where f="op +"] sum.mono_neutral_cong_right X)
+ intro!: arg_cong2[where f="(+)"] sum.mono_neutral_cong_right X)
also have "\<dots> = x + y"
by (simp add: X(3)[symmetric])
also have "\<dots> = (\<Sum>z | X (x + y) z \<noteq> 0. X (x + y) z *\<^sub>R z)"
@@ -1024,7 +1024,7 @@
show "g (x + y) = g x + g y"
unfolding g_def X_add *
by (auto simp add: scaleR_add_left sum.distrib
- intro!: arg_cong2[where f="op +"] sum.mono_neutral_cong_right X)
+ intro!: arg_cong2[where f="(+)"] sum.mono_neutral_cong_right X)
next
show "g (r *\<^sub>R x) = r *\<^sub>R g x" for r x
by (auto simp add: g_def X_cmult scaleR_sum_right intro!: sum.mono_neutral_cong_left X)
@@ -1398,7 +1398,7 @@
by (simp add: norm_eq_sqrt_inner)
-text\<open>Equality of vectors in terms of @{term "op \<bullet>"} products.\<close>
+text\<open>Equality of vectors in terms of @{term "(\<bullet>)"} products.\<close>
lemma linear_componentwise:
fixes f:: "'a::euclidean_space \<Rightarrow> 'b::real_inner"
--- a/src/HOL/Analysis/Measure_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Measure_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2348,7 +2348,7 @@
case True
show ?thesis
proof (rule emeasure_measure_of[OF restrict_space_def])
- show "op \<inter> \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)" "A \<in> sets (restrict_space M \<Omega>)"
+ show "(\<inter>) \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)" "A \<in> sets (restrict_space M \<Omega>)"
using \<open>A \<subseteq> \<Omega>\<close> \<open>A \<in> sets M\<close> sets.space_closed by (auto simp: sets_restrict_space)
show "positive (sets (restrict_space M \<Omega>)) (emeasure M)"
by (auto simp: positive_def)
@@ -2427,7 +2427,7 @@
from sigma_finite_countable obtain C
where C: "countable C" "C \<subseteq> sets M" "(\<Union>C) = space M" "\<forall>a\<in>C. emeasure M a \<noteq> \<infinity>"
by blast
- let ?C = "op \<inter> A ` C"
+ let ?C = "(\<inter>) A ` C"
from C have "countable ?C" "?C \<subseteq> sets (restrict_space M A)" "(\<Union>?C) = space (restrict_space M A)"
by(auto simp add: sets_restrict_space space_restrict_space)
moreover {
@@ -2861,7 +2861,7 @@
also have "\<dots> = ?S (\<Union>i. X i)"
unfolding UN_extend_simps(4)
by (auto simp add: suminf_add[symmetric] Diff_eq[symmetric] simp del: UN_simps
- intro!: SUP_cong arg_cong2[where f="op +"] suminf_emeasure
+ intro!: SUP_cong arg_cong2[where f="(+)"] suminf_emeasure
disjoint_family_on_bisimulation[OF \<open>disjoint_family X\<close>])
finally show "(\<Sum>i. ?S (X i)) = ?S (\<Union>i. X i)" .
qed
@@ -3395,13 +3395,13 @@
lemma emeasure_SUP_chain:
assumes sets: "\<And>i. i \<in> A \<Longrightarrow> sets (M i) = sets N" "X \<in> sets N"
- assumes ch: "Complete_Partial_Order.chain op \<le> (M ` A)" and "A \<noteq> {}"
+ assumes ch: "Complete_Partial_Order.chain (\<le>) (M ` A)" and "A \<noteq> {}"
shows "emeasure (SUP i:A. M i) X = (SUP i:A. emeasure (M i) X)"
proof (subst emeasure_SUP[OF sets \<open>A \<noteq> {}\<close>])
show "(SUP J:{J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}. emeasure (SUPREMUM J M) X) = (SUP i:A. emeasure (M i) X)"
proof (rule SUP_eq)
fix J assume "J \<in> {J. J \<noteq> {} \<and> finite J \<and> J \<subseteq> A}"
- then have J: "Complete_Partial_Order.chain op \<le> (M ` J)" "finite J" "J \<noteq> {}" and "J \<subseteq> A"
+ then have J: "Complete_Partial_Order.chain (\<le>) (M ` J)" "finite J" "J \<noteq> {}" and "J \<subseteq> A"
using ch[THEN chain_subset, of "M`J"] by auto
with in_chain_finite[OF J(1)] obtain j where "j \<in> J" "(SUP j:J. M j) = M j"
by auto
--- a/src/HOL/Analysis/Nonnegative_Lebesgue_Integration.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Nonnegative_Lebesgue_Integration.thy Wed Jan 10 15:25:09 2018 +0100
@@ -276,11 +276,11 @@
thus ?thesis by (simp_all add: comp_def)
qed
-lemmas simple_function_add[intro, simp] = simple_function_compose2[where h="op +"]
- and simple_function_diff[intro, simp] = simple_function_compose2[where h="op -"]
+lemmas simple_function_add[intro, simp] = simple_function_compose2[where h="(+)"]
+ and simple_function_diff[intro, simp] = simple_function_compose2[where h="(-)"]
and simple_function_uminus[intro, simp] = simple_function_compose[where g="uminus"]
- and simple_function_mult[intro, simp] = simple_function_compose2[where h="op *"]
- and simple_function_div[intro, simp] = simple_function_compose2[where h="op /"]
+ and simple_function_mult[intro, simp] = simple_function_compose2[where h="( * )"]
+ and simple_function_div[intro, simp] = simple_function_compose2[where h="(/)"]
and simple_function_inverse[intro, simp] = simple_function_compose[where g="inverse"]
and simple_function_max[intro, simp] = simple_function_compose2[where h=max]
@@ -760,7 +760,7 @@
using assms by (intro simple_function_partition) auto
also have "\<dots> = (\<Sum>y\<in>(\<lambda>x. (f x, indicator A x::ennreal))`space M.
if snd y = 1 then fst y * emeasure M (f -` {fst y} \<inter> space M \<inter> A) else 0)"
- by (auto simp: indicator_def split: if_split_asm intro!: arg_cong2[where f="op *"] arg_cong2[where f=emeasure] sum.cong)
+ by (auto simp: indicator_def split: if_split_asm intro!: arg_cong2[where f="( * )"] arg_cong2[where f=emeasure] sum.cong)
also have "\<dots> = (\<Sum>y\<in>(\<lambda>x. (f x, 1::ennreal))`A. fst y * emeasure M (f -` {fst y} \<inter> space M \<inter> A))"
using assms by (subst sum.If_cases) (auto intro!: simple_functionD(1) simp: eq)
also have "\<dots> = (\<Sum>y\<in>fst`(\<lambda>x. (f x, 1::ennreal))`A. y * emeasure M (f -` {y} \<inter> space M \<inter> A))"
@@ -1873,7 +1873,7 @@
lemma nn_integral_monotone_convergence_SUP_nat:
fixes f :: "'a \<Rightarrow> nat \<Rightarrow> ennreal"
- assumes chain: "Complete_Partial_Order.chain op \<le> (f ` Y)"
+ assumes chain: "Complete_Partial_Order.chain (\<le>) (f ` Y)"
and nonempty: "Y \<noteq> {}"
shows "(\<integral>\<^sup>+ x. (SUP i:Y. f i x) \<partial>count_space UNIV) = (SUP i:Y. (\<integral>\<^sup>+ x. f i x \<partial>count_space UNIV))"
(is "?lhs = ?rhs" is "integral\<^sup>N ?M _ = _")
@@ -1913,7 +1913,7 @@
case True
let ?Y = "I ` {..<m}"
have "f ` ?Y \<subseteq> f ` Y" using I by auto
- with chain have chain': "Complete_Partial_Order.chain op \<le> (f ` ?Y)" by(rule chain_subset)
+ with chain have chain': "Complete_Partial_Order.chain (\<le>) (f ` ?Y)" by(rule chain_subset)
hence "Sup (f ` ?Y) \<in> f ` ?Y"
by(rule ccpo_class.in_chain_finite)(auto simp add: True lessThan_empty_iff)
then obtain m' where "m' < m" and m': "(SUP i:?Y. f i) = f (I m')" by auto
--- a/src/HOL/Analysis/Path_Connected.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Path_Connected.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1659,7 +1659,7 @@
fixes a :: "'a :: topological_group_add"
shows "path_connected ((\<lambda>x. a + x) ` S) = path_connected S"
proof -
- have "\<forall>x y. op + (x::'a) ` op + (0 - x) ` y = y"
+ have "\<forall>x y. (+) (x::'a) ` (+) (0 - x) ` y = y"
by (simp add: image_image)
then show ?thesis
by (metis (no_types) path_connected_translationI)
@@ -1738,7 +1738,7 @@
case True then show ?thesis
by (simp add: path_component_refl_eq pathstart_def)
next
- case False have "continuous_on {0..1} (p o (op* y))"
+ case False have "continuous_on {0..1} (p o (( * ) y))"
apply (rule continuous_intros)+
using p [unfolded path_def] y
apply (auto simp: mult_le_one intro: continuous_on_subset [of _ p])
@@ -2012,7 +2012,7 @@
by (intro path_connected_continuous_image path_connected_punctured_universe assms)
with eq have "path_connected (sphere (0::'a) r)"
by auto
- then have "path_connected(op + a ` (sphere (0::'a) r))"
+ then have "path_connected((+) a ` (sphere (0::'a) r))"
by (simp add: path_connected_translation)
then show ?thesis
by (metis add.right_neutral sphere_translation)
@@ -2241,7 +2241,7 @@
assumes "DIM('a) = 1" and "r > 0"
obtains x y where "sphere a r = {x,y} \<and> dist x y = 2*r"
proof -
- have "sphere a r = op + a ` sphere 0 r"
+ have "sphere a r = (+) a ` sphere 0 r"
by (metis add.right_neutral sphere_translation)
then show ?thesis
using sphere_1D_doubleton_zero [OF assms]
@@ -2282,7 +2282,7 @@
assumes 2: "2 \<le> DIM('N)" and pc: "path_connected {r. 0 \<le> r \<and> P r}"
shows "path_connected {x. P(norm(x - a))}"
proof -
- have "{x. P(norm(x - a))} = op+ a ` {x. P(norm x)}"
+ have "{x. P(norm(x - a))} = (+) a ` {x. P(norm x)}"
by force
moreover have "path_connected {x::'N. P(norm x)}"
proof -
@@ -6534,13 +6534,13 @@
next
case False
then obtain a b where ab: "a \<in> S" "b \<in> T" by auto
- then have ss: "subspace (op + (- a) ` S)" "subspace (op + (- b) ` T)"
+ then have ss: "subspace ((+) (- a) ` S)" "subspace ((+) (- b) ` T)"
using affine_diffs_subspace assms by blast+
- have dd: "dim (op + (- a) ` S) = dim (op + (- b) ` T)"
+ have dd: "dim ((+) (- a) ` S) = dim ((+) (- b) ` T)"
using assms ab by (simp add: aff_dim_eq_dim [OF hull_inc] image_def)
- have "S homeomorphic (op + (- a) ` S)"
+ have "S homeomorphic ((+) (- a) ` S)"
by (simp add: homeomorphic_translation)
- also have "... homeomorphic (op + (- b) ` T)"
+ also have "... homeomorphic ((+) (- b) ` T)"
by (rule homeomorphic_subspaces [OF ss dd])
also have "... homeomorphic T"
using homeomorphic_sym homeomorphic_translation by auto
@@ -6792,7 +6792,7 @@
lemma homotopy_eqv_translation:
fixes S :: "'a::real_normed_vector set"
- shows "op + a ` S homotopy_eqv S"
+ shows "(+) a ` S homotopy_eqv S"
apply (rule homeomorphic_imp_homotopy_eqv)
using homeomorphic_translation homeomorphic_sym by blast
--- a/src/HOL/Analysis/Polytope.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Polytope.thy Wed Jan 10 15:25:09 2018 +0100
@@ -18,9 +18,9 @@
unfolding face_of_def by blast
lemma face_of_translation_eq [simp]:
- "(op + a ` T face_of op + a ` S) \<longleftrightarrow> T face_of S"
+ "((+) a ` T face_of (+) a ` S) \<longleftrightarrow> T face_of S"
proof -
- have *: "\<And>a T S. T face_of S \<Longrightarrow> (op + a ` T face_of op + a ` S)"
+ have *: "\<And>a T S. T face_of S \<Longrightarrow> ((+) a ` T face_of (+) a ` S)"
apply (simp add: face_of_def Ball_def, clarify)
apply (drule open_segment_translation_eq [THEN iffD1])
using inj_image_mem_iff inj_add_left apply metis
@@ -1125,7 +1125,7 @@
and ab: "\<And>x. x \<in> closure(convex hull {x. x extreme_point_of S}) \<Longrightarrow> b < a \<bullet> x"
using separating_hyperplane_closed_point [of "closure(convex hull {x. x extreme_point_of S})"]
by blast
- have "continuous_on S (op \<bullet> a)"
+ have "continuous_on S ((\<bullet>) a)"
by (rule continuous_intros)+
then obtain m where "m \<in> S" and m: "\<And>y. y \<in> S \<Longrightarrow> a \<bullet> m \<le> a \<bullet> y"
using continuous_attains_inf [of S "\<lambda>x. a \<bullet> x"] \<open>compact S\<close> \<open>u \<in> S\<close>
@@ -1206,9 +1206,9 @@
show "S \<subseteq> convex hull {x. x extreme_point_of S}"
proof
fix a assume [simp]: "a \<in> S"
- have 1: "compact (op + (- a) ` S)"
+ have 1: "compact ((+) (- a) ` S)"
by (simp add: \<open>compact S\<close> compact_translation)
- have 2: "convex (op + (- a) ` S)"
+ have 2: "convex ((+) (- a) ` S)"
by (simp add: \<open>convex S\<close> convex_translation)
show a_invex: "a \<in> convex hull {x. x extreme_point_of S}"
using Krein_Milman_Minkowski_aux [OF refl 1 2]
@@ -1630,9 +1630,9 @@
proof -
obtain v where "finite v" "S = convex hull v"
using assms polytope_def by auto
- have "finite (op hull convex ` {T. T \<subseteq> v})"
+ have "finite ((hull) convex ` {T. T \<subseteq> v})"
by (simp add: \<open>finite v\<close>)
- moreover have "{F. F face_of S} \<subseteq> (op hull convex ` {T. T \<subseteq> v})"
+ moreover have "{F. F face_of S} \<subseteq> ((hull) convex ` {T. T \<subseteq> v})"
by (metis (no_types, lifting) \<open>finite v\<close> \<open>S = convex hull v\<close> face_of_convex_hull_subset finite_imp_compact image_eqI mem_Collect_eq subsetI)
ultimately show ?thesis
by (blast intro: finite_subset)
@@ -2503,9 +2503,9 @@
case 1 then show ?thesis .
next
case 2
- have "Collect (op \<in> x) \<notin> Collect (op \<in> (\<Union>{A. A facet_of S}))"
+ have "Collect ((\<in>) x) \<notin> Collect ((\<in>) (\<Union>{A. A facet_of S}))"
using xnot by fastforce
- then have "F \<notin> Collect (op \<in> h)"
+ then have "F \<notin> Collect ((\<in>) h)"
using 2 \<open>x \<in> S\<close> facet by blast
with \<open>h \<in> F\<close> have "\<Inter>F \<subseteq> S \<inter> {x. a h \<bullet> x = b h}" by blast
with 2 that \<open>x \<in> \<Inter>F\<close> show ?thesis
@@ -2661,7 +2661,7 @@
apply (auto simp: \<open>bij h\<close> bij_is_surj image_f_inv_f)
done
have "inj h" using bij_is_inj assms by blast
- then have injim: "inj_on (op ` h) A" for A
+ then have injim: "inj_on ((`) h) A" for A
by (simp add: inj_on_def inj_image_eq_iff)
show ?thesis
using \<open>linear h\<close> \<open>inj h\<close>
--- a/src/HOL/Analysis/Riemann_Mapping.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Riemann_Mapping.thy Wed Jan 10 15:25:09 2018 +0100
@@ -138,17 +138,17 @@
proof (intro bdd_aboveI exI ballI, clarify)
show "norm (deriv f 0) \<le> 1 / r" if "f \<in> F" for f
proof -
- have r01: "op * (complex_of_real r) ` ball 0 1 \<subseteq> S"
+ have r01: "( * ) (complex_of_real r) ` ball 0 1 \<subseteq> S"
using that \<open>r > 0\<close> by (auto simp: norm_mult r [THEN subsetD])
- then have "f holomorphic_on op * (complex_of_real r) ` ball 0 1"
+ then have "f holomorphic_on ( * ) (complex_of_real r) ` ball 0 1"
using holomorphic_on_subset [OF holF] by (simp add: that)
then have holf: "f \<circ> (\<lambda>z. (r * z)) holomorphic_on (ball 0 1)"
by (intro holomorphic_intros holomorphic_on_compose)
- have f0: "(f \<circ> op * (complex_of_real r)) 0 = 0"
+ have f0: "(f \<circ> ( * ) (complex_of_real r)) 0 = 0"
using F_def that by auto
have "f ` S \<subseteq> ball 0 1"
using F_def that by blast
- with r01 have fr1: "\<And>z. norm z < 1 \<Longrightarrow> norm ((f \<circ> op*(of_real r))z) < 1"
+ with r01 have fr1: "\<And>z. norm z < 1 \<Longrightarrow> norm ((f \<circ> ( * )(of_real r))z) < 1"
by force
have *: "((\<lambda>w. f (r * w)) has_field_derivative deriv f (r * z) * r) (at z)"
if "z \<in> ball 0 1" for z::complex
@@ -162,7 +162,7 @@
using * [of 0] by simp
have deq: "deriv (\<lambda>x. f (complex_of_real r * x)) 0 = deriv f 0 * complex_of_real r"
using DERIV_imp_deriv df0 by blast
- have "norm (deriv (f \<circ> op * (complex_of_real r)) 0) \<le> 1"
+ have "norm (deriv (f \<circ> ( * ) (complex_of_real r)) 0) \<le> 1"
by (auto intro: Schwarz_Lemma [OF holf f0 fr1, of 0])
with \<open>r > 0\<close> show ?thesis
by (simp add: deq norm_mult divide_simps o_def)
--- a/src/HOL/Analysis/Set_Integral.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Set_Integral.thy Wed Jan 10 15:25:09 2018 +0100
@@ -310,7 +310,7 @@
by (auto intro!: set_integral_Un set_integrable_subset[OF f])
also have "\<dots> = (LINT x:A|M. f x) + (LINT x:B|M. f x)"
using ae
- by (intro arg_cong2[where f="op+"] set_integral_cong_set)
+ by (intro arg_cong2[where f="(+)"] set_integral_cong_set)
(auto intro!: set_borel_measurable_subset[OF f'])
finally show ?thesis .
qed
--- a/src/HOL/Analysis/Sigma_Algebra.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Sigma_Algebra.thy Wed Jan 10 15:25:09 2018 +0100
@@ -217,7 +217,7 @@
subsubsection \<open>Restricted algebras\<close>
abbreviation (in algebra)
- "restricted_space A \<equiv> (op \<inter> A) ` M"
+ "restricted_space A \<equiv> ((\<inter>) A) ` M"
lemma (in algebra) restricted_algebra:
assumes "A \<in> M" shows "algebra A (restricted_space A)"
@@ -617,11 +617,11 @@
lemma sigma_sets_Int:
assumes "A \<in> sigma_sets sp st" "A \<subseteq> sp"
- shows "op \<inter> A ` sigma_sets sp st = sigma_sets A (op \<inter> A ` st)"
+ shows "(\<inter>) A ` sigma_sets sp st = sigma_sets A ((\<inter>) A ` st)"
proof (intro equalityI subsetI)
- fix x assume "x \<in> op \<inter> A ` sigma_sets sp st"
+ fix x assume "x \<in> (\<inter>) A ` sigma_sets sp st"
then obtain y where "y \<in> sigma_sets sp st" "x = y \<inter> A" by auto
- then have "x \<in> sigma_sets (A \<inter> sp) (op \<inter> A ` st)"
+ then have "x \<in> sigma_sets (A \<inter> sp) ((\<inter>) A ` st)"
proof (induct arbitrary: x)
case (Compl a)
then show ?case
@@ -632,11 +632,11 @@
by (auto intro!: sigma_sets.Union
simp add: UN_extend_simps simp del: UN_simps)
qed (auto intro!: sigma_sets.intros(2-))
- then show "x \<in> sigma_sets A (op \<inter> A ` st)"
+ then show "x \<in> sigma_sets A ((\<inter>) A ` st)"
using \<open>A \<subseteq> sp\<close> by (simp add: Int_absorb2)
next
- fix x assume "x \<in> sigma_sets A (op \<inter> A ` st)"
- then show "x \<in> op \<inter> A ` sigma_sets sp st"
+ fix x assume "x \<in> sigma_sets A ((\<inter>) A ` st)"
+ then show "x \<in> (\<inter>) A ` sigma_sets sp st"
proof induct
case (Compl a)
then obtain x where "a = A \<inter> x" "x \<in> sigma_sets sp st" by auto
@@ -2087,7 +2087,7 @@
subsubsection \<open>Restricted Space Sigma Algebra\<close>
definition restrict_space where
- "restrict_space M \<Omega> = measure_of (\<Omega> \<inter> space M) ((op \<inter> \<Omega>) ` sets M) (emeasure M)"
+ "restrict_space M \<Omega> = measure_of (\<Omega> \<inter> space M) (((\<inter>) \<Omega>) ` sets M) (emeasure M)"
lemma space_restrict_space: "space (restrict_space M \<Omega>) = \<Omega> \<inter> space M"
using sets.sets_into_space unfolding restrict_space_def by (subst space_measure_of) auto
@@ -2095,10 +2095,10 @@
lemma space_restrict_space2: "\<Omega> \<in> sets M \<Longrightarrow> space (restrict_space M \<Omega>) = \<Omega>"
by (simp add: space_restrict_space sets.sets_into_space)
-lemma sets_restrict_space: "sets (restrict_space M \<Omega>) = (op \<inter> \<Omega>) ` sets M"
+lemma sets_restrict_space: "sets (restrict_space M \<Omega>) = ((\<inter>) \<Omega>) ` sets M"
unfolding restrict_space_def
proof (subst sets_measure_of)
- show "op \<inter> \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)"
+ show "(\<inter>) \<Omega> ` sets M \<subseteq> Pow (\<Omega> \<inter> space M)"
by (auto dest: sets.sets_into_space)
have "sigma_sets (\<Omega> \<inter> space M) {((\<lambda>x. x) -` X) \<inter> (\<Omega> \<inter> space M) | X. X \<in> sets M} =
(\<lambda>X. X \<inter> (\<Omega> \<inter> space M)) ` sets M"
@@ -2106,9 +2106,9 @@
(auto simp add: sets.sigma_sets_eq)
moreover have "{((\<lambda>x. x) -` X) \<inter> (\<Omega> \<inter> space M) | X. X \<in> sets M} = (\<lambda>X. X \<inter> (\<Omega> \<inter> space M)) ` sets M"
by auto
- moreover have "(\<lambda>X. X \<inter> (\<Omega> \<inter> space M)) ` sets M = (op \<inter> \<Omega>) ` sets M"
+ moreover have "(\<lambda>X. X \<inter> (\<Omega> \<inter> space M)) ` sets M = ((\<inter>) \<Omega>) ` sets M"
by (intro image_cong) (auto dest: sets.sets_into_space)
- ultimately show "sigma_sets (\<Omega> \<inter> space M) (op \<inter> \<Omega> ` sets M) = op \<inter> \<Omega> ` sets M"
+ ultimately show "sigma_sets (\<Omega> \<inter> space M) ((\<inter>) \<Omega> ` sets M) = (\<inter>) \<Omega> ` sets M"
by simp
qed
--- a/src/HOL/Analysis/Starlike.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Starlike.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1277,13 +1277,13 @@
using as(3)
unfolding substdbasis_expansion_unique[OF assms]
by auto
- then have **: "sum u ?D = sum (op \<bullet> x) ?D"
+ then have **: "sum u ?D = sum ((\<bullet>) x) ?D"
apply -
apply (rule sum.cong)
using assms
apply auto
done
- have "(\<forall>i\<in>Basis. 0 \<le> x\<bullet>i) \<and> sum (op \<bullet> x) ?D \<le> 1"
+ have "(\<forall>i\<in>Basis. 0 \<le> x\<bullet>i) \<and> sum ((\<bullet>) x) ?D \<le> 1"
proof (rule,rule)
fix i :: 'a
assume i: "i \<in> Basis"
@@ -1296,11 +1296,11 @@
using \<open>(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)\<close>[rule_format, OF i] by auto
ultimately show "0 \<le> x\<bullet>i" by auto
qed (insert as(2)[unfolded **], auto)
- then show "(\<forall>i\<in>Basis. 0 \<le> x\<bullet>i) \<and> sum (op \<bullet> x) ?D \<le> 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
+ then show "(\<forall>i\<in>Basis. 0 \<le> x\<bullet>i) \<and> sum ((\<bullet>) x) ?D \<le> 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
using \<open>(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)\<close> by auto
next
fix x :: "'a::euclidean_space"
- assume as: "\<forall>i\<in>Basis. 0 \<le> x \<bullet> i" "sum (op \<bullet> x) ?D \<le> 1" "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
+ assume as: "\<forall>i\<in>Basis. 0 \<le> x \<bullet> i" "sum ((\<bullet>) x) ?D \<le> 1" "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
show "\<exists>u. (\<forall>x\<in>?D. 0 \<le> u x) \<and> sum u ?D \<le> 1 \<and> (\<Sum>x\<in>?D. u x *\<^sub>R x) = x"
using as d
unfolding substdbasis_expansion_unique[OF assms]
@@ -1329,8 +1329,8 @@
proof -
fix x :: 'a
fix e
- assume "e > 0" and as: "\<forall>xa. dist x xa < e \<longrightarrow> (\<forall>x\<in>Basis. 0 \<le> xa \<bullet> x) \<and> sum (op \<bullet> xa) Basis \<le> 1"
- show "(\<forall>xa\<in>Basis. 0 < x \<bullet> xa) \<and> sum (op \<bullet> x) Basis < 1"
+ assume "e > 0" and as: "\<forall>xa. dist x xa < e \<longrightarrow> (\<forall>x\<in>Basis. 0 \<le> xa \<bullet> x) \<and> sum ((\<bullet>) xa) Basis \<le> 1"
+ show "(\<forall>xa\<in>Basis. 0 < x \<bullet> xa) \<and> sum ((\<bullet>) x) Basis < 1"
apply safe
proof -
fix i :: 'a
@@ -1346,12 +1346,12 @@
have "\<And>i. i \<in> Basis \<Longrightarrow> (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis)) \<bullet> i =
x\<bullet>i + (if i = (SOME i. i\<in>Basis) then e/2 else 0)"
by (auto simp: SOME_Basis inner_Basis inner_simps)
- then have *: "sum (op \<bullet> (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis))) Basis =
+ then have *: "sum ((\<bullet>) (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis))) Basis =
sum (\<lambda>i. x\<bullet>i + (if (SOME i. i\<in>Basis) = i then e/2 else 0)) Basis"
apply (rule_tac sum.cong)
apply auto
done
- have "sum (op \<bullet> x) Basis < sum (op \<bullet> (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis))) Basis"
+ have "sum ((\<bullet>) x) Basis < sum ((\<bullet>) (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis))) Basis"
unfolding * sum.distrib
using \<open>e > 0\<close> DIM_positive[where 'a='a]
apply (subst sum.delta')
@@ -1362,18 +1362,18 @@
apply (drule_tac as[rule_format])
apply auto
done
- finally show "sum (op \<bullet> x) Basis < 1" by auto
+ finally show "sum ((\<bullet>) x) Basis < 1" by auto
qed
next
fix x :: 'a
- assume as: "\<forall>i\<in>Basis. 0 < x \<bullet> i" "sum (op \<bullet> x) Basis < 1"
+ assume as: "\<forall>i\<in>Basis. 0 < x \<bullet> i" "sum ((\<bullet>) x) Basis < 1"
obtain a :: 'b where "a \<in> UNIV" using UNIV_witness ..
- let ?d = "(1 - sum (op \<bullet> x) Basis) / real (DIM('a))"
- show "\<exists>e>0. \<forall>y. dist x y < e \<longrightarrow> (\<forall>i\<in>Basis. 0 \<le> y \<bullet> i) \<and> sum (op \<bullet> y) Basis \<le> 1"
- proof (rule_tac x="min (Min ((op \<bullet> x) ` Basis)) D" for D in exI, intro conjI impI allI)
+ let ?d = "(1 - sum ((\<bullet>) x) Basis) / real (DIM('a))"
+ show "\<exists>e>0. \<forall>y. dist x y < e \<longrightarrow> (\<forall>i\<in>Basis. 0 \<le> y \<bullet> i) \<and> sum ((\<bullet>) y) Basis \<le> 1"
+ proof (rule_tac x="min (Min (((\<bullet>) x) ` Basis)) D" for D in exI, intro conjI impI allI)
fix y
- assume y: "dist x y < min (Min (op \<bullet> x ` Basis)) ?d"
- have "sum (op \<bullet> y) Basis \<le> sum (\<lambda>i. x\<bullet>i + ?d) Basis"
+ assume y: "dist x y < min (Min ((\<bullet>) x ` Basis)) ?d"
+ have "sum ((\<bullet>) y) Basis \<le> sum (\<lambda>i. x\<bullet>i + ?d) Basis"
proof (rule sum_mono)
fix i :: 'a
assume i: "i \<in> Basis"
@@ -1389,7 +1389,7 @@
also have "\<dots> \<le> 1"
unfolding sum.distrib sum_constant
by (auto simp add: Suc_le_eq)
- finally show "sum (op \<bullet> y) Basis \<le> 1" .
+ finally show "sum ((\<bullet>) y) Basis \<le> 1" .
show "(\<forall>i\<in>Basis. 0 \<le> y \<bullet> i)"
proof safe
fix i :: 'a
@@ -1405,11 +1405,11 @@
by (auto simp: inner_simps)
qed
next
- have "Min ((op \<bullet> x) ` Basis) > 0"
+ have "Min (((\<bullet>) x) ` Basis) > 0"
using as by simp
moreover have "?d > 0"
using as by (auto simp: Suc_le_eq)
- ultimately show "0 < min (Min (op \<bullet> x ` Basis)) ((1 - sum (op \<bullet> x) Basis) / real DIM('a))"
+ ultimately show "0 < min (Min ((\<bullet>) x ` Basis)) ((1 - sum ((\<bullet>) x) Basis) / real DIM('a))"
by linarith
qed
qed
@@ -1436,7 +1436,7 @@
show "0 < ?a \<bullet> i"
unfolding **[OF i] by (auto simp add: Suc_le_eq DIM_positive)
next
- have "sum (op \<bullet> ?a) ?D = sum (\<lambda>i. inverse (2 * real DIM('a))) ?D"
+ have "sum ((\<bullet>) ?a) ?D = sum (\<lambda>i. inverse (2 * real DIM('a))) ?D"
apply (rule sum.cong)
apply rule
apply auto
@@ -1444,7 +1444,7 @@
also have "\<dots> < 1"
unfolding sum_constant divide_inverse[symmetric]
by (auto simp add: field_simps)
- finally show "sum (op \<bullet> ?a) ?D < 1" by auto
+ finally show "sum ((\<bullet>) ?a) ?D < 1" by auto
qed
qed
@@ -1478,11 +1478,11 @@
"ball x e \<inter> {xa. (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> xa\<bullet>i = 0)} \<subseteq> convex hull (insert 0 ?p)"
using mem_rel_interior_ball[of x "convex hull (insert 0 ?p)"] h0 by auto
then have as: "\<forall>xa. dist x xa < e \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> xa\<bullet>i = 0) \<longrightarrow>
- (\<forall>i\<in>d. 0 \<le> xa \<bullet> i) \<and> sum (op \<bullet> xa) d \<le> 1"
+ (\<forall>i\<in>d. 0 \<le> xa \<bullet> i) \<and> sum ((\<bullet>) xa) d \<le> 1"
unfolding ball_def unfolding substd_simplex[OF assms] using assms by auto
have x0: "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0)"
using x rel_interior_subset substd_simplex[OF assms] by auto
- have "(\<forall>i\<in>d. 0 < x \<bullet> i) \<and> sum (op \<bullet> x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0)"
+ have "(\<forall>i\<in>d. 0 < x \<bullet> i) \<and> sum ((\<bullet>) x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0)"
apply rule
apply rule
proof -
@@ -1509,14 +1509,14 @@
by auto
have "\<And>i. i \<in> Basis \<Longrightarrow> (x + (e / 2) *\<^sub>R a) \<bullet> i = x\<bullet>i + (if i = a then e/2 else 0)"
using a d by (auto simp: inner_simps inner_Basis)
- then have *: "sum (op \<bullet> (x + (e / 2) *\<^sub>R a)) d =
+ then have *: "sum ((\<bullet>) (x + (e / 2) *\<^sub>R a)) d =
sum (\<lambda>i. x\<bullet>i + (if a = i then e/2 else 0)) d"
using d by (intro sum.cong) auto
have "a \<in> Basis"
using \<open>a \<in> d\<close> d by auto
then have h1: "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> (x + (e / 2) *\<^sub>R a) \<bullet> i = 0)"
using x0 d \<open>a\<in>d\<close> by (auto simp add: inner_add_left inner_Basis)
- have "sum (op \<bullet> x) d < sum (op \<bullet> (x + (e / 2) *\<^sub>R a)) d"
+ have "sum ((\<bullet>) x) d < sum ((\<bullet>) (x + (e / 2) *\<^sub>R a)) d"
unfolding * sum.distrib
using \<open>e > 0\<close> \<open>a \<in> d\<close>
using \<open>finite d\<close>
@@ -1524,7 +1524,7 @@
also have "\<dots> \<le> 1"
using ** h1 as[rule_format, of "x + (e / 2) *\<^sub>R a"]
by auto
- finally show "sum (op \<bullet> x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0)"
+ finally show "sum ((\<bullet>) x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x\<bullet>i = 0)"
using x0 by auto
qed
}
@@ -1543,28 +1543,28 @@
unfolding substd_simplex[OF assms] by fastforce
obtain a where a: "a \<in> d"
using \<open>d \<noteq> {}\<close> by auto
- let ?d = "(1 - sum (op \<bullet> x) d) / real (card d)"
+ let ?d = "(1 - sum ((\<bullet>) x) d) / real (card d)"
have "0 < card d" using \<open>d \<noteq> {}\<close> \<open>finite d\<close>
by (simp add: card_gt_0_iff)
- have "Min ((op \<bullet> x) ` d) > 0"
+ have "Min (((\<bullet>) x) ` d) > 0"
using as \<open>d \<noteq> {}\<close> \<open>finite d\<close> by (simp add: Min_gr_iff)
moreover have "?d > 0" using as using \<open>0 < card d\<close> by auto
- ultimately have h3: "min (Min ((op \<bullet> x) ` d)) ?d > 0"
+ ultimately have h3: "min (Min (((\<bullet>) x) ` d)) ?d > 0"
by auto
have "x \<in> rel_interior (convex hull (insert 0 ?p))"
unfolding rel_interior_ball mem_Collect_eq h0
apply (rule,rule h2)
unfolding substd_simplex[OF assms]
- apply (rule_tac x="min (Min ((op \<bullet> x) ` d)) ?d" in exI)
+ apply (rule_tac x="min (Min (((\<bullet>) x) ` d)) ?d" in exI)
apply (rule, rule h3)
apply safe
unfolding mem_ball
proof -
fix y :: 'a
- assume y: "dist x y < min (Min (op \<bullet> x ` d)) ?d"
+ assume y: "dist x y < min (Min ((\<bullet>) x ` d)) ?d"
assume y2: "\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> y\<bullet>i = 0"
- have "sum (op \<bullet> y) d \<le> sum (\<lambda>i. x\<bullet>i + ?d) d"
+ have "sum ((\<bullet>) y) d \<le> sum (\<lambda>i. x\<bullet>i + ?d) d"
proof (rule sum_mono)
fix i
assume "i \<in> d"
@@ -1581,7 +1581,7 @@
also have "\<dots> \<le> 1"
unfolding sum.distrib sum_constant using \<open>0 < card d\<close>
by auto
- finally show "sum (op \<bullet> y) d \<le> 1" .
+ finally show "sum ((\<bullet>) y) d \<le> 1" .
fix i :: 'a
assume i: "i \<in> Basis"
@@ -1590,7 +1590,7 @@
case True
have "norm (x - y) < x\<bullet>i"
using y[unfolded min_less_iff_conj dist_norm, THEN conjunct1]
- using Min_gr_iff[of "op \<bullet> x ` d" "norm (x - y)"] \<open>0 < card d\<close> \<open>i:d\<close>
+ using Min_gr_iff[of "(\<bullet>) x ` d" "norm (x - y)"] \<open>0 < card d\<close> \<open>i:d\<close>
by (simp add: card_gt_0_iff)
then show "0 \<le> y\<bullet>i"
using Basis_le_norm[OF i, of "x - y"] and as(1)[rule_format]
@@ -1600,7 +1600,7 @@
}
ultimately have
"\<And>x. x \<in> rel_interior (convex hull insert 0 d) \<longleftrightarrow>
- x \<in> {x. (\<forall>i\<in>d. 0 < x \<bullet> i) \<and> sum (op \<bullet> x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)}"
+ x \<in> {x. (\<forall>i\<in>d. 0 < x \<bullet> i) \<and> sum ((\<bullet>) x) d < 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)}"
by blast
then show ?thesis by (rule set_eqI)
qed
@@ -1645,12 +1645,12 @@
by auto
finally show "0 < ?a \<bullet> i" by auto
next
- have "sum (op \<bullet> ?a) ?D = sum (\<lambda>i. inverse (2 * real (card d))) ?D"
+ have "sum ((\<bullet>) ?a) ?D = sum (\<lambda>i. inverse (2 * real (card d))) ?D"
by (rule sum.cong) (rule refl, rule **)
also have "\<dots> < 1"
unfolding sum_constant divide_real_def[symmetric]
by (auto simp add: field_simps)
- finally show "sum (op \<bullet> ?a) ?D < 1" by auto
+ finally show "sum ((\<bullet>) ?a) ?D < 1" by auto
next
fix i
assume "i \<in> Basis" and "i \<notin> d"
@@ -1748,10 +1748,10 @@
{
assume "S \<noteq> {}"
then obtain a where "a \<in> S" by auto
- then have "0 \<in> op + (-a) ` S"
+ then have "0 \<in> (+) (-a) ` S"
using assms exI[of "(\<lambda>x. x \<in> S \<and> - a + x = 0)" a] by auto
- then have "rel_interior (op + (-a) ` S) \<noteq> {}"
- using rel_interior_convex_nonempty_aux[of "op + (-a) ` S"]
+ then have "rel_interior ((+) (-a) ` S) \<noteq> {}"
+ using rel_interior_convex_nonempty_aux[of "(+) (-a) ` S"]
convex_translation[of S "-a"] assms
by auto
then have "rel_interior S \<noteq> {}"
@@ -2958,22 +2958,22 @@
lemma rel_interior_scaleR:
fixes S :: "'n::euclidean_space set"
assumes "c \<noteq> 0"
- shows "(op *\<^sub>R c) ` (rel_interior S) = rel_interior ((op *\<^sub>R c) ` S)"
- using rel_interior_injective_linear_image[of "(op *\<^sub>R c)" S]
- linear_conv_bounded_linear[of "op *\<^sub>R c"] linear_scaleR injective_scaleR[of c] assms
+ shows "(( *\<^sub>R) c) ` (rel_interior S) = rel_interior ((( *\<^sub>R) c) ` S)"
+ using rel_interior_injective_linear_image[of "(( *\<^sub>R) c)" S]
+ linear_conv_bounded_linear[of "( *\<^sub>R) c"] linear_scaleR injective_scaleR[of c] assms
by auto
lemma rel_interior_convex_scaleR:
fixes S :: "'n::euclidean_space set"
assumes "convex S"
- shows "(op *\<^sub>R c) ` (rel_interior S) = rel_interior ((op *\<^sub>R c) ` S)"
+ shows "(( *\<^sub>R) c) ` (rel_interior S) = rel_interior ((( *\<^sub>R) c) ` S)"
by (metis assms linear_scaleR rel_interior_convex_linear_image)
lemma convex_rel_open_scaleR:
fixes S :: "'n::euclidean_space set"
assumes "convex S"
and "rel_open S"
- shows "convex ((op *\<^sub>R c) ` S) \<and> rel_open ((op *\<^sub>R c) ` S)"
+ shows "convex ((( *\<^sub>R) c) ` S) \<and> rel_open ((( *\<^sub>R) c) ` S)"
by (metis assms convex_scaling rel_interior_convex_scaleR rel_open_def)
lemma convex_rel_open_finite_inter:
@@ -3142,10 +3142,10 @@
by (simp add: rel_interior_empty cone_0)
next
case False
- then have *: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> op *\<^sub>R c ` S = S)"
+ then have *: "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> ( *\<^sub>R) c ` S = S)"
using cone_iff[of S] assms by auto
then have *: "0 \<in> ({0} \<union> rel_interior S)"
- and "\<forall>c. c > 0 \<longrightarrow> op *\<^sub>R c ` ({0} \<union> rel_interior S) = ({0} \<union> rel_interior S)"
+ and "\<forall>c. c > 0 \<longrightarrow> ( *\<^sub>R) c ` ({0} \<union> rel_interior S) = ({0} \<union> rel_interior S)"
by (auto simp add: rel_interior_scaleR)
then show ?thesis
using cone_iff[of "{0} \<union> rel_interior S"] by auto
@@ -3155,7 +3155,7 @@
fixes S :: "'m::euclidean_space set"
assumes "convex S"
shows "(c, x) \<in> rel_interior (cone hull ({(1 :: real)} \<times> S)) \<longleftrightarrow>
- c > 0 \<and> x \<in> ((op *\<^sub>R c) ` (rel_interior S))"
+ c > 0 \<and> x \<in> ((( *\<^sub>R) c) ` (rel_interior S))"
proof (cases "S = {}")
case True
then show ?thesis
@@ -3188,9 +3188,9 @@
{
fix c :: real
assume "c > 0"
- then have "f c = (op *\<^sub>R c ` S)"
+ then have "f c = (( *\<^sub>R) c ` S)"
using f_def cone_hull_expl[of "{1 :: real} \<times> S"] by auto
- then have "rel_interior (f c) = op *\<^sub>R c ` rel_interior S"
+ then have "rel_interior (f c) = ( *\<^sub>R) c ` rel_interior S"
using rel_interior_convex_scaleR[of S c] assms by auto
}
then show ?thesis using * ** by auto
@@ -5154,9 +5154,9 @@
let ?\<C> = "insert (U \<union> V) ((\<lambda>S. N - S) ` \<F>)"
obtain \<D> where "\<D> \<subseteq> ?\<C>" "finite \<D>" "K \<subseteq> \<Union>\<D>"
proof (rule compactE [OF \<open>compact K\<close>])
- show "K \<subseteq> \<Union>insert (U \<union> V) (op - N ` \<F>)"
+ show "K \<subseteq> \<Union>insert (U \<union> V) ((-) N ` \<F>)"
using \<open>K \<subseteq> N\<close> ABeq \<open>A \<subseteq> U\<close> \<open>B \<subseteq> V\<close> by auto
- show "\<And>B. B \<in> insert (U \<union> V) (op - N ` \<F>) \<Longrightarrow> open B"
+ show "\<And>B. B \<in> insert (U \<union> V) ((-) N ` \<F>) \<Longrightarrow> open B"
by (auto simp: \<open>open U\<close> \<open>open V\<close> open_Un \<open>open N\<close> cc compact_imp_closed open_Diff)
qed
then have "finite(\<D> - {U \<union> V})"
@@ -5195,7 +5195,7 @@
by auto
next
assume "N - X \<subseteq> N - J"
- with J have "N - X \<union> UNION \<H> (op - N) \<subseteq> N - J"
+ with J have "N - X \<union> UNION \<H> ((-) N) \<subseteq> N - J"
by auto
with \<open>J \<in> \<H>\<close> show ?thesis
by blast
@@ -5234,9 +5234,9 @@
using X by blast
moreover have "connected (\<Inter>T\<in>\<F>. X \<inter> T)"
proof (rule connected_chain)
- show "\<And>T. T \<in> op \<inter> X ` \<F> \<Longrightarrow> compact T \<and> connected T"
+ show "\<And>T. T \<in> (\<inter>) X ` \<F> \<Longrightarrow> compact T \<and> connected T"
using cc X by auto (metis inf.absorb2 inf.orderE local.linear)
- show "\<And>S T. S \<in> op \<inter> X ` \<F> \<and> T \<in> op \<inter> X ` \<F> \<Longrightarrow> S \<subseteq> T \<or> T \<subseteq> S"
+ show "\<And>S T. S \<in> (\<inter>) X ` \<F> \<and> T \<in> (\<inter>) X ` \<F> \<Longrightarrow> S \<subseteq> T \<or> T \<subseteq> S"
using local.linear by blast
qed
ultimately show ?thesis
@@ -5599,7 +5599,7 @@
using assms interior_subset by blast
then obtain e where "e > 0" and e: "cball a e \<subseteq> T"
using mem_interior_cball by blast
- have *: "x \<in> op + a ` span ((\<lambda>x. x - a) ` (S \<inter> T))" if "x \<in> S" for x
+ have *: "x \<in> (+) a ` span ((\<lambda>x. x - a) ` (S \<inter> T))" if "x \<in> S" for x
proof (cases "x = a")
case True with that span_0 eq_add_iff image_def mem_Collect_eq show ?thesis
by blast
@@ -5870,19 +5870,19 @@
done
next
case False
- have xc_im: "x \<in> op + c ` {y. a \<bullet> y = 0}" if "a \<bullet> x = a \<bullet> c" for a x
+ have xc_im: "x \<in> (+) c ` {y. a \<bullet> y = 0}" if "a \<bullet> x = a \<bullet> c" for a x
proof -
have "\<exists>y. a \<bullet> y = 0 \<and> c + y = x"
by (metis that add.commute diff_add_cancel inner_commute inner_diff_left right_minus_eq)
- then show "x \<in> op + c ` {y. a \<bullet> y = 0}"
+ then show "x \<in> (+) c ` {y. a \<bullet> y = 0}"
by blast
qed
have 2: "span ((\<lambda>x. x - c) ` S) = {x. a \<bullet> x = 0}"
- if "op + c ` span ((\<lambda>x. x - c) ` S) = {x. a \<bullet> x = b}" for a b
+ if "(+) c ` span ((\<lambda>x. x - c) ` S) = {x. a \<bullet> x = b}" for a b
proof -
have "b = a \<bullet> c"
using span_0 that by fastforce
- with that have "op + c ` span ((\<lambda>x. x - c) ` S) = {x. a \<bullet> x = a \<bullet> c}"
+ with that have "(+) c ` span ((\<lambda>x. x - c) ` S) = {x. a \<bullet> x = a \<bullet> c}"
by simp
then have "span ((\<lambda>x. x - c) ` S) = (\<lambda>x. x - c) ` {x. a \<bullet> x = a \<bullet> c}"
by (metis (no_types) image_cong translation_galois uminus_add_conv_diff)
@@ -6183,21 +6183,21 @@
and "\<And>x. x \<in> S \<Longrightarrow> a \<bullet> x \<ge> b"
proof -
from separating_hyperplane_set_0_inspan [of "image (\<lambda>x. -z + x) S"]
- have "convex (op + (- z) ` S)"
+ have "convex ((+) (- z) ` S)"
by (simp add: \<open>convex S\<close>)
- moreover have "op + (- z) ` S \<noteq> {}"
+ moreover have "(+) (- z) ` S \<noteq> {}"
by (simp add: \<open>S \<noteq> {}\<close>)
- moreover have "0 \<notin> op + (- z) ` S"
+ moreover have "0 \<notin> (+) (- z) ` S"
using zno by auto
- ultimately obtain a where "a \<in> span (op + (- z) ` S)" "a \<noteq> 0"
- and a: "\<And>x. x \<in> (op + (- z) ` S) \<Longrightarrow> 0 \<le> a \<bullet> x"
+ ultimately obtain a where "a \<in> span ((+) (- z) ` S)" "a \<noteq> 0"
+ and a: "\<And>x. x \<in> ((+) (- z) ` S) \<Longrightarrow> 0 \<le> a \<bullet> x"
using separating_hyperplane_set_0_inspan [of "image (\<lambda>x. -z + x) S"]
by blast
then have szx: "\<And>x. x \<in> S \<Longrightarrow> a \<bullet> z \<le> a \<bullet> x"
by (metis (no_types, lifting) imageI inner_minus_right inner_right_distrib minus_add neg_le_0_iff_le neg_le_iff_le real_add_le_0_iff)
show ?thesis
apply (rule_tac a=a and b = "a \<bullet> z" in that, simp_all)
- using \<open>a \<in> span (op + (- z) ` S)\<close> affine_hull_insert_span_gen apply blast
+ using \<open>a \<in> span ((+) (- z) ` S)\<close> affine_hull_insert_span_gen apply blast
apply (simp_all add: \<open>a \<noteq> 0\<close> szx)
done
qed
@@ -6216,7 +6216,7 @@
by (auto simp: rel_interior_eq_empty convex_rel_interior)
have le_ay: "a \<bullet> x \<le> a \<bullet> y" if "y \<in> S" for y
proof -
- have con: "continuous_on (closure (rel_interior S)) (op \<bullet> a)"
+ have con: "continuous_on (closure (rel_interior S)) ((\<bullet>) a)"
by (rule continuous_intros continuous_on_subset | blast)+
have y: "y \<in> closure (rel_interior S)"
using \<open>convex S\<close> closure_def convex_closure_rel_interior \<open>y \<in> S\<close>
@@ -6701,17 +6701,17 @@
obtain c where "c \<in> S" and c: "a \<bullet> c = b"
using assms by force
with affine_diffs_subspace [OF \<open>affine S\<close>]
- have "subspace (op + (- c) ` S)" by blast
- then have aff: "affine (op + (- c) ` S)"
+ have "subspace ((+) (- c) ` S)" by blast
+ then have aff: "affine ((+) (- c) ` S)"
by (simp add: subspace_imp_affine)
- have 0: "0 \<in> op + (- c) ` S"
+ have 0: "0 \<in> (+) (- c) ` S"
by (simp add: \<open>c \<in> S\<close>)
- obtain d where "d \<in> S" and "a \<bullet> d \<noteq> b" and dc: "d-c \<in> op + (- c) ` S"
+ obtain d where "d \<in> S" and "a \<bullet> d \<noteq> b" and dc: "d-c \<in> (+) (- c) ` S"
using assms by auto
then have adc: "a \<bullet> (d - c) \<noteq> 0"
by (simp add: c inner_diff_right)
- let ?U = "op + (c+c) ` {x + y |x y. x \<in> op + (- c) ` S \<and> a \<bullet> y = 0}"
- have "u + v \<in> op + (c + c) ` {x + v |x v. x \<in> op + (- c) ` S \<and> a \<bullet> v = 0}"
+ let ?U = "(+) (c+c) ` {x + y |x y. x \<in> (+) (- c) ` S \<and> a \<bullet> y = 0}"
+ have "u + v \<in> (+) (c + c) ` {x + v |x v. x \<in> (+) (- c) ` S \<and> a \<bullet> v = 0}"
if "u \<in> S" "b = a \<bullet> v" for u v
apply (rule_tac x="u+v-c-c" in image_eqI)
apply (simp_all add: algebra_simps)
@@ -6724,7 +6724,7 @@
by (metis add.left_commute c inner_right_distrib pth_d)
ultimately have "{x + y |x y. x \<in> S \<and> a \<bullet> y = b} = ?U"
by (fastforce simp: algebra_simps)
- also have "... = op + (c+c) ` UNIV"
+ also have "... = (+) (c+c) ` UNIV"
by (simp add: affine_hyperplane_sums_eq_UNIV_0 [OF aff 0 dc adc])
also have "... = UNIV"
by (simp add: translation_UNIV)
@@ -6856,14 +6856,14 @@
shows "aff_dim {x + y| x y. x \<in> S \<and> y \<in> T} = (aff_dim S + aff_dim T) - aff_dim(S \<inter> T)"
proof -
obtain a where a: "a \<in> S" "a \<in> T" using assms by force
- have aff: "affine (op+ (-a) ` S)" "affine (op+ (-a) ` T)"
+ have aff: "affine ((+) (-a) ` S)" "affine ((+) (-a) ` T)"
using assms by (auto simp: affine_translation [symmetric])
- have zero: "0 \<in> (op+ (-a) ` S)" "0 \<in> (op+ (-a) ` T)"
+ have zero: "0 \<in> ((+) (-a) ` S)" "0 \<in> ((+) (-a) ` T)"
using a assms by auto
- have [simp]: "{x + y |x y. x \<in> op + (- a) ` S \<and> y \<in> op + (- a) ` T} =
- op + (- 2 *\<^sub>R a) ` {x + y| x y. x \<in> S \<and> y \<in> T}"
+ have [simp]: "{x + y |x y. x \<in> (+) (- a) ` S \<and> y \<in> (+) (- a) ` T} =
+ (+) (- 2 *\<^sub>R a) ` {x + y| x y. x \<in> S \<and> y \<in> T}"
by (force simp: algebra_simps scaleR_2)
- have [simp]: "op + (- a) ` S \<inter> op + (- a) ` T = op + (- a) ` (S \<inter> T)"
+ have [simp]: "(+) (- a) ` S \<inter> (+) (- a) ` T = (+) (- a) ` (S \<inter> T)"
by auto
show ?thesis
using aff_dim_sums_Int_0 [OF aff zero]
@@ -7457,11 +7457,11 @@
next
case False
then obtain z where z: "z \<in> S \<inter> T" by blast
- then have "subspace (op + (- z) ` S)"
+ then have "subspace ((+) (- z) ` S)"
by (meson IntD1 affine_diffs_subspace \<open>affine S\<close>)
- moreover have "int (dim (op + (- z) ` T)) < int (dim (op + (- z) ` S))"
+ moreover have "int (dim ((+) (- z) ` T)) < int (dim ((+) (- z) ` S))"
using z less by (simp add: aff_dim_eq_dim [symmetric] hull_inc)
- ultimately have "closure((op + (- z) ` S) - (op + (- z) ` T)) = (op + (- z) ` S)"
+ ultimately have "closure(((+) (- z) ` S) - ((+) (- z) ` T)) = ((+) (- z) ` S)"
by (simp add: dense_complement_subspace)
then show ?thesis
by (metis closure_translation translation_diff translation_invert)
@@ -7535,19 +7535,19 @@
then obtain z where "z \<in> S" and z: "a \<bullet> z = b"
using assms by auto
with affine_diffs_subspace [OF \<open>affine S\<close>]
- have sub: "subspace (op + (- z) ` S)" by blast
- then have aff: "affine (op + (- z) ` S)" and span: "span (op + (- z) ` S) = (op + (- z) ` S)"
+ have sub: "subspace ((+) (- z) ` S)" by blast
+ then have aff: "affine ((+) (- z) ` S)" and span: "span ((+) (- z) ` S) = ((+) (- z) ` S)"
by (auto simp: subspace_imp_affine)
- obtain a' a'' where a': "a' \<in> span (op + (- z) ` S)" and a: "a = a' + a''"
- and "\<And>w. w \<in> span (op + (- z) ` S) \<Longrightarrow> orthogonal a'' w"
- using orthogonal_subspace_decomp_exists [of "op + (- z) ` S" "a"] by metis
+ obtain a' a'' where a': "a' \<in> span ((+) (- z) ` S)" and a: "a = a' + a''"
+ and "\<And>w. w \<in> span ((+) (- z) ` S) \<Longrightarrow> orthogonal a'' w"
+ using orthogonal_subspace_decomp_exists [of "(+) (- z) ` S" "a"] by metis
then have "\<And>w. w \<in> S \<Longrightarrow> a'' \<bullet> (w-z) = 0"
by (simp add: imageI orthogonal_def span)
then have a'': "\<And>w. w \<in> S \<Longrightarrow> a'' \<bullet> w = (a - a') \<bullet> z"
by (simp add: a inner_diff_right)
then have ba'': "\<And>w. w \<in> S \<Longrightarrow> a'' \<bullet> w = b - a' \<bullet> z"
by (simp add: inner_diff_left z)
- have "\<And>w. w \<in> op + (- z) ` S \<Longrightarrow> (w + a') \<in> op + (- z) ` S"
+ have "\<And>w. w \<in> (+) (- z) ` S \<Longrightarrow> (w + a') \<in> (+) (- z) ` S"
by (metis subspace_add a' span_eq sub)
then have Sclo: "\<And>w. w \<in> S \<Longrightarrow> (w + a') \<in> S"
by fastforce
@@ -7705,25 +7705,25 @@
next
case False
with assms obtain a where "a \<in> S" "0 \<le> d" by auto
- with assms have ss: "subspace (op + (- a) ` S)"
+ with assms have ss: "subspace ((+) (- a) ` S)"
by (simp add: affine_diffs_subspace)
- have "nat d \<le> dim (op + (- a) ` S)"
+ have "nat d \<le> dim ((+) (- a) ` S)"
by (metis aff_dim_subspace aff_dim_translation_eq dle nat_int nat_mono ss)
- then obtain T where "subspace T" and Tsb: "T \<subseteq> span (op + (- a) ` S)"
+ then obtain T where "subspace T" and Tsb: "T \<subseteq> span ((+) (- a) ` S)"
and Tdim: "dim T = nat d"
- using choose_subspace_of_subspace [of "nat d" "op + (- a) ` S"] by blast
+ using choose_subspace_of_subspace [of "nat d" "(+) (- a) ` S"] by blast
then have "affine T"
using subspace_affine by blast
- then have "affine (op + a ` T)"
+ then have "affine ((+) a ` T)"
by (metis affine_hull_eq affine_hull_translation)
- moreover have "op + a ` T \<subseteq> S"
+ moreover have "(+) a ` T \<subseteq> S"
proof -
- have "T \<subseteq> op + (- a) ` S"
+ have "T \<subseteq> (+) (- a) ` S"
by (metis (no_types) span_eq Tsb ss)
- then show "op + a ` T \<subseteq> S"
+ then show "(+) a ` T \<subseteq> S"
using add_ac by auto
qed
- moreover have "aff_dim (op + a ` T) = d"
+ moreover have "aff_dim ((+) a ` T) = d"
by (simp add: aff_dim_subspace Tdim \<open>0 \<le> d\<close> \<open>subspace T\<close> aff_dim_translation_eq)
ultimately show ?thesis
by (rule that)
@@ -8223,4 +8223,4 @@
qed
end
-
\ No newline at end of file
+
--- a/src/HOL/Analysis/Tagged_Division.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Tagged_Division.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1838,7 +1838,7 @@
proof -
let ?f = "(\<lambda>k::(real) set. if k = {} then 0 else f(interval_upperbound k) - f(interval_lowerbound k))"
interpret operative_real plus 0 ?f
- rewrites "comm_monoid_set.F op + 0 = sum"
+ rewrites "comm_monoid_set.F (+) 0 = sum"
by standard[1] (auto simp add: sum_def)
have p_td: "p tagged_division_of cbox a b"
using assms(2) box_real(2) by presburger
--- a/src/HOL/Analysis/Topology_Euclidean_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/Topology_Euclidean_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1141,7 +1141,7 @@
lemma image_add_ball [simp]:
fixes a :: "'a::real_normed_vector"
- shows "op + b ` ball a r = ball (a+b) r"
+ shows "(+) b ` ball a r = ball (a+b) r"
apply (intro equalityI subsetI)
apply (force simp: dist_norm)
apply (rule_tac x="x-b" in image_eqI)
@@ -1150,7 +1150,7 @@
lemma image_add_cball [simp]:
fixes a :: "'a::real_normed_vector"
- shows "op + b ` cball a r = cball (a+b) r"
+ shows "(+) b ` cball a r = cball (a+b) r"
apply (intro equalityI subsetI)
apply (force simp: dist_norm)
apply (rule_tac x="x-b" in image_eqI)
@@ -5565,9 +5565,9 @@
lemma open_box[intro]: "open (box a b)"
proof -
- have "open (\<Inter>i\<in>Basis. (op \<bullet> i) -` {a \<bullet> i <..< b \<bullet> i})"
+ have "open (\<Inter>i\<in>Basis. ((\<bullet>) i) -` {a \<bullet> i <..< b \<bullet> i})"
by (auto intro!: continuous_open_vimage continuous_inner continuous_ident continuous_const)
- also have "(\<Inter>i\<in>Basis. (op \<bullet> i) -` {a \<bullet> i <..< b \<bullet> i}) = box a b"
+ also have "(\<Inter>i\<in>Basis. ((\<bullet>) i) -` {a \<bullet> i <..< b \<bullet> i}) = box a b"
by (auto simp: box_def inner_commute)
finally show ?thesis .
qed
--- a/src/HOL/Analysis/ex/Approximations.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/ex/Approximations.thy Wed Jan 10 15:25:09 2018 +0100
@@ -567,7 +567,7 @@
where "b = 8428294561696506782041394632 / 503593538783547230635598424135"
\<comment> \<open>The introduction of this constant prevents the simplifier from applying solvers that
we don't want. We want it to simply evaluate the terms to rational constants.}\<close>
- define eq :: "real \<Rightarrow> real \<Rightarrow> bool" where "eq = op ="
+ define eq :: "real \<Rightarrow> real \<Rightarrow> bool" where "eq = (=)"
\<comment> \<open>Splitting the computation into several steps has the advantage that simplification can
be done in parallel\<close>
@@ -679,7 +679,7 @@
337877029279505250241149903214554249587517250716358486542628059"
let ?pi'' = "3882327391761098513316067116522233897127356523627918964967729040413954225768920394233198626889767468122598417405434625348404038165437924058179155035564590497837027530349 /
1235783190199688165469648572769847552336447197542738425378629633275352407743112409829873464564018488572820294102599160968781449606552922108667790799771278860366957772800"
- define eq :: "real \<Rightarrow> real \<Rightarrow> bool" where "eq = op ="
+ define eq :: "real \<Rightarrow> real \<Rightarrow> bool" where "eq = (=)"
have "abs (pi - pi_approx2 4) \<le> inverse (2^183)" by (rule pi_approx2') simp_all
also have "pi_approx2 4 = 48 * arctan_approx 24 (1 / 18) +
--- a/src/HOL/Analysis/normarith.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Analysis/normarith.ML Wed Jan 10 15:25:09 2018 +0100
@@ -24,9 +24,9 @@
Const(@{const_name norm}, _) $ _ => insert (eq_pair bool_eq (op aconvc)) (b,Thm.dest_arg t) acc
| _ => acc
fun find_normedterms t acc = case Thm.term_of t of
- @{term "op + :: real => _"}$_$_ =>
+ @{term "(+) :: real => _"}$_$_ =>
find_normedterms (Thm.dest_arg1 t) (find_normedterms (Thm.dest_arg t) acc)
- | @{term "op * :: real => _"}$_$_ =>
+ | @{term "( * ) :: real => _"}$_$_ =>
if not (is_ratconst (Thm.dest_arg1 t)) then acc else
augment_norm (dest_ratconst (Thm.dest_arg1 t) >= @0)
(Thm.dest_arg t) acc
@@ -82,8 +82,8 @@
| SOME _ => fns) ts []
fun replacenegnorms cv t = case Thm.term_of t of
- @{term "op + :: real => _"}$_$_ => binop_conv (replacenegnorms cv) t
-| @{term "op * :: real => _"}$_$_ =>
+ @{term "(+) :: real => _"}$_$_ => binop_conv (replacenegnorms cv) t
+| @{term "( * ) :: real => _"}$_$_ =>
if dest_ratconst (Thm.dest_arg1 t) < @0 then arg_conv cv t else Thm.reflexive t
| _ => Thm.reflexive t
(*
@@ -149,7 +149,7 @@
let val (a, b) = Rat.dest x
in
if b = 1 then Numeral.mk_cnumber @{ctyp "real"} a
- else Thm.apply (Thm.apply @{cterm "op / :: real => _"}
+ else Thm.apply (Thm.apply @{cterm "(/) :: real => _"}
(Numeral.mk_cnumber @{ctyp "real"} a))
(Numeral.mk_cnumber @{ctyp "real"} b)
end;
--- a/src/HOL/BNF_Composition.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/BNF_Composition.thy Wed Jan 10 15:25:09 2018 +0100
@@ -154,7 +154,7 @@
bnf DEADID: 'a
map: "id :: 'a \<Rightarrow> 'a"
bd: natLeq
- rel: "op = :: 'a \<Rightarrow> 'a \<Rightarrow> bool"
+ rel: "(=) :: 'a \<Rightarrow> 'a \<Rightarrow> bool"
by (auto simp add: natLeq_card_order natLeq_cinfinite)
definition id_bnf :: "'a \<Rightarrow> 'a" where
--- a/src/HOL/BNF_Def.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/BNF_Def.thy Wed Jan 10 15:25:09 2018 +0100
@@ -57,7 +57,7 @@
using assms unfolding rel_set_def by simp
lemma predicate2_transferD:
- "\<lbrakk>rel_fun R1 (rel_fun R2 (op =)) P Q; a \<in> A; b \<in> B; A \<subseteq> {(x, y). R1 x y}; B \<subseteq> {(x, y). R2 x y}\<rbrakk> \<Longrightarrow>
+ "\<lbrakk>rel_fun R1 (rel_fun R2 (=)) P Q; a \<in> A; b \<in> B; A \<subseteq> {(x, y). R1 x y}; B \<subseteq> {(x, y). R2 x y}\<rbrakk> \<Longrightarrow>
P (fst a) (fst b) \<longleftrightarrow> Q (snd a) (snd b)"
unfolding rel_fun_def by (blast dest!: Collect_case_prodD)
@@ -102,13 +102,13 @@
definition csquare where
"csquare A f1 f2 p1 p2 \<longleftrightarrow> (\<forall> a \<in> A. f1 (p1 a) = f2 (p2 a))"
-lemma eq_alt: "op = = Grp UNIV id"
+lemma eq_alt: "(=) = Grp UNIV id"
unfolding Grp_def by auto
-lemma leq_conversepI: "R = op = \<Longrightarrow> R \<le> R^--1"
+lemma leq_conversepI: "R = (=) \<Longrightarrow> R \<le> R^--1"
by auto
-lemma leq_OOI: "R = op = \<Longrightarrow> R \<le> R OO R"
+lemma leq_OOI: "R = (=) \<Longrightarrow> R \<le> R OO R"
by auto
lemma OO_Grp_alt: "(Grp A f)^--1 OO Grp A g = (\<lambda>x y. \<exists>z. z \<in> A \<and> f z = x \<and> g z = y)"
@@ -217,13 +217,13 @@
lemma comp_apply_eq: "f (g x) = h (k x) \<Longrightarrow> (f \<circ> g) x = (h \<circ> k) x"
unfolding comp_apply by assumption
-lemma refl_ge_eq: "(\<And>x. R x x) \<Longrightarrow> op = \<le> R"
+lemma refl_ge_eq: "(\<And>x. R x x) \<Longrightarrow> (=) \<le> R"
by auto
-lemma ge_eq_refl: "op = \<le> R \<Longrightarrow> R x x"
+lemma ge_eq_refl: "(=) \<le> R \<Longrightarrow> R x x"
by auto
-lemma reflp_eq: "reflp R = (op = \<le> R)"
+lemma reflp_eq: "reflp R = ((=) \<le> R)"
by (auto simp: reflp_def fun_eq_iff)
lemma transp_relcompp: "transp r \<longleftrightarrow> r OO r \<le> r"
@@ -244,7 +244,7 @@
lemma eq_onp_to_eq: "eq_onp P x y \<Longrightarrow> x = y"
by (simp add: eq_onp_def)
-lemma eq_onp_top_eq_eq: "eq_onp top = op ="
+lemma eq_onp_top_eq_eq: "eq_onp top = (=)"
by (simp add: eq_onp_def)
lemma eq_onp_same_args: "eq_onp P x x = P x"
@@ -259,7 +259,7 @@
lemma eq_onp_mono0: "\<forall>x\<in>A. P x \<longrightarrow> Q x \<Longrightarrow> \<forall>x\<in>A. \<forall>y\<in>A. eq_onp P x y \<longrightarrow> eq_onp Q x y"
unfolding eq_onp_def by auto
-lemma eq_onp_True: "eq_onp (\<lambda>_. True) = (op =)"
+lemma eq_onp_True: "eq_onp (\<lambda>_. True) = (=)"
unfolding eq_onp_def by simp
lemma Ball_image_comp: "Ball (f ` A) g = Ball A (g \<circ> f)"
--- a/src/HOL/BNF_Fixpoint_Base.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/BNF_Fixpoint_Base.thy Wed Jan 10 15:25:09 2018 +0100
@@ -131,10 +131,10 @@
lemma subst_eq_imp: "(\<forall>a b. a = b \<longrightarrow> P a b) \<equiv> (\<forall>a. P a a)"
by auto
-lemma eq_subset: "op = \<le> (\<lambda>a b. P a b \<or> a = b)"
+lemma eq_subset: "(=) \<le> (\<lambda>a b. P a b \<or> a = b)"
by auto
-lemma eq_le_Grp_id_iff: "(op = \<le> Grp (Collect R) id) = (All R)"
+lemma eq_le_Grp_id_iff: "((=) \<le> Grp (Collect R) id) = (All R)"
unfolding Grp_def id_apply by blast
lemma Grp_id_mono_subst: "(\<And>x y. Grp P id x y \<Longrightarrow> Grp Q id (f x) (f y)) \<equiv>
@@ -211,10 +211,10 @@
by simp
lemma comp_transfer:
- "rel_fun (rel_fun B C) (rel_fun (rel_fun A B) (rel_fun A C)) (op \<circ>) (op \<circ>)"
+ "rel_fun (rel_fun B C) (rel_fun (rel_fun A B) (rel_fun A C)) (\<circ>) (\<circ>)"
unfolding rel_fun_def by simp
-lemma If_transfer: "rel_fun (op =) (rel_fun A (rel_fun A A)) If If"
+lemma If_transfer: "rel_fun (=) (rel_fun A (rel_fun A A)) If If"
unfolding rel_fun_def by simp
lemma Abs_transfer:
--- a/src/HOL/Bali/AxCompl.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Bali/AxCompl.thy Wed Jan 10 15:25:09 2018 +0100
@@ -119,7 +119,7 @@
remember_init_state :: "state assn" ("\<doteq>")
where "\<doteq> \<equiv> \<lambda>Y s Z. s = Z"
-lemma remember_init_state_def2 [simp]: "\<doteq> Y = op ="
+lemma remember_init_state_def2 [simp]: "\<doteq> Y = (=)"
apply (unfold remember_init_state_def)
apply (simp (no_asm))
done
--- a/src/HOL/Bali/AxExample.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Bali/AxExample.thy Wed Jan 10 15:25:09 2018 +0100
@@ -42,7 +42,7 @@
ML \<open>
fun inst1_tac ctxt s t xs st =
- (case AList.lookup (op =) (rev (Term.add_var_names (Thm.prop_of st) [])) s of
+ (case AList.lookup (=) (rev (Term.add_var_names (Thm.prop_of st) [])) s of
SOME i => PRIMITIVE (Rule_Insts.read_instantiate ctxt [(((s, i), Position.none), t)] xs) st
| NONE => Seq.empty);
--- a/src/HOL/Bali/AxSem.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Bali/AxSem.thy Wed Jan 10 15:25:09 2018 +0100
@@ -799,7 +799,7 @@
done
(* unused *)
-lemma ax_nochange_lemma: "\<lbrakk>P Y s; All (op = w)\<rbrakk> \<Longrightarrow> P w s"
+lemma ax_nochange_lemma: "\<lbrakk>P Y s; All ((=) w)\<rbrakk> \<Longrightarrow> P w s"
apply auto
done
--- a/src/HOL/Bali/State.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Bali/State.thy Wed Jan 10 15:25:09 2018 +0100
@@ -604,7 +604,7 @@
apply clarify
done
-lemma state_not_single: "All (op = (x::state)) \<Longrightarrow> R"
+lemma state_not_single: "All ((=) (x::state)) \<Longrightarrow> R"
apply (drule_tac x = "(if abrupt x = None then Some x' else None, y)" for x' y in spec)
apply clarsimp
done
--- a/src/HOL/Basic_BNF_LFPs.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Basic_BNF_LFPs.thy Wed Jan 10 15:25:09 2018 +0100
@@ -30,7 +30,7 @@
lemma xtor_xtor: "xtor (xtor x) = x"
unfolding xtor_def by (rule refl)
-lemmas xtor_inject = xtor_rel[of "op ="]
+lemmas xtor_inject = xtor_rel[of "(=)"]
lemma xtor_rel_induct: "(\<And>x y. vimage2p id_bnf id_bnf R x y \<Longrightarrow> IR (xtor x) (xtor y)) \<Longrightarrow> R \<le> IR"
unfolding xtor_def vimage2p_def id_bnf_def ..
@@ -96,7 +96,7 @@
(\<not> isl a \<longrightarrow> \<not> isl b \<longrightarrow> R2 (projr a) (projr b)))"
by (cases a b rule: sum.exhaust[case_product sum.exhaust]) simp_all
-lemma isl_transfer: "rel_fun (rel_sum A B) (op =) isl isl"
+lemma isl_transfer: "rel_fun (rel_sum A B) (=) isl isl"
unfolding rel_fun_def rel_sum_sel by simp
lemma rel_prod_sel: "rel_prod R1 R2 p q = (R1 (fst p) (fst q) \<and> R2 (snd p) (snd q))"
--- a/src/HOL/Basic_BNFs.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Basic_BNFs.thy Wed Jan 10 15:25:09 2018 +0100
@@ -188,22 +188,22 @@
qed auto
bnf "'a \<Rightarrow> 'b"
- map: "op \<circ>"
+ map: "(\<circ>)"
sets: range
bd: "natLeq +c |UNIV :: 'a set|"
- rel: "rel_fun op ="
+ rel: "rel_fun (=)"
pred: "pred_fun (\<lambda>_. True)"
proof
fix f show "id \<circ> f = id f" by simp
next
- fix f g show "op \<circ> (g \<circ> f) = op \<circ> g \<circ> op \<circ> f"
+ fix f g show "(\<circ>) (g \<circ> f) = (\<circ>) g \<circ> (\<circ>) f"
unfolding comp_def[abs_def] ..
next
fix x f g
assume "\<And>z. z \<in> range x \<Longrightarrow> f z = g z"
thus "f \<circ> x = g \<circ> x" by auto
next
- fix f show "range \<circ> op \<circ> f = op ` f \<circ> range"
+ fix f show "range \<circ> (\<circ>) f = (`) f \<circ> range"
by (auto simp add: fun_eq_iff)
next
show "card_order (natLeq +c |UNIV| )" (is "_ (_ +c ?U)")
@@ -222,10 +222,10 @@
finally show "|range f| \<le>o natLeq +c ?U" .
next
fix R S
- show "rel_fun op = R OO rel_fun op = S \<le> rel_fun op = (R OO S)" by (auto simp: rel_fun_def)
+ show "rel_fun (=) R OO rel_fun (=) S \<le> rel_fun (=) (R OO S)" by (auto simp: rel_fun_def)
next
fix R
- show "rel_fun op = R = (\<lambda>x y.
+ show "rel_fun (=) R = (\<lambda>x y.
\<exists>z. range z \<subseteq> {(x, y). R x y} \<and> fst \<circ> z = x \<and> snd \<circ> z = y)"
unfolding rel_fun_def subset_iff by (force simp: fun_eq_iff[symmetric])
qed (auto simp: pred_fun_def)
--- a/src/HOL/Binomial.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Binomial.thy Wed Jan 10 15:25:09 2018 +0100
@@ -377,15 +377,15 @@
case False
then have "n < k"
by (simp add: not_le)
- then have "0 \<in> (op - n) ` {0..<k}"
+ then have "0 \<in> ((-) n) ` {0..<k}"
by auto
- then have "prod (op - n) {0..<k} = 0"
+ then have "prod ((-) n) {0..<k} = 0"
by (auto intro: prod_zero)
with \<open>n < k\<close> show ?thesis
by (simp add: binomial_eq_0 gbinomial_prod_rev prod_zero)
next
case True
- from True have *: "prod (op - n) {0..<k} = \<Prod>{Suc (n - k)..n}"
+ from True have *: "prod ((-) n) {0..<k} = \<Prod>{Suc (n - k)..n}"
by (intro prod.reindex_bij_witness[of _ "\<lambda>i. n - i" "\<lambda>i. n - i"]) auto
from True have "n choose k = fact n div (fact k * fact (n - k))"
by (rule binomial_fact')
@@ -1252,15 +1252,15 @@
using assms
proof (induction xs ys rule: shuffle.induct)
case (3 x xs y ys)
- have "shuffle (x # xs) (y # ys) = op # x ` shuffle xs (y # ys) \<union> op # y ` shuffle (x # xs) ys"
+ have "shuffle (x # xs) (y # ys) = (#) x ` shuffle xs (y # ys) \<union> (#) y ` shuffle (x # xs) ys"
by (rule shuffle.simps)
- also have "card \<dots> = card (op # x ` shuffle xs (y # ys)) + card (op # y ` shuffle (x # xs) ys)"
+ also have "card \<dots> = card ((#) x ` shuffle xs (y # ys)) + card ((#) y ` shuffle (x # xs) ys)"
by (rule card_Un_disjoint) (insert "3.prems", auto)
- also have "card (op # x ` shuffle xs (y # ys)) = card (shuffle xs (y # ys))"
+ also have "card ((#) x ` shuffle xs (y # ys)) = card (shuffle xs (y # ys))"
by (rule card_image) auto
also have "\<dots> = (length xs + length (y # ys)) choose length xs"
using "3.prems" by (intro "3.IH") auto
- also have "card (op # y ` shuffle (x # xs) ys) = card (shuffle (x # xs) ys)"
+ also have "card ((#) y ` shuffle (x # xs) ys) = card (shuffle (x # xs) ys)"
by (rule card_image) auto
also have "\<dots> = (length (x # xs) + length ys) choose length (x # xs)"
using "3.prems" by (intro "3.IH") auto
@@ -1304,7 +1304,7 @@
"(n choose k) =
(if k > n then 0
else if 2 * k > n then (n choose (n - k))
- else (fold_atLeastAtMost_nat (op * ) (n-k+1) n 1 div fact k))"
+ else (fold_atLeastAtMost_nat (( * ) ) (n-k+1) n 1 div fact k))"
proof -
{
assume "k \<le> n"
--- a/src/HOL/Cardinals/Bounded_Set.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Cardinals/Bounded_Set.thy Wed Jan 10 15:25:09 2018 +0100
@@ -88,7 +88,7 @@
then show "map_bset f X = map_bset g X" by transfer force
next
fix f
- show "set_bset \<circ> map_bset f = op ` f \<circ> set_bset" by (rule ext, transfer) auto
+ show "set_bset \<circ> map_bset f = (`) f \<circ> set_bset" by (rule ext, transfer) auto
next
fix X :: "'a set['k]"
show "|set_bset X| \<le>o natLeq +c |UNIV :: 'k set|"
@@ -169,7 +169,7 @@
by transfer (auto simp: rel_set_def split: option.splits)
lemma rel_bgraph[simp]:
- "rel_bset (rel_prod (op =) R) (bgraph f1) (bgraph f2) = rel_fun (op =) (rel_option R) f1 f2"
+ "rel_bset (rel_prod (=) R) (bgraph f1) (bgraph f2) = rel_fun (=) (rel_option R) f1 f2"
apply transfer
apply (auto simp: rel_fun_def rel_option_iff rel_set_def split: option.splits)
using option.collapse apply fastforce+
@@ -195,7 +195,7 @@
apply (rule ordLeq_csum2[OF card_of_Card_order])
done
-lift_definition bmember :: "'a \<Rightarrow> 'a set['k] \<Rightarrow> bool" is "op \<in>" .
+lift_definition bmember :: "'a \<Rightarrow> 'a set['k] \<Rightarrow> bool" is "(\<in>)" .
lemma bmember_bCollect[simp]: "bmember a (bCollect P) = P a"
by transfer simp
--- a/src/HOL/Code_Numeral.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Code_Numeral.thy Wed Jan 10 15:25:09 2018 +0100
@@ -634,7 +634,7 @@
setup \<open>
fold (fn target =>
Numeral.add_code @{const_name Code_Numeral.Pos} I Code_Printer.literal_numeral target
- #> Numeral.add_code @{const_name Code_Numeral.Neg} (op ~) Code_Printer.literal_numeral target)
+ #> Numeral.add_code @{const_name Code_Numeral.Neg} (~) Code_Printer.literal_numeral target)
["SML", "OCaml", "Haskell", "Scala"]
\<close>
--- a/src/HOL/Complete_Lattices.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Complete_Lattices.thy Wed Jan 10 15:25:09 2018 +0100
@@ -128,7 +128,7 @@
by (auto intro: Inf_greatest simp only: Inf_empty [symmetric])
qed
-lemma dual_complete_lattice: "class.complete_lattice Sup Inf sup (op \<ge>) (op >) inf \<top> \<bottom>"
+lemma dual_complete_lattice: "class.complete_lattice Sup Inf sup (\<ge>) (>) inf \<top> \<bottom>"
by (auto intro!: class.complete_lattice.intro dual_lattice)
(unfold_locales, (fact Inf_empty Sup_empty Sup_upper Sup_least Inf_lower Inf_greatest)+)
@@ -465,7 +465,7 @@
by (simp add: inf_Sup)
lemma dual_complete_distrib_lattice:
- "class.complete_distrib_lattice Sup Inf sup (op \<ge>) (op >) inf \<top> \<bottom>"
+ "class.complete_distrib_lattice Sup Inf sup (\<ge>) (>) inf \<top> \<bottom>"
apply (rule class.complete_distrib_lattice.intro)
apply (fact dual_complete_lattice)
apply (rule class.complete_distrib_lattice_axioms.intro)
@@ -528,7 +528,7 @@
begin
lemma dual_complete_boolean_algebra:
- "class.complete_boolean_algebra Sup Inf sup (op \<ge>) (op >) inf \<top> \<bottom> (\<lambda>x y. x \<squnion> - y) uminus"
+ "class.complete_boolean_algebra Sup Inf sup (\<ge>) (>) inf \<top> \<bottom> (\<lambda>x y. x \<squnion> - y) uminus"
by (rule class.complete_boolean_algebra.intro,
rule dual_complete_distrib_lattice,
rule dual_boolean_algebra)
@@ -560,7 +560,7 @@
begin
lemma dual_complete_linorder:
- "class.complete_linorder Sup Inf sup (op \<ge>) (op >) inf \<top> \<bottom>"
+ "class.complete_linorder Sup Inf sup (\<ge>) (>) inf \<top> \<bottom>"
by (rule class.complete_linorder.intro, rule dual_complete_lattice, rule dual_linorder)
lemma complete_linorder_inf_min: "inf = min"
@@ -1205,7 +1205,7 @@
lemma UN_singleton [simp]: "(\<Union>x\<in>A. {x}) = A"
by blast
-lemma inj_on_image: "inj_on f (\<Union>A) \<Longrightarrow> inj_on (op ` f) A"
+lemma inj_on_image: "inj_on f (\<Union>A) \<Longrightarrow> inj_on ((`) f) A"
unfolding inj_on_def by blast
--- a/src/HOL/Complete_Partial_Order.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Complete_Partial_Order.thy Wed Jan 10 15:25:09 2018 +0100
@@ -51,7 +51,7 @@
lemma chain_empty: "chain ord {}"
by (simp add: chain_def)
-lemma chain_equality: "chain op = A \<longleftrightarrow> (\<forall>x\<in>A. \<forall>y\<in>A. x = y)"
+lemma chain_equality: "chain (=) A \<longleftrightarrow> (\<forall>x\<in>A. \<forall>y\<in>A. x = y)"
by (auto simp add: chain_def)
lemma chain_subset: "chain ord A \<Longrightarrow> B \<subseteq> A \<Longrightarrow> chain ord B"
@@ -72,11 +72,11 @@
\<close>
class ccpo = order + Sup +
- assumes ccpo_Sup_upper: "chain (op \<le>) A \<Longrightarrow> x \<in> A \<Longrightarrow> x \<le> Sup A"
- assumes ccpo_Sup_least: "chain (op \<le>) A \<Longrightarrow> (\<And>x. x \<in> A \<Longrightarrow> x \<le> z) \<Longrightarrow> Sup A \<le> z"
+ assumes ccpo_Sup_upper: "chain (\<le>) A \<Longrightarrow> x \<in> A \<Longrightarrow> x \<le> Sup A"
+ assumes ccpo_Sup_least: "chain (\<le>) A \<Longrightarrow> (\<And>x. x \<in> A \<Longrightarrow> x \<le> z) \<Longrightarrow> Sup A \<le> z"
begin
-lemma chain_singleton: "Complete_Partial_Order.chain op \<le> {x}"
+lemma chain_singleton: "Complete_Partial_Order.chain (\<le>) {x}"
by (rule chainI) simp
lemma ccpo_Sup_singleton [simp]: "\<Squnion>{x} = x"
@@ -92,17 +92,17 @@
for f :: "'a \<Rightarrow> 'a"
where
step: "x \<in> iterates f \<Longrightarrow> f x \<in> iterates f"
- | Sup: "chain (op \<le>) M \<Longrightarrow> \<forall>x\<in>M. x \<in> iterates f \<Longrightarrow> Sup M \<in> iterates f"
+ | Sup: "chain (\<le>) M \<Longrightarrow> \<forall>x\<in>M. x \<in> iterates f \<Longrightarrow> Sup M \<in> iterates f"
end
-lemma iterates_le_f: "x \<in> iterates f \<Longrightarrow> monotone (op \<le>) (op \<le>) f \<Longrightarrow> x \<le> f x"
+lemma iterates_le_f: "x \<in> iterates f \<Longrightarrow> monotone (\<le>) (\<le>) f \<Longrightarrow> x \<le> f x"
by (induct x rule: iterates.induct)
(force dest: monotoneD intro!: ccpo_Sup_upper ccpo_Sup_least)+
lemma chain_iterates:
- assumes f: "monotone (op \<le>) (op \<le>) f"
- shows "chain (op \<le>) (iterates f)" (is "chain _ ?C")
+ assumes f: "monotone (\<le>) (\<le>) f"
+ shows "chain (\<le>) (iterates f)" (is "chain _ ?C")
proof (rule chainI)
fix x y
assume "x \<in> ?C" "y \<in> ?C"
@@ -117,7 +117,7 @@
with IH f show ?case by (auto dest: monotoneD)
next
case (Sup M)
- then have chM: "chain (op \<le>) M"
+ then have chM: "chain (\<le>) M"
and IH': "\<And>z. z \<in> M \<Longrightarrow> f x \<le> z \<or> z \<le> f x" by auto
show "f x \<le> Sup M \<or> Sup M \<le> f x"
proof (cases "\<exists>z\<in>M. f x \<le> z")
@@ -164,13 +164,13 @@
where "fixp f = Sup (iterates f)"
lemma iterates_fixp:
- assumes f: "monotone (op \<le>) (op \<le>) f"
+ assumes f: "monotone (\<le>) (\<le>) f"
shows "fixp f \<in> iterates f"
unfolding fixp_def
by (simp add: iterates.Sup chain_iterates f)
lemma fixp_unfold:
- assumes f: "monotone (op \<le>) (op \<le>) f"
+ assumes f: "monotone (\<le>) (\<le>) f"
shows "fixp f = f (fixp f)"
proof (rule antisym)
show "fixp f \<le> f (fixp f)"
@@ -182,7 +182,7 @@
qed
lemma fixp_lowerbound:
- assumes f: "monotone (op \<le>) (op \<le>) f"
+ assumes f: "monotone (\<le>) (\<le>) f"
and z: "f z \<le> z"
shows "fixp f \<le> z"
unfolding fixp_def
@@ -228,8 +228,8 @@
setup \<open>Sign.map_naming Name_Space.parent_path\<close>
lemma (in ccpo) fixp_induct:
- assumes adm: "ccpo.admissible Sup (op \<le>) P"
- assumes mono: "monotone (op \<le>) (op \<le>) f"
+ assumes adm: "ccpo.admissible Sup (\<le>) P"
+ assumes mono: "monotone (\<le>) (\<le>) f"
assumes bot: "P (Sup {})"
assumes step: "\<And>x. P x \<Longrightarrow> P (f x)"
shows "P (fixp f)"
@@ -284,12 +284,12 @@
lemma admissible_disj:
fixes P Q :: "'a \<Rightarrow> bool"
- assumes P: "ccpo.admissible Sup (op \<le>) (\<lambda>x. P x)"
- assumes Q: "ccpo.admissible Sup (op \<le>) (\<lambda>x. Q x)"
- shows "ccpo.admissible Sup (op \<le>) (\<lambda>x. P x \<or> Q x)"
+ assumes P: "ccpo.admissible Sup (\<le>) (\<lambda>x. P x)"
+ assumes Q: "ccpo.admissible Sup (\<le>) (\<lambda>x. Q x)"
+ shows "ccpo.admissible Sup (\<le>) (\<lambda>x. P x \<or> Q x)"
proof (rule ccpo.admissibleI)
fix A :: "'a set"
- assume chain: "chain (op \<le>) A"
+ assume chain: "chain (\<le>) A"
assume A: "A \<noteq> {}" and P_Q: "\<forall>x\<in>A. P x \<or> Q x"
have "(\<exists>x\<in>A. P x) \<and> (\<forall>x\<in>A. \<exists>y\<in>A. x \<le> y \<and> P y) \<or> (\<exists>x\<in>A. Q x) \<and> (\<forall>x\<in>A. \<exists>y\<in>A. x \<le> y \<and> Q y)"
(is "?P \<or> ?Q" is "?P1 \<and> ?P2 \<or> _")
@@ -330,7 +330,7 @@
moreover
have "Sup A = Sup {x \<in> A. P x}" if "\<forall>x\<in>A. \<exists>y\<in>A. x \<le> y \<and> P y" for P
proof (rule antisym)
- have chain_P: "chain (op \<le>) {x \<in> A. P x}"
+ have chain_P: "chain (\<le>) {x \<in> A. P x}"
by (rule chain_compr [OF chain])
show "Sup A \<le> Sup {x \<in> A. P x}"
apply (rule ccpo_Sup_least [OF chain])
@@ -368,7 +368,7 @@
assumes mono: "mono f"
shows "lfp f = fixp f"
proof (rule antisym)
- from mono have f': "monotone (op \<le>) (op \<le>) f"
+ from mono have f': "monotone (\<le>) (\<le>) f"
unfolding mono_def monotone_def .
show "lfp f \<le> fixp f"
by (rule lfp_lowerbound, subst fixp_unfold [OF f'], rule order_refl)
--- a/src/HOL/Computational_Algebra/Euclidean_Algorithm.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Euclidean_Algorithm.thy Wed Jan 10 15:25:09 2018 +0100
@@ -422,7 +422,7 @@
Euclidean_Algorithm.gcd Euclidean_Algorithm.lcm
Euclidean_Algorithm.Gcd Euclidean_Algorithm.Lcm
divide plus minus unit_factor normalize
- rewrites "dvd.dvd op * = Rings.dvd"
+ rewrites "dvd.dvd ( * ) = Rings.dvd"
by (fact semiring_Gcd) (simp add: dvd.dvd_def dvd_def fun_eq_iff)
show [simp]: "Euclidean_Algorithm.gcd = (gcd :: 'a \<Rightarrow> _)"
proof (rule ext)+
@@ -576,7 +576,7 @@
"Euclidean_Algorithm.gcd" "Euclidean_Algorithm.lcm"
"Euclidean_Algorithm.Gcd" "Euclidean_Algorithm.Lcm"
divide plus minus unit_factor normalize
- rewrites "dvd.dvd op * = Rings.dvd"
+ rewrites "dvd.dvd ( * ) = Rings.dvd"
by (fact semiring_Gcd) (simp add: dvd.dvd_def dvd_def fun_eq_iff)
show [simp]: "(Euclidean_Algorithm.gcd :: nat \<Rightarrow> _) = gcd"
proof (rule ext)+
@@ -613,7 +613,7 @@
"Euclidean_Algorithm.gcd" "Euclidean_Algorithm.lcm"
"Euclidean_Algorithm.Gcd" "Euclidean_Algorithm.Lcm"
divide plus minus unit_factor normalize
- rewrites "dvd.dvd op * = Rings.dvd"
+ rewrites "dvd.dvd ( * ) = Rings.dvd"
by (fact semiring_Gcd) (simp add: dvd.dvd_def dvd_def fun_eq_iff)
show [simp]: "(Euclidean_Algorithm.gcd :: int \<Rightarrow> _) = gcd"
proof (rule ext)+
--- a/src/HOL/Computational_Algebra/Formal_Power_Series.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Formal_Power_Series.thy Wed Jan 10 15:25:09 2018 +0100
@@ -51,7 +51,7 @@
instantiation fps :: (plus) plus
begin
- definition fps_plus_def: "op + = (\<lambda>f g. Abs_fps (\<lambda>n. f $ n + g $ n))"
+ definition fps_plus_def: "(+) = (\<lambda>f g. Abs_fps (\<lambda>n. f $ n + g $ n))"
instance ..
end
@@ -60,7 +60,7 @@
instantiation fps :: (minus) minus
begin
- definition fps_minus_def: "op - = (\<lambda>f g. Abs_fps (\<lambda>n. f $ n - g $ n))"
+ definition fps_minus_def: "(-) = (\<lambda>f g. Abs_fps (\<lambda>n. f $ n - g $ n))"
instance ..
end
@@ -78,7 +78,7 @@
instantiation fps :: ("{comm_monoid_add, times}") times
begin
- definition fps_times_def: "op * = (\<lambda>f g. Abs_fps (\<lambda>n. \<Sum>i=0..n. f $ i * g $ (n - i)))"
+ definition fps_times_def: "( * ) = (\<lambda>f g. Abs_fps (\<lambda>n. \<Sum>i=0..n. f $ i * g $ (n - i)))"
instance ..
end
@@ -151,7 +151,7 @@
fixes n :: nat
and f :: "nat \<Rightarrow> nat \<Rightarrow> 'a::comm_monoid_add"
shows "(\<Sum>i=0..n. f i (n - i)) = (\<Sum>i=0..n. f (n - i) i)"
- by (rule sum.reindex_bij_witness[where i="op - n" and j="op - n"]) auto
+ by (rule sum.reindex_bij_witness[where i="(-) n" and j="(-) n"]) auto
instance fps :: (comm_semiring_0) ab_semigroup_mult
proof
@@ -1563,10 +1563,10 @@
of_nat i* f $ i * g $ ((n + 1) - i)"
have s0: "sum (\<lambda>i. of_nat i * f $ i * g $ (n + 1 - i)) ?Zn1 =
sum (\<lambda>i. of_nat (n + 1 - i) * f $ (n + 1 - i) * g $ i) ?Zn1"
- by (rule sum.reindex_bij_witness[where i="op - (n + 1)" and j="op - (n + 1)"]) auto
+ by (rule sum.reindex_bij_witness[where i="(-) (n + 1)" and j="(-) (n + 1)"]) auto
have s1: "sum (\<lambda>i. f $ i * g $ (n + 1 - i)) ?Zn1 =
sum (\<lambda>i. f $ (n + 1 - i) * g $ i) ?Zn1"
- by (rule sum.reindex_bij_witness[where i="op - (n + 1)" and j="op - (n + 1)"]) auto
+ by (rule sum.reindex_bij_witness[where i="(-) (n + 1)" and j="(-) (n + 1)"]) auto
have "(f * ?D g + ?D f * g)$n = (?D g * f + ?D f * g)$n"
by (simp only: mult.commute)
also have "\<dots> = (\<Sum>i = 0..n. ?g i)"
@@ -2040,7 +2040,7 @@
(* If f reprents {a_n} and P is a polynomial, then
P(xD) f represents {P(n) a_n}*)
-definition "fps_XD = op * fps_X \<circ> fps_deriv"
+definition "fps_XD = ( * ) fps_X \<circ> fps_deriv"
lemma fps_XD_add[simp]:"fps_XD (a + b) = fps_XD a + fps_XD (b :: 'a::comm_ring_1 fps)"
by (simp add: fps_XD_def field_simps)
@@ -2115,10 +2115,10 @@
let ?fps_X = "1 - (fps_X::'a fps)"
have th0: "?fps_X $ 0 \<noteq> 0"
by simp
- have "a /?fps_X = ?fps_X * Abs_fps (\<lambda>n::nat. sum (op $ a) {0..n}) * inverse ?fps_X"
+ have "a /?fps_X = ?fps_X * Abs_fps (\<lambda>n::nat. sum (($) a) {0..n}) * inverse ?fps_X"
using fps_divide_fps_X_minus1_sum_lemma[of a, symmetric] th0
by (simp add: fps_divide_def mult.assoc)
- also have "\<dots> = (inverse ?fps_X * ?fps_X) * Abs_fps (\<lambda>n::nat. sum (op $ a) {0..n}) "
+ also have "\<dots> = (inverse ?fps_X * ?fps_X) * Abs_fps (\<lambda>n::nat. sum (($) a) {0..n}) "
by (simp add: ac_simps)
finally show ?thesis
by (simp add: inverse_mult_eq_1[OF th0])
--- a/src/HOL/Computational_Algebra/Nth_Powers.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Nth_Powers.thy Wed Jan 10 15:25:09 2018 +0100
@@ -305,4 +305,4 @@
by (auto intro!: Max_mono)
qed auto
-end
\ No newline at end of file
+end
--- a/src/HOL/Computational_Algebra/Polynomial.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Polynomial.thy Wed Jan 10 15:25:09 2018 +0100
@@ -891,7 +891,7 @@
lemma smult_monom: "smult a (monom b n) = monom (a * b) n"
by (induct n) (simp_all add: monom_0 monom_Suc)
-lemma smult_Poly: "smult c (Poly xs) = Poly (map (op * c) xs)"
+lemma smult_Poly: "smult c (Poly xs) = Poly (map (( * ) c) xs)"
by (auto simp: poly_eq_iff nth_default_def)
lemma degree_smult_eq [simp]: "degree (smult a p) = (if a = 0 then 0 else degree p)"
@@ -1161,7 +1161,7 @@
simp del: upt_Suc)
lemma coeffs_map_poly [code abstract]:
- "coeffs (map_poly f p) = strip_while (op = 0) (map f (coeffs p))"
+ "coeffs (map_poly f p) = strip_while ((=) 0) (map f (coeffs p))"
by (simp add: map_poly_def)
lemma coeffs_map_poly':
@@ -1949,7 +1949,7 @@
qed
lemma dropWhile_replicate_append:
- "dropWhile (op = a) (replicate n a @ ys) = dropWhile (op = a) ys"
+ "dropWhile ((=) a) (replicate n a @ ys) = dropWhile ((=) a) ys"
by (induct n) simp_all
lemma Poly_append_replicate_0: "Poly (xs @ replicate n 0) = Poly xs"
@@ -2233,8 +2233,8 @@
by (simp add: poly_eq_iff coeff_poly_cutoff)
lemma coeffs_poly_cutoff [code abstract]:
- "coeffs (poly_cutoff n p) = strip_while (op = 0) (take n (coeffs p))"
-proof (cases "strip_while (op = 0) (take n (coeffs p)) = []")
+ "coeffs (poly_cutoff n p) = strip_while ((=) 0) (take n (coeffs p))"
+proof (cases "strip_while ((=) 0) (take n (coeffs p)) = []")
case True
then have "coeff (poly_cutoff n p) k = 0" for k
unfolding coeff_poly_cutoff
@@ -2245,9 +2245,9 @@
by (subst True) simp_all
next
case False
- have "no_trailing (op = 0) (strip_while (op = 0) (take n (coeffs p)))"
+ have "no_trailing ((=) 0) (strip_while ((=) 0) (take n (coeffs p)))"
by simp
- with False have "last (strip_while (op = 0) (take n (coeffs p))) \<noteq> 0"
+ with False have "last (strip_while ((=) 0) (take n (coeffs p))) \<noteq> 0"
unfolding no_trailing_unfold by auto
then show ?thesis
by (intro coeffs_eqI)
@@ -2261,7 +2261,7 @@
where "reflect_poly p = Poly (rev (coeffs p))"
lemma coeffs_reflect_poly [code abstract]:
- "coeffs (reflect_poly p) = rev (dropWhile (op = 0) (coeffs p))"
+ "coeffs (reflect_poly p) = rev (dropWhile ((=) 0) (coeffs p))"
by (simp add: reflect_poly_def)
lemma reflect_poly_0 [simp]: "reflect_poly 0 = 0"
@@ -3803,10 +3803,10 @@
where
"pseudo_divmod_main_list lc q r d (Suc n) =
(let
- rr = map (op * lc) r;
+ rr = map (( * ) lc) r;
a = hd r;
- qqq = cCons a (map (op * lc) q);
- rrr = tl (if a = 0 then rr else minus_poly_rev_list rr (map (op * a) d))
+ qqq = cCons a (map (( * ) lc) q);
+ rrr = tl (if a = 0 then rr else minus_poly_rev_list rr (map (( * ) a) d))
in pseudo_divmod_main_list lc qqq rrr d n)"
| "pseudo_divmod_main_list lc q r d 0 = (q, r)"
@@ -3814,9 +3814,9 @@
where
"pseudo_mod_main_list lc r d (Suc n) =
(let
- rr = map (op * lc) r;
+ rr = map (( * ) lc) r;
a = hd r;
- rrr = tl (if a = 0 then rr else minus_poly_rev_list rr (map (op * a) d))
+ rrr = tl (if a = 0 then rr else minus_poly_rev_list rr (map (( * ) a) d))
in pseudo_mod_main_list lc rrr d n)"
| "pseudo_mod_main_list lc r d 0 = r"
@@ -3828,7 +3828,7 @@
(let
a = hd r;
qqq = cCons a q;
- rr = tl (if a = 0 then r else minus_poly_rev_list r (map (op * a) d))
+ rr = tl (if a = 0 then r else minus_poly_rev_list r (map (( * ) a) d))
in divmod_poly_one_main_list qqq rr d n)"
| "divmod_poly_one_main_list q r d 0 = (q, r)"
@@ -3837,7 +3837,7 @@
"mod_poly_one_main_list r d (Suc n) =
(let
a = hd r;
- rr = tl (if a = 0 then r else minus_poly_rev_list r (map (op * a) d))
+ rr = tl (if a = 0 then r else minus_poly_rev_list r (map (( * ) a) d))
in mod_poly_one_main_list rr d n)"
| "mod_poly_one_main_list r d 0 = r"
@@ -3858,7 +3858,7 @@
re = pseudo_mod_main_list (hd rq) (rev p) rq (1 + length p - length q)
in rev re))"
-lemma minus_zero_does_nothing: "minus_poly_rev_list x (map (op * 0) y) = x"
+lemma minus_zero_does_nothing: "minus_poly_rev_list x (map (( * ) 0) y) = x"
for x :: "'a::ring list"
by (induct x y rule: minus_poly_rev_list.induct) auto
@@ -3866,8 +3866,8 @@
by (induct xs ys rule: minus_poly_rev_list.induct) auto
lemma if_0_minus_poly_rev_list:
- "(if a = 0 then x else minus_poly_rev_list x (map (op * a) y)) =
- minus_poly_rev_list x (map (op * a) y)"
+ "(if a = 0 then x else minus_poly_rev_list x (map (( * ) a) y)) =
+ minus_poly_rev_list x (map (( * ) a) y)"
for a :: "'a::ring"
by(cases "a = 0") (simp_all add: minus_zero_does_nothing)
@@ -3909,7 +3909,7 @@
lemma head_minus_poly_rev_list:
"length d \<le> length r \<Longrightarrow> d \<noteq> [] \<Longrightarrow>
- hd (minus_poly_rev_list (map (op * (last d)) r) (map (op * (hd r)) (rev d))) = 0"
+ hd (minus_poly_rev_list (map (( * ) (last d)) r) (map (( * ) (hd r)) (rev d))) = 0"
for d r :: "'a::comm_ring list"
proof (induct r)
case Nil
@@ -3919,7 +3919,7 @@
then show ?case by (cases "rev d") (simp_all add: ac_simps)
qed
-lemma Poly_map: "Poly (map (op * a) p) = smult a (Poly p)"
+lemma Poly_map: "Poly (map (( * ) a) p) = smult a (Poly p)"
proof (induct p)
case Nil
then show ?case by simp
@@ -3947,9 +3947,9 @@
with \<open>d \<noteq> []\<close> have "r \<noteq> []"
using Suc_leI length_greater_0_conv list.size(3) by fastforce
let ?a = "(hd (rev r))"
- let ?rr = "map (op * lc) (rev r)"
- let ?rrr = "rev (tl (minus_poly_rev_list ?rr (map (op * ?a) (rev d))))"
- let ?qq = "cCons ?a (map (op * lc) q)"
+ let ?rr = "map (( * ) lc) (rev r)"
+ let ?rrr = "rev (tl (minus_poly_rev_list ?rr (map (( * ) ?a) (rev d))))"
+ let ?qq = "cCons ?a (map (( * ) lc) q)"
from * Suc(3) have n: "n = (1 + length r - length d - 1)"
by simp
from * have rr_val:"(length ?rrr) = (length r - 1)"
@@ -3982,12 +3982,12 @@
case 2
show ?case
proof (subst Poly_on_rev_starting_with_0, goal_cases)
- show "hd (minus_poly_rev_list (map (op * lc) (rev r)) (map (op * (hd (rev r))) (rev d))) = 0"
+ show "hd (minus_poly_rev_list (map (( * ) lc) (rev r)) (map (( * ) (hd (rev r))) (rev d))) = 0"
by (fold lc, subst head_minus_poly_rev_list, insert * \<open>d \<noteq> []\<close>, auto)
from * have "length d \<le> length r"
by simp
then show "smult lc (Poly r) - monom (coeff (Poly r) (length r - 1)) n * Poly d =
- Poly (rev (minus_poly_rev_list (map (op * lc) (rev r)) (map (op * (hd (rev r))) (rev d))))"
+ Poly (rev (minus_poly_rev_list (map (( * ) lc) (rev r)) (map (( * ) (hd (rev r))) (rev d))))"
by (fold rev_map) (auto simp add: n smult_monom_mult Poly_map hd_rev [symmetric]
minus_poly_rev_list)
qed
@@ -4092,9 +4092,9 @@
let
cf = coeffs f;
ilc = inverse (last cg);
- ch = map (op * ilc) cg;
+ ch = map (( * ) ilc) cg;
(q, r) = pseudo_divmod_main_list 1 [] (rev cf) (rev ch) (1 + length cf - length cg)
- in (poly_of_list (map (op * ilc) q), poly_of_list (rev r)))"
+ in (poly_of_list (map (( * ) ilc) q), poly_of_list (rev r)))"
proof -
note d = pdivmod_via_pseudo_divmod pseudo_divmod_impl pseudo_divmod_list_def
show ?thesis
@@ -4113,10 +4113,10 @@
have id2: "hd (rev (coeffs (smult ilc g))) = 1"
by (subst hd_rev, insert id ilc, auto simp: coeffs_smult, subst last_map, auto simp: id ilc_def)
have id3: "length (coeffs (smult ilc g)) = length (coeffs g)"
- "rev (coeffs (smult ilc g)) = rev (map (op * ilc) (coeffs g))"
+ "rev (coeffs (smult ilc g)) = rev (map (( * ) ilc) (coeffs g))"
unfolding coeffs_smult using ilc by auto
obtain q r where pair:
- "pseudo_divmod_main_list 1 [] (rev (coeffs f)) (rev (map (op * ilc) (coeffs g)))
+ "pseudo_divmod_main_list 1 [] (rev (coeffs f)) (rev (map (( * ) ilc) (coeffs g)))
(1 + length (coeffs f) - length (coeffs g)) = (q, r)"
by force
show ?thesis
@@ -4129,7 +4129,7 @@
lemma pseudo_divmod_main_list_1: "pseudo_divmod_main_list 1 = divmod_poly_one_main_list"
proof (intro ext, goal_cases)
case (1 q r d n)
- have *: "map (op * 1) xs = xs" for xs :: "'a list"
+ have *: "map (( * ) 1) xs = xs" for xs :: "'a list"
by (induct xs) auto
show ?case
by (induct n arbitrary: q r d) (auto simp: * Let_def)
@@ -4143,7 +4143,7 @@
in if cr = 0 then divide_poly_main_list lc (cCons cr q) (tl r) d n else let
a = cr div lc;
qq = cCons a q;
- rr = minus_poly_rev_list r (map (op * a) d)
+ rr = minus_poly_rev_list r (map (( * ) a) d)
in if hd rr = 0 then divide_poly_main_list lc qq (tl rr) d n else [])"
| "divide_poly_main_list lc q r d 0 = q"
@@ -4153,7 +4153,7 @@
cr = hd r;
a = cr div lc;
qq = cCons a q;
- rr = minus_poly_rev_list r (map (op * a) d)
+ rr = minus_poly_rev_list r (map (( * ) a) d)
in if hd rr = 0 then divide_poly_main_list lc qq (tl rr) d n else [])"
by (simp add: Let_def minus_zero_does_nothing)
@@ -4182,7 +4182,7 @@
let
cf = coeffs f;
ilc = inverse (last cg);
- ch = map (op * ilc) cg;
+ ch = map (( * ) ilc) cg;
r = mod_poly_one_main_list (rev cf) (rev ch) (1 + length cf - length cg)
in poly_of_list (rev r))"
(is "_ = ?rhs")
@@ -4201,14 +4201,14 @@
let
cf = coeffs f;
ilc = inverse (last cg);
- ch = map (op * ilc) cg;
+ ch = map (( * ) ilc) cg;
q = fst (divmod_poly_one_main_list [] (rev cf) (rev ch) (1 + length cf - length cg))
- in poly_of_list ((map (op * ilc) q)))"
+ in poly_of_list ((map (( * ) ilc) q)))"
text \<open>We do not declare the following lemma as code equation, since then polynomial division
on non-fields will no longer be executable. However, a code-unfold is possible, since
\<open>div_field_poly_impl\<close> is a bit more efficient than the generic polynomial division.\<close>
-lemma div_field_poly_impl[code_unfold]: "op div = div_field_poly_impl"
+lemma div_field_poly_impl[code_unfold]: "(div) = div_field_poly_impl"
proof (intro ext)
fix f g :: "'a poly"
have "fst (f div g, f mod g) = div_field_poly_impl f g"
@@ -4251,7 +4251,7 @@
with r d have id:
"?thesis \<longleftrightarrow>
Poly (divide_poly_main_list lc (cCons (lcr div lc) q)
- (rev (rev (minus_poly_rev_list (rev rr) (rev (map (op * (lcr div lc)) dd))))) (rev d) n) =
+ (rev (rev (minus_poly_rev_list (rev rr) (rev (map (( * ) (lcr div lc)) dd))))) (rev d) n) =
divide_poly_main lc
(monom 1 (Suc n) * Poly q + monom (lcr div lc) n)
(Poly r - monom (lcr div lc) n * Poly d)
--- a/src/HOL/Computational_Algebra/Polynomial_FPS.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Polynomial_FPS.thy Wed Jan 10 15:25:09 2018 +0100
@@ -287,11 +287,11 @@
(auto simp: prefix_length_def nth_Cons split: if_splits nat.splits)
(* END TODO *)
-lemma poly_subdegree_code [code]: "poly_subdegree p = prefix_length (op = 0) (coeffs p)"
+lemma poly_subdegree_code [code]: "poly_subdegree p = prefix_length ((=) 0) (coeffs p)"
proof (cases "p = 0")
case False
note [simp] = this
- define n where "n = prefix_length (op = 0) (coeffs p)"
+ define n where "n = prefix_length ((=) 0) (coeffs p)"
from False have "\<exists>k. coeff p k \<noteq> 0" by (auto simp: poly_eq_iff)
hence ex: "\<exists>x\<in>set (coeffs p). x \<noteq> 0" by (auto simp: coeffs_def)
hence n_less: "n < length (coeffs p)" and nonzero: "coeffs p ! n \<noteq> 0"
@@ -300,10 +300,10 @@
proof (intro subdegreeI)
from n_less have "fps_of_poly p $ n = coeffs p ! n"
by (subst coeffs_nth) (simp_all add: degree_eq_length_coeffs)
- with nonzero show "fps_of_poly p $ prefix_length (op = 0) (coeffs p) \<noteq> 0"
+ with nonzero show "fps_of_poly p $ prefix_length ((=) 0) (coeffs p) \<noteq> 0"
unfolding n_def by simp
next
- fix k assume A: "k < prefix_length (op = 0) (coeffs p)"
+ fix k assume A: "k < prefix_length ((=) 0) (coeffs p)"
also have "\<dots> \<le> length (coeffs p)" by (rule prefix_length_le_length)
finally show "fps_of_poly p $ k = 0"
using nth_less_prefix_length[OF A]
--- a/src/HOL/Computational_Algebra/Squarefree.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Computational_Algebra/Squarefree.thy Wed Jan 10 15:25:09 2018 +0100
@@ -360,4 +360,4 @@
"odd n \<Longrightarrow> square_part (x ^ n) = normalize (x ^ (n div 2) * square_part x)"
by (subst square_part_odd_power' [symmetric]) auto
-end
\ No newline at end of file
+end
--- a/src/HOL/Corec_Examples/Tests/GPV_Bare_Bones.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Corec_Examples/Tests/GPV_Bare_Bones.thy Wed Jan 10 15:25:09 2018 +0100
@@ -39,9 +39,9 @@
friend_of_corec bind_gpv'
where "bind_gpv' r f =
-GPV' (map_spmf (map_generat id id (op \<circ> (case_sum id (\<lambda>r. bind_gpv' r f))))
+GPV' (map_spmf (map_generat id id ((\<circ>) (case_sum id (\<lambda>r. bind_gpv' r f))))
(bind_spmf (the_gpv r)
- (case_generat (\<lambda>x. map_spmf (map_generat id id (op \<circ> Inl)) (the_gpv' (f x)))
+ (case_generat (\<lambda>x. map_spmf (map_generat id id ((\<circ>) Inl)) (the_gpv' (f x)))
(\<lambda>out c. return_spmf (IO out (\<lambda>input. Inr (c input)))))))"
sorry
--- a/src/HOL/Corec_Examples/Tests/Iterate_GPV.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Corec_Examples/Tests/Iterate_GPV.thy Wed Jan 10 15:25:09 2018 +0100
@@ -21,10 +21,10 @@
primcorec bind_gpv :: "('a, 'out, 'in) gpv \<Rightarrow> ('a \<Rightarrow> ('b, 'out, 'in) gpv) \<Rightarrow> ('b, 'out, 'in) gpv"
where
- "bind_gpv r f = GPV (map_spmf (map_generat id id (op \<circ> (case_sum id (\<lambda>r. bind_gpv r f))))
+ "bind_gpv r f = GPV (map_spmf (map_generat id id ((\<circ>) (case_sum id (\<lambda>r. bind_gpv r f))))
(bind_spmf (the_gpv r)
(case_generat
- (\<lambda>x. map_spmf (map_generat id id (op \<circ> Inl)) (the_gpv (f x)))
+ (\<lambda>x. map_spmf (map_generat id id ((\<circ>) Inl)) (the_gpv (f x)))
(\<lambda>out c. return_spmf (IO out (\<lambda>input. Inr (c input)))))))"
context includes lifting_syntax begin
@@ -44,14 +44,14 @@
by (cases x) auto
friend_of_corec bind_gpv :: "('a, 'out, 'in) gpv \<Rightarrow> ('a \<Rightarrow> ('a, 'out, 'in) gpv) \<Rightarrow> ('a, 'out, 'in) gpv"
-where "bind_gpv r f = GPV (map_spmf (map_generat id id (op \<circ> (case_sum id (\<lambda>r. bind_gpv r f))))
+where "bind_gpv r f = GPV (map_spmf (map_generat id id ((\<circ>) (case_sum id (\<lambda>r. bind_gpv r f))))
(bind_spmf (the_gpv r)
(case_generat
- (\<lambda>x. map_spmf (map_generat id id (op \<circ> Inl)) (the_gpv (f x)))
+ (\<lambda>x. map_spmf (map_generat id id ((\<circ>) Inl)) (the_gpv (f x)))
(\<lambda>out c. return_spmf (IO out (\<lambda>input. Inr (c input)))))))"
apply(rule bind_gpv.ctr)
apply transfer_prover
apply transfer_prover
done
-end
\ No newline at end of file
+end
--- a/src/HOL/Corec_Examples/Tests/Misc_Mono.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Corec_Examples/Tests/Misc_Mono.thy Wed Jan 10 15:25:09 2018 +0100
@@ -149,7 +149,7 @@
consts integerize_tree_list :: "'a list \<Rightarrow> int"
lemma integerize_tree_list_transfer[transfer_rule]:
- "rel_fun (list_all2 R) op = integerize_tree_list integerize_tree_list"
+ "rel_fun (list_all2 R) (=) integerize_tree_list integerize_tree_list"
sorry
corec (friend) f10a where
--- a/src/HOL/Data_Structures/Base_FDS.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Data_Structures/Base_FDS.thy Wed Jan 10 15:25:09 2018 +0100
@@ -18,4 +18,4 @@
"is_measure f \<Longrightarrow> is_measure g \<Longrightarrow> is_measure (size_prod f g)"
by (rule is_measure_trivial)
-end
\ No newline at end of file
+end
--- a/src/HOL/Data_Structures/Binomial_Heap.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Data_Structures/Binomial_Heap.thy Wed Jan 10 15:25:09 2018 +0100
@@ -66,7 +66,7 @@
definition invar_bheap :: "'a::linorder heap \<Rightarrow> bool" where
"invar_bheap ts
- \<longleftrightarrow> (\<forall>t\<in>set ts. invar_btree t) \<and> (sorted_wrt (op <) (map rank ts))"
+ \<longleftrightarrow> (\<forall>t\<in>set ts. invar_btree t) \<and> (sorted_wrt (<) (map rank ts))"
text \<open>Ordering (heap) invariant\<close>
fun invar_otree :: "'a::linorder tree \<Rightarrow> bool" where
@@ -390,7 +390,7 @@
to show that binomial heaps satisfy the specification of priority queues with merge.\<close>
interpretation binheap: Priority_Queue_Merge
- where empty = "[]" and is_empty = "op = []" and insert = insert
+ where empty = "[]" and is_empty = "(=) []" and insert = insert
and get_min = get_min and del_min = del_min and merge = merge
and invar = invar and mset = mset_heap
proof (unfold_locales, goal_cases)
@@ -453,14 +453,14 @@
shows "2^length ts \<le> size (mset_heap ts) + 1"
proof -
from \<open>invar_bheap ts\<close> have
- ASC: "sorted_wrt (op <) (map rank ts)" and
+ ASC: "sorted_wrt (<) (map rank ts)" and
TINV: "\<forall>t\<in>set ts. invar_btree t"
unfolding invar_bheap_def by auto
have "(2::nat)^length ts = (\<Sum>i\<in>{0..<length ts}. 2^i) + 1"
by (simp add: sum_power2)
also have "\<dots> \<le> (\<Sum>t\<leftarrow>ts. 2^rank t) + 1"
- using sorted_wrt_less_sum_mono_lowerbound[OF _ ASC, of "op ^ (2::nat)"]
+ using sorted_wrt_less_sum_mono_lowerbound[OF _ ASC, of "(^) (2::nat)"]
using power_increasing[where a="2::nat"]
by (auto simp: o_def)
also have "\<dots> = (\<Sum>t\<leftarrow>ts. size (mset_tree t)) + 1" using TINV
--- a/src/HOL/Data_Structures/Sorted_Less.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Data_Structures/Sorted_Less.thy Wed Jan 10 15:25:09 2018 +0100
@@ -12,7 +12,7 @@
Could go into theory List under a name like @{term sorted_less}.\<close>
abbreviation sorted :: "'a::linorder list \<Rightarrow> bool" where
-"sorted \<equiv> sorted_wrt (op <)"
+"sorted \<equiv> sorted_wrt (<)"
lemma sorted_cons: "sorted (x#xs) \<Longrightarrow> sorted xs"
by(simp add: sorted_wrt_Cons)
--- a/src/HOL/Datatype_Examples/Derivation_Trees/DTree.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Datatype_Examples/Derivation_Trees/DTree.thy Wed Jan 10 15:25:09 2018 +0100
@@ -67,7 +67,7 @@
lemma dtree_coinduct[elim, consumes 1, case_names Lift, induct pred: "HOL.eq"]:
assumes phi: "\<phi> tr1 tr2" and
Lift: "\<And> tr1 tr2. \<phi> tr1 tr2 \<Longrightarrow>
- root tr1 = root tr2 \<and> rel_set (rel_sum op = \<phi>) (cont tr1) (cont tr2)"
+ root tr1 = root tr2 \<and> rel_set (rel_sum (=) \<phi>) (cont tr1) (cont tr2)"
shows "tr1 = tr2"
using phi apply(elim dtree.coinduct)
apply(rule Lift[unfolded rel_set_cont]) .
--- a/src/HOL/Datatype_Examples/Derivation_Trees/Parallel_Composition.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Datatype_Examples/Derivation_Trees/Parallel_Composition.thy Wed Jan 10 15:25:09 2018 +0100
@@ -68,7 +68,7 @@
subsection\<open>Structural Coinduction Proofs\<close>
lemma rel_set_rel_sum_eq[simp]:
-"rel_set (rel_sum (op =) \<phi>) A1 A2 \<longleftrightarrow>
+"rel_set (rel_sum (=) \<phi>) A1 A2 \<longleftrightarrow>
Inl -` A1 = Inl -` A2 \<and> rel_set \<phi> (Inr -` A1) (Inr -` A2)"
unfolding rel_set_rel_sum rel_set_eq ..
--- a/src/HOL/Datatype_Examples/Stream_Processor.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Datatype_Examples/Stream_Processor.thy Wed Jan 10 15:25:09 2018 +0100
@@ -96,7 +96,7 @@
primrec sp\<^sub>\<mu>_comp2 (infixl "o\<^sup>*\<^sub>\<mu>" 65) where
"Put b sp o\<^sup>*\<^sub>\<mu> fsp = Put b (sp, In fsp)"
-| "Get f o\<^sup>*\<^sub>\<mu> fsp = sp\<^sub>\<mu>_comp2R (op o\<^sup>*\<^sub>\<mu> o f) fsp"
+| "Get f o\<^sup>*\<^sub>\<mu> fsp = sp\<^sub>\<mu>_comp2R ((o\<^sup>*\<^sub>\<mu>) o f) fsp"
primcorec sp\<^sub>\<nu>_comp2 (infixl "o\<^sup>*\<^sub>\<nu>" 65) where
"out (sp o\<^sup>*\<^sub>\<nu> sp') = map_sp\<^sub>\<mu> id (\<lambda>(sp, sp'). sp o\<^sup>*\<^sub>\<nu> sp') (out sp o\<^sup>*\<^sub>\<mu> out sp')"
@@ -159,7 +159,7 @@
end
\<close>)
-lemma sp\<^sub>\<mu>_rel_self: "\<lbrakk>op = \<le> R1; op = \<le> R2\<rbrakk> \<Longrightarrow> rel_sp\<^sub>\<mu> R1 R2 x x"
+lemma sp\<^sub>\<mu>_rel_self: "\<lbrakk>(=) \<le> R1; (=) \<le> R2\<rbrakk> \<Longrightarrow> rel_sp\<^sub>\<mu> R1 R2 x x"
by (erule (1) predicate2D[OF sp\<^sub>\<mu>.rel_mono]) (simp only: sp\<^sub>\<mu>.rel_eq)
lemma sp\<^sub>\<nu>_comp_sp\<^sub>\<nu>_comp2: "sp o\<^sub>\<nu> sp' = sp o\<^sup>*\<^sub>\<nu> sp'"
--- a/src/HOL/Decision_Procs/Algebra_Aux.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/Algebra_Aux.thy Wed Jan 10 15:25:09 2018 +0100
@@ -9,7 +9,7 @@
begin
definition of_natural :: "('a, 'm) ring_scheme \<Rightarrow> nat \<Rightarrow> 'a" ("\<guillemotleft>_\<guillemotright>\<^sub>\<nat>\<index>")
- where "\<guillemotleft>n\<guillemotright>\<^sub>\<nat>\<^bsub>R\<^esub> = (op \<oplus>\<^bsub>R\<^esub> \<one>\<^bsub>R\<^esub> ^^ n) \<zero>\<^bsub>R\<^esub>"
+ where "\<guillemotleft>n\<guillemotright>\<^sub>\<nat>\<^bsub>R\<^esub> = ((\<oplus>\<^bsub>R\<^esub>) \<one>\<^bsub>R\<^esub> ^^ n) \<zero>\<^bsub>R\<^esub>"
definition of_integer :: "('a, 'm) ring_scheme \<Rightarrow> int \<Rightarrow> 'a" ("\<guillemotleft>_\<guillemotright>\<index>")
where "\<guillemotleft>i\<guillemotright>\<^bsub>R\<^esub> = (if 0 \<le> i then \<guillemotleft>nat i\<guillemotright>\<^sub>\<nat>\<^bsub>R\<^esub> else \<ominus>\<^bsub>R\<^esub> \<guillemotleft>nat (- i)\<guillemotright>\<^sub>\<nat>\<^bsub>R\<^esub>)"
@@ -234,7 +234,7 @@
by (induct n) (simp_all add: m_ac)
definition cring_class_ops :: "'a::comm_ring_1 ring"
- where "cring_class_ops \<equiv> \<lparr>carrier = UNIV, mult = op *, one = 1, zero = 0, add = (op +)\<rparr>"
+ where "cring_class_ops \<equiv> \<lparr>carrier = UNIV, mult = ( * ), one = 1, zero = 0, add = (+)\<rparr>"
lemma cring_class: "cring cring_class_ops"
apply unfold_locales
--- a/src/HOL/Decision_Procs/Cooper.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/Cooper.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2386,7 +2386,7 @@
let
fun num_of_term vs (t as Free (xn, xT)) =
- (case AList.lookup (op =) vs t of
+ (case AList.lookup (=) vs t of
NONE => error "Variable not found in the list!"
| SOME n => @{code Bound} (@{code nat_of_integer} n))
| num_of_term vs @{term "0::int"} = @{code C} (@{code int_of_integer} 0)
@@ -2398,11 +2398,11 @@
@{code C} (@{code int_of_integer} (~(HOLogic.dest_numeral t)))
| num_of_term vs (Bound i) = @{code Bound} (@{code nat_of_integer} i)
| num_of_term vs (@{term "uminus :: int \<Rightarrow> int"} $ t') = @{code Neg} (num_of_term vs t')
- | num_of_term vs (@{term "op + :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(+) :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
@{code Add} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op - :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(-) :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
@{code Sub} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op * :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
+ | num_of_term vs (@{term "( * ) :: int \<Rightarrow> int \<Rightarrow> int"} $ t1 $ t2) =
(case try HOLogic.dest_number t1 of
SOME (_, i) => @{code Mul} (@{code int_of_integer} i, num_of_term vs t2)
| NONE =>
@@ -2413,17 +2413,17 @@
fun fm_of_term ps vs @{term True} = @{code T}
| fm_of_term ps vs @{term False} = @{code F}
- | fm_of_term ps vs (@{term "op < :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(<) :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
@{code Lt} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term ps vs (@{term "op \<le> :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
@{code Le} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term ps vs (@{term "op = :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(=) :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
@{code Eq} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term ps vs (@{term "op dvd :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(dvd) :: int \<Rightarrow> int \<Rightarrow> bool"} $ t1 $ t2) =
(case try HOLogic.dest_number t1 of
SOME (_, i) => @{code Dvd} (@{code int_of_integer} i, num_of_term vs t2)
| NONE => error "num_of_term: unsupported dvd")
- | fm_of_term ps vs (@{term "op = :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(=) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
@{code Iff} (fm_of_term ps vs t1, fm_of_term ps vs t2)
| fm_of_term ps vs (@{term HOL.conj} $ t1 $ t2) =
@{code And} (fm_of_term ps vs t1, fm_of_term ps vs t2)
@@ -2451,11 +2451,11 @@
val q = @{code integer_of_nat} n
in fst (the (find_first (fn (_, m) => q = m) vs)) end
| term_of_num vs (@{code Neg} t') = @{term "uminus :: int \<Rightarrow> int"} $ term_of_num vs t'
- | term_of_num vs (@{code Add} (t1, t2)) = @{term "op + :: int \<Rightarrow> int \<Rightarrow> int"} $
+ | term_of_num vs (@{code Add} (t1, t2)) = @{term "(+) :: int \<Rightarrow> int \<Rightarrow> int"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Sub} (t1, t2)) = @{term "op - :: int \<Rightarrow> int \<Rightarrow> int"} $
+ | term_of_num vs (@{code Sub} (t1, t2)) = @{term "(-) :: int \<Rightarrow> int \<Rightarrow> int"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Mul} (i, t2)) = @{term "op * :: int \<Rightarrow> int \<Rightarrow> int"} $
+ | term_of_num vs (@{code Mul} (i, t2)) = @{term "( * ) :: int \<Rightarrow> int \<Rightarrow> int"} $
term_of_num vs (@{code C} i) $ term_of_num vs t2
| term_of_num vs (@{code CN} (n, i, t)) =
term_of_num vs (@{code Add} (@{code Mul} (i, @{code Bound} n), t));
@@ -2463,19 +2463,19 @@
fun term_of_fm ps vs @{code T} = @{term True}
| term_of_fm ps vs @{code F} = @{term False}
| term_of_fm ps vs (@{code Lt} t) =
- @{term "op < :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
+ @{term "(<) :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
| term_of_fm ps vs (@{code Le} t) =
- @{term "op \<le> :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
+ @{term "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
| term_of_fm ps vs (@{code Gt} t) =
- @{term "op < :: int \<Rightarrow> int \<Rightarrow> bool"} $ @{term "0::int"} $ term_of_num vs t
+ @{term "(<) :: int \<Rightarrow> int \<Rightarrow> bool"} $ @{term "0::int"} $ term_of_num vs t
| term_of_fm ps vs (@{code Ge} t) =
- @{term "op \<le> :: int \<Rightarrow> int \<Rightarrow> bool"} $ @{term "0::int"} $ term_of_num vs t
+ @{term "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool"} $ @{term "0::int"} $ term_of_num vs t
| term_of_fm ps vs (@{code Eq} t) =
- @{term "op = :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
+ @{term "(=) :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::int"}
| term_of_fm ps vs (@{code NEq} t) =
term_of_fm ps vs (@{code NOT} (@{code Eq} t))
| term_of_fm ps vs (@{code Dvd} (i, t)) =
- @{term "op dvd :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs (@{code C} i) $ term_of_num vs t
+ @{term "(dvd) :: int \<Rightarrow> int \<Rightarrow> bool"} $ term_of_num vs (@{code C} i) $ term_of_num vs t
| term_of_fm ps vs (@{code NDvd} (i, t)) =
term_of_fm ps vs (@{code NOT} (@{code Dvd} (i, t)))
| term_of_fm ps vs (@{code NOT} t') =
@@ -2487,7 +2487,7 @@
| term_of_fm ps vs (@{code Imp} (t1, t2)) =
HOLogic.imp $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
| term_of_fm ps vs (@{code Iff} (t1, t2)) =
- @{term "op = :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
+ @{term "(=) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
| term_of_fm ps vs (@{code Closed} n) =
let
val q = @{code integer_of_nat} n
@@ -2497,22 +2497,22 @@
fun term_bools acc t =
let
val is_op =
- member (op =) [@{term HOL.conj}, @{term HOL.disj}, @{term HOL.implies},
- @{term "op = :: bool \<Rightarrow> _"},
- @{term "op = :: int \<Rightarrow> _"}, @{term "op < :: int \<Rightarrow> _"},
- @{term "op \<le> :: int \<Rightarrow> _"}, @{term "Not"}, @{term "All :: (int \<Rightarrow> _) \<Rightarrow> _"},
+ member (=) [@{term HOL.conj}, @{term HOL.disj}, @{term HOL.implies},
+ @{term "(=) :: bool \<Rightarrow> _"},
+ @{term "(=) :: int \<Rightarrow> _"}, @{term "(<) :: int \<Rightarrow> _"},
+ @{term "(\<le>) :: int \<Rightarrow> _"}, @{term "Not"}, @{term "All :: (int \<Rightarrow> _) \<Rightarrow> _"},
@{term "Ex :: (int \<Rightarrow> _) \<Rightarrow> _"}, @{term "True"}, @{term "False"}]
fun is_ty t = not (fastype_of t = HOLogic.boolT)
in
(case t of
(l as f $ a) $ b =>
if is_ty t orelse is_op t then term_bools (term_bools acc l) b
- else insert (op aconv) t acc
+ else insert (aconv) t acc
| f $ a =>
if is_ty t orelse is_op t then term_bools (term_bools acc f) a
- else insert (op aconv) t acc
+ else insert (aconv) t acc
| Abs p => term_bools acc (snd (Syntax_Trans.variant_abs p)) (* FIXME !? *)
- | _ => if is_ty t orelse is_op t then acc else insert (op aconv) t acc)
+ | _ => if is_ty t orelse is_op t then acc else insert (aconv) t acc)
end;
in
--- a/src/HOL/Decision_Procs/Ferrack.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/Ferrack.thy Wed Jan 10 15:25:09 2018 +0100
@@ -2472,11 +2472,11 @@
| num_of_term vs @{term "1::real"} = mk_C 1
| num_of_term vs (Bound i) = mk_Bound i
| num_of_term vs (@{term "uminus :: real \<Rightarrow> real"} $ t') = @{code Neg} (num_of_term vs t')
- | num_of_term vs (@{term "op + :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(+) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
@{code Add} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op - :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(-) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
@{code Sub} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op * :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) = (case num_of_term vs t1
+ | num_of_term vs (@{term "( * ) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) = (case num_of_term vs t1
of @{code C} i => @{code Mul} (i, num_of_term vs t2)
| _ => error "num_of_term: unsupported multiplication")
| num_of_term vs (@{term "real_of_int :: int \<Rightarrow> real"} $ t') =
@@ -2488,13 +2488,13 @@
fun fm_of_term vs @{term True} = @{code T}
| fm_of_term vs @{term False} = @{code F}
- | fm_of_term vs (@{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Lt} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Le} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op = :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(=) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Eq} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op \<longleftrightarrow> :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(\<longleftrightarrow>) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
@{code Iff} (fm_of_term vs t1, fm_of_term vs t2)
| fm_of_term vs (@{term HOL.conj} $ t1 $ t2) = @{code And} (fm_of_term vs t1, fm_of_term vs t2)
| fm_of_term vs (@{term HOL.disj} $ t1 $ t2) = @{code Or} (fm_of_term vs t1, fm_of_term vs t2)
@@ -2510,32 +2510,32 @@
HOLogic.mk_number HOLogic.intT (@{code integer_of_int} i)
| term_of_num vs (@{code Bound} n) = Free (nth vs (@{code integer_of_nat} n))
| term_of_num vs (@{code Neg} t') = @{term "uminus :: real \<Rightarrow> real"} $ term_of_num vs t'
- | term_of_num vs (@{code Add} (t1, t2)) = @{term "op + :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Add} (t1, t2)) = @{term "(+) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Sub} (t1, t2)) = @{term "op - :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Sub} (t1, t2)) = @{term "(-) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Mul} (i, t2)) = @{term "op * :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Mul} (i, t2)) = @{term "( * ) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs (@{code C} i) $ term_of_num vs t2
| term_of_num vs (@{code CN} (n, i, t)) = term_of_num vs (@{code Add} (@{code Mul} (i, @{code Bound} n), t));
fun term_of_fm vs @{code T} = @{term True}
| term_of_fm vs @{code F} = @{term False}
- | term_of_fm vs (@{code Lt} t) = @{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Lt} t) = @{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $
term_of_num vs t $ @{term "0::real"}
- | term_of_fm vs (@{code Le} t) = @{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Le} t) = @{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $
term_of_num vs t $ @{term "0::real"}
- | term_of_fm vs (@{code Gt} t) = @{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Gt} t) = @{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $
@{term "0::real"} $ term_of_num vs t
- | term_of_fm vs (@{code Ge} t) = @{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Ge} t) = @{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $
@{term "0::real"} $ term_of_num vs t
- | term_of_fm vs (@{code Eq} t) = @{term "op = :: real \<Rightarrow> real \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Eq} t) = @{term "(=) :: real \<Rightarrow> real \<Rightarrow> bool"} $
term_of_num vs t $ @{term "0::real"}
| term_of_fm vs (@{code NEq} t) = term_of_fm vs (@{code NOT} (@{code Eq} t))
| term_of_fm vs (@{code NOT} t') = HOLogic.Not $ term_of_fm vs t'
| term_of_fm vs (@{code And} (t1, t2)) = HOLogic.conj $ term_of_fm vs t1 $ term_of_fm vs t2
| term_of_fm vs (@{code Or} (t1, t2)) = HOLogic.disj $ term_of_fm vs t1 $ term_of_fm vs t2
| term_of_fm vs (@{code Imp} (t1, t2)) = HOLogic.imp $ term_of_fm vs t1 $ term_of_fm vs t2
- | term_of_fm vs (@{code Iff} (t1, t2)) = @{term "op \<longleftrightarrow> :: bool \<Rightarrow> bool \<Rightarrow> bool"} $
+ | term_of_fm vs (@{code Iff} (t1, t2)) = @{term "(\<longleftrightarrow>) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $
term_of_fm vs t1 $ term_of_fm vs t2;
in fn (ctxt, t) =>
--- a/src/HOL/Decision_Procs/MIR.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/MIR.thy Wed Jan 10 15:25:09 2018 +0100
@@ -5563,7 +5563,7 @@
val mk_Dvd = @{code Dvd} o apfst @{code int_of_integer};
val mk_Bound = @{code Bound} o @{code nat_of_integer};
-fun num_of_term vs (t as Free (xn, xT)) = (case AList.lookup (op =) vs t
+fun num_of_term vs (t as Free (xn, xT)) = (case AList.lookup (=) vs t
of NONE => error "Variable not found in the list!"
| SOME n => mk_Bound n)
| num_of_term vs @{term "of_int (0::int)"} = mk_C 0
@@ -5573,11 +5573,11 @@
| num_of_term vs @{term "- 1::real"} = mk_C (~ 1)
| num_of_term vs (Bound i) = mk_Bound i
| num_of_term vs (@{term "uminus :: real \<Rightarrow> real"} $ t') = @{code Neg} (num_of_term vs t')
- | num_of_term vs (@{term "op + :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(+) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
@{code Add} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op - :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
+ | num_of_term vs (@{term "(-) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
@{code Sub} (num_of_term vs t1, num_of_term vs t2)
- | num_of_term vs (@{term "op * :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
+ | num_of_term vs (@{term "( * ) :: real \<Rightarrow> real \<Rightarrow> real"} $ t1 $ t2) =
(case (num_of_term vs t1)
of @{code C} i => @{code Mul} (i, num_of_term vs t2)
| _ => error "num_of_term: unsupported Multiplication")
@@ -5597,17 +5597,17 @@
fun fm_of_term vs @{term True} = @{code T}
| fm_of_term vs @{term False} = @{code F}
- | fm_of_term vs (@{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Lt} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Le} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op = :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(=) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) =
@{code Eq} (@{code Sub} (num_of_term vs t1, num_of_term vs t2))
- | fm_of_term vs (@{term "op rdvd"} $ (@{term "of_int :: int \<Rightarrow> real"} $ (@{term "numeral :: _ \<Rightarrow> int"} $ t1)) $ t2) =
+ | fm_of_term vs (@{term "(rdvd)"} $ (@{term "of_int :: int \<Rightarrow> real"} $ (@{term "numeral :: _ \<Rightarrow> int"} $ t1)) $ t2) =
mk_Dvd (HOLogic.dest_numeral t1, num_of_term vs t2)
- | fm_of_term vs (@{term "op rdvd"} $ (@{term "of_int :: int \<Rightarrow> real"} $ (@{term "- numeral :: _ \<Rightarrow> int"} $ t1)) $ t2) =
+ | fm_of_term vs (@{term "(rdvd)"} $ (@{term "of_int :: int \<Rightarrow> real"} $ (@{term "- numeral :: _ \<Rightarrow> int"} $ t1)) $ t2) =
mk_Dvd (~ (HOLogic.dest_numeral t1), num_of_term vs t2)
- | fm_of_term vs (@{term "op = :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
+ | fm_of_term vs (@{term "(=) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ t1 $ t2) =
@{code Iff} (fm_of_term vs t1, fm_of_term vs t2)
| fm_of_term vs (@{term HOL.conj} $ t1 $ t2) =
@{code And} (fm_of_term vs t1, fm_of_term vs t2)
@@ -5632,11 +5632,11 @@
| term_of_num vs (@{code Neg} (@{code Floor} (@{code Neg} t'))) =
@{term "of_int :: int \<Rightarrow> real"} $ (@{term "ceiling :: real \<Rightarrow> int"} $ term_of_num vs t')
| term_of_num vs (@{code Neg} t') = @{term "uminus :: real \<Rightarrow> real"} $ term_of_num vs t'
- | term_of_num vs (@{code Add} (t1, t2)) = @{term "op + :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Add} (t1, t2)) = @{term "(+) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Sub} (t1, t2)) = @{term "op - :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Sub} (t1, t2)) = @{term "(-) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs t1 $ term_of_num vs t2
- | term_of_num vs (@{code Mul} (i, t2)) = @{term "op * :: real \<Rightarrow> real \<Rightarrow> real"} $
+ | term_of_num vs (@{code Mul} (i, t2)) = @{term "( * ) :: real \<Rightarrow> real \<Rightarrow> real"} $
term_of_num vs (@{code C} i) $ term_of_num vs t2
| term_of_num vs (@{code Floor} t) = @{term "of_int :: int \<Rightarrow> real"} $ (@{term "floor :: real \<Rightarrow> int"} $ term_of_num vs t)
| term_of_num vs (@{code CN} (n, i, t)) = term_of_num vs (@{code Add} (@{code Mul} (i, @{code Bound} n), t))
@@ -5645,19 +5645,19 @@
fun term_of_fm vs @{code T} = @{term True}
| term_of_fm vs @{code F} = @{term False}
| term_of_fm vs (@{code Lt} t) =
- @{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
+ @{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
| term_of_fm vs (@{code Le} t) =
- @{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
+ @{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
| term_of_fm vs (@{code Gt} t) =
- @{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $ @{term "0::real"} $ term_of_num vs t
+ @{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $ @{term "0::real"} $ term_of_num vs t
| term_of_fm vs (@{code Ge} t) =
- @{term "op \<le> :: real \<Rightarrow> real \<Rightarrow> bool"} $ @{term "0::real"} $ term_of_num vs t
+ @{term "(\<le>) :: real \<Rightarrow> real \<Rightarrow> bool"} $ @{term "0::real"} $ term_of_num vs t
| term_of_fm vs (@{code Eq} t) =
- @{term "op = :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
+ @{term "(=) :: real \<Rightarrow> real \<Rightarrow> bool"} $ term_of_num vs t $ @{term "0::real"}
| term_of_fm vs (@{code NEq} t) =
term_of_fm vs (@{code NOT} (@{code Eq} t))
| term_of_fm vs (@{code Dvd} (i, t)) =
- @{term "op rdvd"} $ term_of_num vs (@{code C} i) $ term_of_num vs t
+ @{term "(rdvd)"} $ term_of_num vs (@{code C} i) $ term_of_num vs t
| term_of_fm vs (@{code NDvd} (i, t)) =
term_of_fm vs (@{code NOT} (@{code Dvd} (i, t)))
| term_of_fm vs (@{code NOT} t') =
@@ -5669,7 +5669,7 @@
| term_of_fm vs (@{code Imp} (t1, t2)) =
HOLogic.imp $ term_of_fm vs t1 $ term_of_fm vs t2
| term_of_fm vs (@{code Iff} (t1, t2)) =
- @{term "op = :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ term_of_fm vs t1 $ term_of_fm vs t2;
+ @{term "(=) :: bool \<Rightarrow> bool \<Rightarrow> bool"} $ term_of_fm vs t1 $ term_of_fm vs t2;
in
fn (ctxt, t) =>
--- a/src/HOL/Decision_Procs/Parametric_Ferrante_Rackoff.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/Parametric_Ferrante_Rackoff.thy Wed Jan 10 15:25:09 2018 +0100
@@ -4066,7 +4066,7 @@
fun frpar_procedure alternative T ps fm =
let
val frpar = if alternative then @{code frpar2} else @{code frpar};
- val fs = subtract (op aconv) (map Free (Term.add_frees fm [])) ps;
+ val fs = subtract (aconv) (map Free (Term.add_frees fm [])) ps;
val eval = term_of_fm T fs ps o frpar o fm_of_term fs ps;
val t = HOLogic.dest_Trueprop fm;
in HOLogic.mk_Trueprop (HOLogic.mk_eq (t, eval t)) end;
--- a/src/HOL/Decision_Procs/Polynomial_List.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/Polynomial_List.thy Wed Jan 10 15:25:09 2018 +0100
@@ -186,7 +186,7 @@
by (cases "x = zero") (auto simp add: distrib_left ac_simps)
qed
-lemma (in comm_semiring_0) poly_cmult_map: "poly (map (op * c) p) x = c * poly p x"
+lemma (in comm_semiring_0) poly_cmult_map: "poly (map (( * ) c) p) x = c * poly p x"
by (induct p) (auto simp add: distrib_left ac_simps)
lemma (in comm_ring_1) poly_minus: "poly (-- p) x = - (poly p x)"
--- a/src/HOL/Decision_Procs/approximation.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/approximation.ML Wed Jan 10 15:25:09 2018 +0100
@@ -105,9 +105,9 @@
fun calculated_subterms (@{const Trueprop} $ t) = calculated_subterms t
| calculated_subterms (@{const HOL.implies} $ _ $ t) = calculated_subterms t
- | calculated_subterms (@{term "op <= :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) = [t1, t2]
- | calculated_subterms (@{term "op < :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) = [t1, t2]
- | calculated_subterms (@{term "op : :: real \<Rightarrow> real set \<Rightarrow> bool"} $ t1 $
+ | calculated_subterms (@{term "(<=) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) = [t1, t2]
+ | calculated_subterms (@{term "(<) :: real \<Rightarrow> real \<Rightarrow> bool"} $ t1 $ t2) = [t1, t2]
+ | calculated_subterms (@{term "(:) :: real \<Rightarrow> real set \<Rightarrow> bool"} $ t1 $
(@{term "atLeastAtMost :: real \<Rightarrow> real \<Rightarrow> real set"} $ t2 $ t3)) = [t1, t2, t3]
| calculated_subterms t = raise TERM ("calculated_subterms", [t])
@@ -246,7 +246,7 @@
|> approximate ctxt
|> HOLogic.dest_list
|> curry ListPair.zip (HOLogic.dest_list xs @ calculated_subterms arith_term)
- |> map (fn (elem, s) => @{term "op : :: real \<Rightarrow> real set \<Rightarrow> bool"} $ elem $ mk_result prec (dest_ivl s))
+ |> map (fn (elem, s) => @{term "(:) :: real \<Rightarrow> real set \<Rightarrow> bool"} $ elem $ mk_result prec (dest_ivl s))
|> foldr1 HOLogic.mk_conj))
fun approx_arith prec ctxt t = realify t
--- a/src/HOL/Decision_Procs/langford.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Decision_Procs/langford.ML Wed Jan 10 15:25:09 2018 +0100
@@ -145,7 +145,7 @@
case ndx of
[] => NONE
| _ =>
- conj_aci_rule (Thm.mk_binop @{cterm "op \<equiv> :: prop => _"} Pp
+ conj_aci_rule (Thm.mk_binop @{cterm "(\<equiv>) :: prop => _"} Pp
(Thm.apply @{cterm Trueprop} (list_conj (ndx @ dx))))
|> Thm.abstract_rule xn x
|> Drule.arg_cong_rule e
@@ -156,7 +156,7 @@
|> SOME
end
| _ =>
- conj_aci_rule (Thm.mk_binop @{cterm "op \<equiv> :: prop => _"} Pp
+ conj_aci_rule (Thm.mk_binop @{cterm "(\<equiv>) :: prop => _"} Pp
(Thm.apply @{cterm Trueprop} (list_conj (eqs @ neqs))))
|> Thm.abstract_rule xn x |> Drule.arg_cong_rule e
|> Conv.fconv_rule
--- a/src/HOL/Deriv.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Deriv.thy Wed Jan 10 15:25:09 2018 +0100
@@ -31,7 +31,7 @@
definition has_field_derivative :: "('a::real_normed_field \<Rightarrow> 'a) \<Rightarrow> 'a \<Rightarrow> 'a filter \<Rightarrow> bool"
(infix "(has'_field'_derivative)" 50)
- where "(f has_field_derivative D) F \<longleftrightarrow> (f has_derivative op * D) F"
+ where "(f has_field_derivative D) F \<longleftrightarrow> (f has_derivative ( * ) D) F"
lemma DERIV_cong: "(f has_field_derivative X) F \<Longrightarrow> X = Y \<Longrightarrow> (f has_field_derivative Y) F"
by simp
@@ -150,7 +150,7 @@
lemma field_has_derivative_at:
fixes x :: "'a::real_normed_field"
- shows "(f has_derivative op * D) (at x) \<longleftrightarrow> (\<lambda>h. (f (x + h) - f x) / h) \<midarrow>0\<rightarrow> D"
+ shows "(f has_derivative ( * ) D) (at x) \<longleftrightarrow> (\<lambda>h. (f (x + h) - f x) / h) \<midarrow>0\<rightarrow> D"
apply (unfold has_derivative_at)
apply (simp add: bounded_linear_mult_right)
apply (simp cong: LIM_cong add: nonzero_norm_divide [symmetric])
@@ -588,7 +588,7 @@
by (rule has_derivative_eq_rhs[of f D]) (simp_all add: fun_eq_iff mult.commute)
lemma has_field_derivative_imp_has_derivative:
- "(f has_field_derivative D) F \<Longrightarrow> (f has_derivative op * D) F"
+ "(f has_field_derivative D) F \<Longrightarrow> (f has_derivative ( * ) D) F"
by (simp add: has_field_derivative_def)
lemma DERIV_subset:
@@ -615,7 +615,7 @@
assume "f differentiable at x within s"
then obtain f' where *: "(f has_derivative f') (at x within s)"
unfolding differentiable_def by auto
- then obtain c where "f' = (op * c)"
+ then obtain c where "f' = (( * ) c)"
by (metis real_bounded_linear has_derivative_bounded_linear mult.commute fun_eq_iff)
with * show "\<exists>D. (f has_real_derivative D) (at x within s)"
unfolding has_field_derivative_def by auto
@@ -647,7 +647,7 @@
lemma DERIV_def: "DERIV f x :> D \<longleftrightarrow> (\<lambda>h. (f (x + h) - f x) / h) \<midarrow>0\<rightarrow> D"
unfolding field_has_derivative_at has_field_derivative_def has_field_derivative_iff ..
-lemma mult_commute_abs: "(\<lambda>x. x * c) = op * c"
+lemma mult_commute_abs: "(\<lambda>x. x * c) = ( * ) c"
for c :: "'a::ab_semigroup_mult"
by (simp add: fun_eq_iff mult.commute)
@@ -830,7 +830,7 @@
((\<lambda>x. f x * c) has_field_derivative D * c) (at x within s)"
using DERIV_cmult by (auto simp add: ac_simps)
-lemma DERIV_cmult_Id [simp]: "(op * c has_field_derivative c) (at x within s)"
+lemma DERIV_cmult_Id [simp]: "(( * ) c has_field_derivative c) (at x within s)"
using DERIV_ident [THEN DERIV_cmult, where c = c and x = x] by simp
lemma DERIV_cdivide:
@@ -853,7 +853,7 @@
shows "((\<lambda>x. inverse (f x)) has_field_derivative - (inverse (f x) * D * inverse (f x)))
(at x within s)"
proof -
- have "(f has_derivative (\<lambda>x. x * D)) = (f has_derivative op * D)"
+ have "(f has_derivative (\<lambda>x. x * D)) = (f has_derivative ( * ) D)"
by (rule arg_cong [of "\<lambda>x. x * D"]) (simp add: fun_eq_iff)
with assms have "(f has_derivative (\<lambda>x. x * D)) (at x within s)"
by (auto dest!: has_field_derivative_imp_has_derivative)
@@ -906,7 +906,7 @@
lemma DERIV_chain': "(f has_field_derivative D) (at x within s) \<Longrightarrow> DERIV g (f x) :> E \<Longrightarrow>
((\<lambda>x. g (f x)) has_field_derivative E * D) (at x within s)"
- using has_derivative_compose[of f "op * D" x s g "op * E"]
+ using has_derivative_compose[of f "( * ) D" x s g "( * ) E"]
by (simp only: has_field_derivative_def mult_commute_abs ac_simps)
corollary DERIV_chain2: "DERIV f (g x) :> Da \<Longrightarrow> (g has_field_derivative Db) (at x within s) \<Longrightarrow>
@@ -924,7 +924,7 @@
"(f has_field_derivative Da) (at (g x) within (g ` s)) \<Longrightarrow>
(g has_field_derivative Db) (at x within s) \<Longrightarrow>
(f \<circ> g has_field_derivative Da * Db) (at x within s)"
- using has_derivative_in_compose [of g "op * Db" x s f "op * Da "]
+ using has_derivative_in_compose [of g "( * ) Db" x s f "( * ) Da "]
by (simp add: has_field_derivative_def o_def mult_commute_abs ac_simps)
(*These two are from HOL Light: HAS_COMPLEX_DERIVATIVE_CHAIN*)
--- a/src/HOL/Enum.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Enum.thy Wed Jan 10 15:25:09 2018 +0100
@@ -572,7 +572,7 @@
instantiation finite_1 :: complete_boolean_algebra
begin
-definition [simp]: "op - = (\<lambda>_ _. a\<^sub>1)"
+definition [simp]: "(-) = (\<lambda>_ _. a\<^sub>1)"
definition [simp]: "uminus = (\<lambda>_. a\<^sub>1)"
instance by intro_classes simp_all
end
@@ -584,9 +584,9 @@
begin
definition [simp]: "Groups.zero = a\<^sub>1"
definition [simp]: "Groups.one = a\<^sub>1"
-definition [simp]: "op + = (\<lambda>_ _. a\<^sub>1)"
-definition [simp]: "op * = (\<lambda>_ _. a\<^sub>1)"
-definition [simp]: "op mod = (\<lambda>_ _. a\<^sub>1)"
+definition [simp]: "(+) = (\<lambda>_ _. a\<^sub>1)"
+definition [simp]: "( * ) = (\<lambda>_ _. a\<^sub>1)"
+definition [simp]: "(mod) = (\<lambda>_ _. a\<^sub>1)"
definition [simp]: "abs = (\<lambda>_. a\<^sub>1)"
definition [simp]: "sgn = (\<lambda>_. a\<^sub>1)"
definition [simp]: "inverse = (\<lambda>_. a\<^sub>1)"
@@ -688,10 +688,10 @@
definition [simp]: "1 = a\<^sub>2"
definition "x + y = (case (x, y) of (a\<^sub>1, a\<^sub>1) \<Rightarrow> a\<^sub>1 | (a\<^sub>2, a\<^sub>2) \<Rightarrow> a\<^sub>1 | _ \<Rightarrow> a\<^sub>2)"
definition "uminus = (\<lambda>x :: finite_2. x)"
-definition "op - = (op + :: finite_2 \<Rightarrow> _)"
+definition "(-) = ((+) :: finite_2 \<Rightarrow> _)"
definition "x * y = (case (x, y) of (a\<^sub>2, a\<^sub>2) \<Rightarrow> a\<^sub>2 | _ \<Rightarrow> a\<^sub>1)"
definition "inverse = (\<lambda>x :: finite_2. x)"
-definition "divide = (op * :: finite_2 \<Rightarrow> _)"
+definition "divide = (( * ) :: finite_2 \<Rightarrow> _)"
definition "x mod y = (case (x, y) of (a\<^sub>2, a\<^sub>1) \<Rightarrow> a\<^sub>2 | _ \<Rightarrow> a\<^sub>1)"
definition "abs = (\<lambda>x :: finite_2. x)"
definition "sgn = (\<lambda>x :: finite_2. x)"
--- a/src/HOL/Equiv_Relations.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Equiv_Relations.thy Wed Jan 10 15:25:09 2018 +0100
@@ -472,7 +472,7 @@
lemma equivp_reflp_symp_transp: "equivp R \<longleftrightarrow> reflp R \<and> symp R \<and> transp R"
by (auto intro: equivpI elim: equivpE)
-lemma identity_equivp: "equivp (op =)"
+lemma identity_equivp: "equivp (=)"
by (auto intro: equivpI reflpI sympI transpI)
lemma equivp_reflp: "equivp R \<Longrightarrow> R x x"
--- a/src/HOL/Factorial.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Factorial.thy Wed Jan 10 15:25:09 2018 +0100
@@ -389,13 +389,13 @@
subsection \<open>Misc\<close>
lemma fact_code [code]:
- "fact n = (of_nat (fold_atLeastAtMost_nat (op *) 2 n 1) :: 'a::semiring_char_0)"
+ "fact n = (of_nat (fold_atLeastAtMost_nat (( * )) 2 n 1) :: 'a::semiring_char_0)"
proof -
have "fact n = (of_nat (\<Prod>{1..n}) :: 'a)"
by (simp add: fact_prod)
also have "\<Prod>{1..n} = \<Prod>{2..n}"
by (intro prod.mono_neutral_right) auto
- also have "\<dots> = fold_atLeastAtMost_nat (op *) 2 n 1"
+ also have "\<dots> = fold_atLeastAtMost_nat (( * )) 2 n 1"
by (simp add: prod_atLeastAtMost_code)
finally show ?thesis .
qed
--- a/src/HOL/Filter.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Filter.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1372,11 +1372,11 @@
begin
definition rel_filter :: "('a \<Rightarrow> 'b \<Rightarrow> bool) \<Rightarrow> 'a filter \<Rightarrow> 'b filter \<Rightarrow> bool"
-where "rel_filter R F G = ((R ===> op =) ===> op =) (Rep_filter F) (Rep_filter G)"
+where "rel_filter R F G = ((R ===> (=)) ===> (=)) (Rep_filter F) (Rep_filter G)"
lemma rel_filter_eventually:
"rel_filter R F G \<longleftrightarrow>
- ((R ===> op =) ===> op =) (\<lambda>P. eventually P F) (\<lambda>P. eventually P G)"
+ ((R ===> (=)) ===> (=)) (\<lambda>P. eventually P F) (\<lambda>P. eventually P G)"
by(simp add: rel_filter_def eventually_def)
lemma filtermap_id [simp, id_simps]: "filtermap id = id"
@@ -1408,14 +1408,14 @@
fun_quotient[OF fun_quotient[OF Q identity_quotient] identity_quotient, unfolded Quotient_alt_def])
lemma eventually_parametric [transfer_rule]:
- "((A ===> op =) ===> rel_filter A ===> op =) eventually eventually"
+ "((A ===> (=)) ===> rel_filter A ===> (=)) eventually eventually"
by(simp add: rel_fun_def rel_filter_eventually)
lemma frequently_parametric [transfer_rule]:
- "((A ===> op =) ===> rel_filter A ===> op =) frequently frequently"
+ "((A ===> (=)) ===> rel_filter A ===> (=)) frequently frequently"
unfolding frequently_def[abs_def] by transfer_prover
-lemma rel_filter_eq [relator_eq]: "rel_filter op = = op ="
+lemma rel_filter_eq [relator_eq]: "rel_filter (=) = (=)"
by(auto simp add: rel_filter_eventually rel_fun_eq fun_eq_iff filter_eq_iff)
lemma rel_filter_mono [relator_mono]:
@@ -1431,7 +1431,7 @@
lemma is_filter_parametric_aux:
assumes "is_filter F"
assumes [transfer_rule]: "bi_total A" "bi_unique A"
- and [transfer_rule]: "((A ===> op =) ===> op =) F G"
+ and [transfer_rule]: "((A ===> (=)) ===> (=)) F G"
shows "is_filter G"
proof -
interpret is_filter F by fact
@@ -1444,7 +1444,7 @@
assume "G P'" "G Q'"
moreover
from bi_total_fun[OF \<open>bi_unique A\<close> bi_total_eq, unfolded bi_total_def]
- obtain P Q where [transfer_rule]: "(A ===> op =) P P'" "(A ===> op =) Q Q'" by blast
+ obtain P Q where [transfer_rule]: "(A ===> (=)) P P'" "(A ===> (=)) Q Q'" by blast
have "F P = G P'" "F Q = G Q'" by transfer_prover+
ultimately have "F (\<lambda>x. P x \<and> Q x)" by(simp add: conj)
moreover have "F (\<lambda>x. P x \<and> Q x) = G (\<lambda>x. P' x \<and> Q' x)" by transfer_prover
@@ -1454,7 +1454,7 @@
assume "\<forall>x. P' x \<longrightarrow> Q' x" "G P'"
moreover
from bi_total_fun[OF \<open>bi_unique A\<close> bi_total_eq, unfolded bi_total_def]
- obtain P Q where [transfer_rule]: "(A ===> op =) P P'" "(A ===> op =) Q Q'" by blast
+ obtain P Q where [transfer_rule]: "(A ===> (=)) P P'" "(A ===> (=)) Q Q'" by blast
have "F P = G P'" by transfer_prover
moreover have "(\<forall>x. P x \<longrightarrow> Q x) \<longleftrightarrow> (\<forall>x. P' x \<longrightarrow> Q' x)" by transfer_prover
ultimately have "F Q" by(simp add: mono)
@@ -1465,7 +1465,7 @@
lemma is_filter_parametric [transfer_rule]:
"\<lbrakk> bi_total A; bi_unique A \<rbrakk>
- \<Longrightarrow> (((A ===> op =) ===> op =) ===> op =) is_filter is_filter"
+ \<Longrightarrow> (((A ===> (=)) ===> (=)) ===> (=)) is_filter is_filter"
apply(rule rel_funI)
apply(rule iffI)
apply(erule (3) is_filter_parametric_aux)
@@ -1480,7 +1480,7 @@
proof(rule left_totalI)
fix F :: "'a filter"
from bi_total_fun[OF bi_unique_fun[OF \<open>bi_total A\<close> bi_unique_eq] bi_total_eq]
- obtain G where [transfer_rule]: "((A ===> op =) ===> op =) (\<lambda>P. eventually P F) G"
+ obtain G where [transfer_rule]: "((A ===> (=)) ===> (=)) (\<lambda>P. eventually P F) G"
unfolding bi_total_def by blast
moreover have "is_filter (\<lambda>P. eventually P F) \<longleftrightarrow> is_filter G" by transfer_prover
hence "is_filter G" by(simp add: eventually_def is_filter_Rep_filter)
@@ -1509,7 +1509,7 @@
unfolding filter_eq_iff
proof
fix P :: "'a \<Rightarrow> bool"
- obtain P' where [transfer_rule]: "(A ===> op =) P P'"
+ obtain P' where [transfer_rule]: "(A ===> (=)) P P'"
using left_total_fun[OF assms left_total_eq] unfolding left_total_def by blast
have "eventually P F = eventually P' G"
and "eventually P F' = eventually P' G" by transfer_prover+
@@ -1579,11 +1579,11 @@
begin
lemma le_filter_parametric [transfer_rule]:
- "(rel_filter A ===> rel_filter A ===> op =) op \<le> op \<le>"
+ "(rel_filter A ===> rel_filter A ===> (=)) (\<le>) (\<le>)"
unfolding le_filter_def[abs_def] by transfer_prover
lemma less_filter_parametric [transfer_rule]:
- "(rel_filter A ===> rel_filter A ===> op =) op < op <"
+ "(rel_filter A ===> rel_filter A ===> (=)) (<) (<)"
unfolding less_filter_def[abs_def] by transfer_prover
context
--- a/src/HOL/Fun.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Fun.thy Wed Jan 10 15:25:09 2018 +0100
@@ -84,7 +84,7 @@
lemma image_eq_imp_comp: "f ` A = g ` B \<Longrightarrow> (h \<circ> f) ` A = (h \<circ> g) ` B"
by (auto simp: comp_def elim!: equalityE)
-lemma image_bind: "f ` (Set.bind A g) = Set.bind A (op ` f \<circ> g)"
+lemma image_bind: "f ` (Set.bind A g) = Set.bind A ((`) f \<circ> g)"
by (auto simp add: Set.bind_def)
lemma bind_image: "Set.bind (f ` A) g = Set.bind A (g \<circ> f)"
--- a/src/HOL/GCD.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/GCD.thy Wed Jan 10 15:25:09 2018 +0100
@@ -996,25 +996,25 @@
lemma dvd_Gcd_iff: "x dvd Gcd A \<longleftrightarrow> (\<forall>y\<in>A. x dvd y)"
by (blast dest: dvd_GcdD intro: Gcd_greatest)
-lemma Gcd_mult: "Gcd (op * c ` A) = normalize c * Gcd A"
+lemma Gcd_mult: "Gcd (( * ) c ` A) = normalize c * Gcd A"
proof (cases "c = 0")
case True
then show ?thesis by auto
next
case [simp]: False
- have "Gcd (op * c ` A) div c dvd Gcd A"
+ have "Gcd (( * ) c ` A) div c dvd Gcd A"
by (intro Gcd_greatest, subst div_dvd_iff_mult)
(auto intro!: Gcd_greatest Gcd_dvd simp: mult.commute[of _ c])
- then have "Gcd (op * c ` A) dvd c * Gcd A"
+ then have "Gcd (( * ) c ` A) dvd c * Gcd A"
by (subst (asm) div_dvd_iff_mult) (auto intro: Gcd_greatest simp: mult_ac)
also have "c * Gcd A = (normalize c * Gcd A) * unit_factor c"
by (subst unit_factor_mult_normalize [symmetric]) (simp only: mult_ac)
- also have "Gcd (op * c ` A) dvd \<dots> \<longleftrightarrow> Gcd (op * c ` A) dvd normalize c * Gcd A"
+ also have "Gcd (( * ) c ` A) dvd \<dots> \<longleftrightarrow> Gcd (( * ) c ` A) dvd normalize c * Gcd A"
by (simp add: dvd_mult_unit_iff)
- finally have "Gcd (op * c ` A) dvd normalize c * Gcd A" .
- moreover have "normalize c * Gcd A dvd Gcd (op * c ` A)"
+ finally have "Gcd (( * ) c ` A) dvd normalize c * Gcd A" .
+ moreover have "normalize c * Gcd A dvd Gcd (( * ) c ` A)"
by (intro Gcd_greatest) (auto intro: mult_dvd_mono Gcd_dvd)
- ultimately have "normalize (Gcd (op * c ` A)) = normalize (normalize c * Gcd A)"
+ ultimately have "normalize (Gcd (( * ) c ` A)) = normalize (normalize c * Gcd A)"
by (rule associatedI)
then show ?thesis
by (simp add: normalize_mult)
@@ -1035,10 +1035,10 @@
lemma Lcm_mult:
assumes "A \<noteq> {}"
- shows "Lcm (op * c ` A) = normalize c * Lcm A"
+ shows "Lcm (( * ) c ` A) = normalize c * Lcm A"
proof (cases "c = 0")
case True
- with assms have "op * c ` A = {0}"
+ with assms have "( * ) c ` A = {0}"
by auto
with True show ?thesis by auto
next
@@ -1047,23 +1047,23 @@
by blast
have "c dvd c * x"
by simp
- also from x have "c * x dvd Lcm (op * c ` A)"
+ also from x have "c * x dvd Lcm (( * ) c ` A)"
by (intro dvd_Lcm) auto
- finally have dvd: "c dvd Lcm (op * c ` A)" .
-
- have "Lcm A dvd Lcm (op * c ` A) div c"
+ finally have dvd: "c dvd Lcm (( * ) c ` A)" .
+
+ have "Lcm A dvd Lcm (( * ) c ` A) div c"
by (intro Lcm_least dvd_mult_imp_div)
(auto intro!: Lcm_least dvd_Lcm simp: mult.commute[of _ c])
- then have "c * Lcm A dvd Lcm (op * c ` A)"
+ then have "c * Lcm A dvd Lcm (( * ) c ` A)"
by (subst (asm) dvd_div_iff_mult) (auto intro!: Lcm_least simp: mult_ac dvd)
also have "c * Lcm A = (normalize c * Lcm A) * unit_factor c"
by (subst unit_factor_mult_normalize [symmetric]) (simp only: mult_ac)
- also have "\<dots> dvd Lcm (op * c ` A) \<longleftrightarrow> normalize c * Lcm A dvd Lcm (op * c ` A)"
+ also have "\<dots> dvd Lcm (( * ) c ` A) \<longleftrightarrow> normalize c * Lcm A dvd Lcm (( * ) c ` A)"
by (simp add: mult_unit_dvd_iff)
- finally have "normalize c * Lcm A dvd Lcm (op * c ` A)" .
- moreover have "Lcm (op * c ` A) dvd normalize c * Lcm A"
+ finally have "normalize c * Lcm A dvd Lcm (( * ) c ` A)" .
+ moreover have "Lcm (( * ) c ` A) dvd normalize c * Lcm A"
by (intro Lcm_least) (auto intro: mult_dvd_mono dvd_Lcm)
- ultimately have "normalize (normalize c * Lcm A) = normalize (Lcm (op * c ` A))"
+ ultimately have "normalize (normalize c * Lcm A) = normalize (Lcm (( * ) c ` A))"
by (rule associatedI)
then show ?thesis
by (simp add: normalize_mult)
--- a/src/HOL/Groups_List.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Groups_List.thy Wed Jan 10 15:25:09 2018 +0100
@@ -124,7 +124,7 @@
by (induct xss) simp_all
lemma (in monoid_add) length_product_lists:
- "length (product_lists xss) = foldr op * (map length xss) 1"
+ "length (product_lists xss) = foldr ( * ) (map length xss) 1"
proof (induct xss)
case (Cons xs xss) then show ?case by (induct xs) (auto simp: length_concat o_def)
qed simp
@@ -234,7 +234,7 @@
text \<open>General equivalence between @{const sum_list} and @{const sum}\<close>
lemma (in monoid_add) sum_list_sum_nth:
"sum_list xs = (\<Sum> i = 0 ..< length xs. xs ! i)"
- using interv_sum_list_conv_sum_set_nat [of "op ! xs" 0 "length xs"] by (simp add: map_nth)
+ using interv_sum_list_conv_sum_set_nat [of "(!) xs" 0 "length xs"] by (simp add: map_nth)
lemma sum_list_map_eq_sum_count:
"sum_list (map f xs) = sum (\<lambda>x. count_list xs x * f x) (set xs)"
@@ -292,7 +292,7 @@
lemma sorted_wrt_less_sum_mono_lowerbound:
fixes f :: "nat \<Rightarrow> ('b::ordered_comm_monoid_add)"
assumes mono: "\<And>x y. x\<le>y \<Longrightarrow> f x \<le> f y"
- shows "sorted_wrt (op <) ns \<Longrightarrow>
+ shows "sorted_wrt (<) ns \<Longrightarrow>
(\<Sum>i\<in>{0..<length ns}. f i) \<le> (\<Sum>i\<leftarrow>ns. f i)"
proof (induction ns rule: rev_induct)
case Nil
@@ -355,7 +355,7 @@
lemma sum_list_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "A 0 0"
- assumes [transfer_rule]: "(A ===> A ===> A) op + op +"
+ assumes [transfer_rule]: "(A ===> A ===> A) (+) (+)"
shows "(list_all2 A ===> A) sum_list sum_list"
unfolding sum_list.eq_foldr [abs_def]
by transfer_prover
--- a/src/HOL/HOL.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOL.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1140,7 +1140,7 @@
\<close>
definition simp_implies :: "prop \<Rightarrow> prop \<Rightarrow> prop" (infixr "=simp=>" 1)
- where "simp_implies \<equiv> op \<Longrightarrow>"
+ where "simp_implies \<equiv> (\<Longrightarrow>)"
lemma simp_impliesI:
assumes PQ: "(PROP P \<Longrightarrow> PROP Q)"
@@ -1607,7 +1607,7 @@
type T = ((term -> bool) * stamp) list;
val empty = [];
val extend = I;
- fun merge data : T = Library.merge (eq_snd op =) data;
+ fun merge data : T = Library.merge (eq_snd (=)) data;
);
fun add m = Data.map (cons (m, stamp ()));
fun matches thy t = exists (fn (m, _) => m t) (Data.get thy);
@@ -1804,13 +1804,13 @@
assumes equal_eq: "equal x y \<longleftrightarrow> x = y"
begin
-lemma equal: "equal = (op =)"
+lemma equal: "equal = (=)"
by (rule ext equal_eq)+
lemma equal_refl: "equal x x \<longleftrightarrow> True"
unfolding equal by rule+
-lemma eq_equal: "(op =) \<equiv> equal"
+lemma eq_equal: "(=) \<equiv> equal"
by (rule eq_reflection) (rule ext, rule ext, rule sym, rule equal_eq)
end
@@ -1890,7 +1890,7 @@
setup \<open>Sign.add_const_constraint (@{const_name equal}, SOME @{typ "'a::type \<Rightarrow> 'a \<Rightarrow> bool"})\<close>
-lemma equal_alias_cert: "OFCLASS('a, equal_class) \<equiv> ((op = :: 'a \<Rightarrow> 'a \<Rightarrow> bool) \<equiv> equal)"
+lemma equal_alias_cert: "OFCLASS('a, equal_class) \<equiv> (((=) :: 'a \<Rightarrow> 'a \<Rightarrow> bool) \<equiv> equal)"
(is "?ofclass \<equiv> ?equal")
proof
assume "PROP ?ofclass"
--- a/src/HOL/HOLCF/Cpodef.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Cpodef.thy Wed Jan 10 15:25:09 2018 +0100
@@ -21,7 +21,7 @@
theorem typedef_po:
fixes Abs :: "'a::po \<Rightarrow> 'b::type"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
shows "OFCLASS('b, po_class)"
apply (intro_classes, unfold below)
apply (rule below_refl)
@@ -51,14 +51,14 @@
subsection \<open>Proving a subtype is chain-finite\<close>
lemma ch2ch_Rep:
- assumes below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ assumes below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
shows "chain S \<Longrightarrow> chain (\<lambda>i. Rep (S i))"
unfolding chain_def below .
theorem typedef_chfin:
fixes Abs :: "'a::chfin \<Rightarrow> 'b::po"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
shows "OFCLASS('b, chfin_class)"
apply intro_classes
apply (drule ch2ch_Rep [OF below])
@@ -79,14 +79,14 @@
\<close>
lemma typedef_is_lubI:
- assumes below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ assumes below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
shows "range (\<lambda>i. Rep (S i)) <<| Rep x \<Longrightarrow> range S <<| x"
by (simp add: is_lub_def is_ub_def below)
lemma Abs_inverse_lub_Rep:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::po"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)"
shows "chain S \<Longrightarrow> Rep (Abs (\<Squnion>i. Rep (S i))) = (\<Squnion>i. Rep (S i))"
apply (rule type_definition.Abs_inverse [OF type])
@@ -97,7 +97,7 @@
theorem typedef_is_lub:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::po"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)"
assumes S: "chain S"
shows "range S <<| Abs (\<Squnion>i. Rep (S i))"
@@ -117,7 +117,7 @@
theorem typedef_cpo:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::po"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)"
shows "OFCLASS('b, cpo_class)"
proof
@@ -136,7 +136,7 @@
theorem typedef_cont_Rep:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::cpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)"
shows "cont (\<lambda>x. f x) \<Longrightarrow> cont (\<lambda>x. Rep (f x))"
apply (erule cont_apply [OF _ _ cont_const])
@@ -157,7 +157,7 @@
fixes Abs :: "'a::cpo \<Rightarrow> 'b::cpo"
fixes f :: "'c::cpo \<Rightarrow> 'a::cpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)" (* not used *)
and f_in_A: "\<And>x. f x \<in> A"
shows "cont f \<Longrightarrow> cont (\<lambda>x. Abs (f x))"
@@ -170,7 +170,7 @@
theorem typedef_compact:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::cpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and adm: "adm (\<lambda>x. x \<in> A)"
shows "compact (Rep k) \<Longrightarrow> compact k"
proof (unfold compact_def)
@@ -192,7 +192,7 @@
theorem typedef_pcpo_generic:
fixes Abs :: "'a::cpo \<Rightarrow> 'b::cpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and z_in_A: "z \<in> A"
and z_least: "\<And>x. x \<in> A \<Longrightarrow> z \<sqsubseteq> x"
shows "OFCLASS('b, pcpo_class)"
@@ -211,7 +211,7 @@
theorem typedef_pcpo:
fixes Abs :: "'a::pcpo \<Rightarrow> 'b::cpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "OFCLASS('b, pcpo_class)"
by (rule typedef_pcpo_generic [OF type below bottom_in_A], rule minimal)
@@ -226,7 +226,7 @@
theorem typedef_Abs_strict:
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "Abs \<bottom> = \<bottom>"
apply (rule bottomI, unfold below)
@@ -235,7 +235,7 @@
theorem typedef_Rep_strict:
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "Rep \<bottom> = \<bottom>"
apply (rule typedef_Abs_strict [OF type below bottom_in_A, THEN subst])
@@ -244,7 +244,7 @@
theorem typedef_Abs_bottom_iff:
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "x \<in> A \<Longrightarrow> (Abs x = \<bottom>) = (x = \<bottom>)"
apply (rule typedef_Abs_strict [OF type below bottom_in_A, THEN subst])
@@ -253,7 +253,7 @@
theorem typedef_Rep_bottom_iff:
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "(Rep x = \<bottom>) = (x = \<bottom>)"
apply (rule typedef_Rep_strict [OF type below bottom_in_A, THEN subst])
@@ -266,7 +266,7 @@
theorem typedef_flat:
fixes Abs :: "'a::flat \<Rightarrow> 'b::pcpo"
assumes type: "type_definition Rep Abs A"
- and below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ and below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
and bottom_in_A: "\<bottom> \<in> A"
shows "OFCLASS('b, flat_class)"
apply (intro_classes)
--- a/src/HOL/HOLCF/Discrete.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Discrete.thy Wed Jan 10 15:25:09 2018 +0100
@@ -15,7 +15,7 @@
instantiation discr :: (type) discrete_cpo
begin
-definition "(op \<sqsubseteq> :: 'a discr \<Rightarrow> 'a discr \<Rightarrow> bool) = (op =)"
+definition "((\<sqsubseteq>) :: 'a discr \<Rightarrow> 'a discr \<Rightarrow> bool) = (=)"
instance
by standard (simp add: below_discr_def)
--- a/src/HOL/HOLCF/Domain.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Domain.thy Wed Jan 10 15:25:09 2018 +0100
@@ -97,7 +97,7 @@
fixes Abs :: "udom \<Rightarrow> 'a::pcpo"
fixes t :: "udom defl"
assumes type: "type_definition Rep Abs (defl_set t)"
- assumes below: "op \<sqsubseteq> \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
+ assumes below: "(\<sqsubseteq>) \<equiv> \<lambda>x y. Rep x \<sqsubseteq> Rep y"
assumes emb: "emb \<equiv> (\<Lambda> x. Rep x)"
assumes prj: "prj \<equiv> (\<Lambda> x. Abs (cast\<cdot>t\<cdot>x))"
assumes defl: "defl \<equiv> (\<lambda> a::'a itself. t)"
--- a/src/HOL/HOLCF/Fun_Cpo.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Fun_Cpo.thy Wed Jan 10 15:25:09 2018 +0100
@@ -14,7 +14,7 @@
instantiation "fun" :: (type, below) below
begin
-definition below_fun_def: "(op \<sqsubseteq>) \<equiv> (\<lambda>f g. \<forall>x. f x \<sqsubseteq> g x)"
+definition below_fun_def: "(\<sqsubseteq>) \<equiv> (\<lambda>f g. \<forall>x. f x \<sqsubseteq> g x)"
instance ..
end
--- a/src/HOL/HOLCF/Library/List_Cpo.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Library/List_Cpo.thy Wed Jan 10 15:25:09 2018 +0100
@@ -14,7 +14,7 @@
begin
definition
- "xs \<sqsubseteq> ys \<longleftrightarrow> list_all2 (op \<sqsubseteq>) xs ys"
+ "xs \<sqsubseteq> ys \<longleftrightarrow> list_all2 (\<sqsubseteq>) xs ys"
instance proof
fix xs :: "'a list"
--- a/src/HOL/HOLCF/Product_Cpo.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Product_Cpo.thy Wed Jan 10 15:25:09 2018 +0100
@@ -32,7 +32,7 @@
instantiation prod :: (below, below) below
begin
-definition below_prod_def: "(op \<sqsubseteq>) \<equiv> \<lambda>p1 p2. (fst p1 \<sqsubseteq> fst p2 \<and> snd p1 \<sqsubseteq> snd p2)"
+definition below_prod_def: "(\<sqsubseteq>) \<equiv> \<lambda>p1 p2. (fst p1 \<sqsubseteq> fst p2 \<and> snd p1 \<sqsubseteq> snd p2)"
instance ..
--- a/src/HOL/HOLCF/Universal.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Universal.thy Wed Jan 10 15:25:09 2018 +0100
@@ -47,7 +47,7 @@
unfolding node_def less_Suc_eq_le set_encode_def
apply (rule order_trans [OF _ le_prod_encode_2])
apply (rule order_trans [OF _ le_prod_encode_2])
-apply (rule order_trans [where y="sum (op ^ 2) {b}"])
+apply (rule order_trans [where y="sum ((^) 2) {b}"])
apply (simp add: nat_less_power2 [THEN order_less_imp_le])
apply (erule sum_mono2, simp, simp)
done
@@ -263,7 +263,7 @@
definition
compact_le_def:
- "(op \<sqsubseteq>) \<equiv> (\<lambda>x y. Rep_compact_basis x \<sqsubseteq> Rep_compact_basis y)"
+ "(\<sqsubseteq>) \<equiv> (\<lambda>x y. Rep_compact_basis x \<sqsubseteq> Rep_compact_basis y)"
instance ..
end
--- a/src/HOL/HOLCF/Up.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/HOLCF/Up.thy Wed Jan 10 15:25:09 2018 +0100
@@ -28,7 +28,7 @@
begin
definition below_up_def:
- "(op \<sqsubseteq>) \<equiv>
+ "(\<sqsubseteq>) \<equiv>
(\<lambda>x y.
(case x of
Ibottom \<Rightarrow> True
--- a/src/HOL/IMP/Abs_Int2_ivl.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/IMP/Abs_Int2_ivl.thy Wed Jan 10 15:25:09 2018 +0100
@@ -303,7 +303,7 @@
by(drule (1) add_mono) simp
global_interpretation Val_semilattice
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
proof (standard, goal_cases)
case 1 thus ?case by transfer (simp add: le_iff_subset)
next
@@ -319,7 +319,7 @@
global_interpretation Val_lattice_gamma
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
defines aval_ivl = aval'
proof (standard, goal_cases)
case 1 show ?case by(simp add: \<gamma>_inf)
@@ -328,7 +328,7 @@
qed
global_interpretation Val_inv
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
and test_num' = in_ivl
and inv_plus' = inv_plus_ivl and inv_less' = inv_less_ivl
proof (standard, goal_cases)
@@ -351,7 +351,7 @@
qed
global_interpretation Abs_Int_inv
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
and test_num' = in_ivl
and inv_plus' = inv_plus_ivl and inv_less' = inv_less_ivl
defines inv_aval_ivl = inv_aval'
@@ -385,7 +385,7 @@
by(auto simp: is_empty_rep_iff \<gamma>_rep_cases split: extended.splits)
global_interpretation Abs_Int_inv_mono
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
and test_num' = in_ivl
and inv_plus' = inv_plus_ivl and inv_less' = inv_less_ivl
proof (standard, goal_cases)
--- a/src/HOL/IMP/Abs_Int3.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/IMP/Abs_Int3.thy Wed Jan 10 15:25:09 2018 +0100
@@ -56,10 +56,10 @@
instantiation st :: ("{order_top,wn}")wn
begin
-lift_definition widen_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (op \<nabla>)"
+lift_definition widen_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (\<nabla>)"
by(auto simp: eq_st_def)
-lift_definition narrow_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (op \<triangle>)"
+lift_definition narrow_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (\<triangle>)"
by(auto simp: eq_st_def)
instance
@@ -113,13 +113,13 @@
instantiation acom :: (widen)widen
begin
-definition "widen_acom = map2_acom (op \<nabla>)"
+definition "widen_acom = map2_acom (\<nabla>)"
instance ..
end
instantiation acom :: (narrow)narrow
begin
-definition "narrow_acom = map2_acom (op \<triangle>)"
+definition "narrow_acom = map2_acom (\<triangle>)"
instance ..
end
@@ -255,7 +255,7 @@
end
global_interpretation Abs_Int_wn
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
and test_num' = in_ivl
and inv_plus' = inv_plus_ivl and inv_less' = inv_less_ivl
defines AI_wn_ivl = AI_wn
@@ -540,7 +540,7 @@
global_interpretation Abs_Int_wn_measure
-where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "op +"
+where \<gamma> = \<gamma>_ivl and num' = num_ivl and plus' = "(+)"
and test_num' = in_ivl
and inv_plus' = inv_plus_ivl and inv_less' = inv_less_ivl
and m = m_ivl and n = n_ivl and h = 3
--- a/src/HOL/IMP/Abs_State.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/IMP/Abs_State.thy Wed Jan 10 15:25:09 2018 +0100
@@ -99,7 +99,7 @@
instantiation st :: (semilattice_sup_top) semilattice_sup_top
begin
-lift_definition sup_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (op \<squnion>)"
+lift_definition sup_st :: "'a st \<Rightarrow> 'a st \<Rightarrow> 'a st" is "map2_st_rep (\<squnion>)"
by (simp add: eq_st_def)
lift_definition top_st :: "'a st" is "[]" .
--- a/src/HOL/IMP/Collecting.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/IMP/Collecting.thy Wed Jan 10 15:25:09 2018 +0100
@@ -59,7 +59,7 @@
end
lemma less_eq_acom_annos:
- "C1 \<le> C2 \<longleftrightarrow> strip C1 = strip C2 \<and> list_all2 (op \<le>) (annos C1) (annos C2)"
+ "C1 \<le> C2 \<longleftrightarrow> strip C1 = strip C2 \<and> list_all2 (\<le>) (annos C1) (annos C2)"
by(auto simp add: less_eq_acom_def anno_def list_all2_conv_all_nth size_annos_same2)
lemma SKIP_le[simp]: "SKIP {S} \<le> c \<longleftrightarrow> (\<exists>S'. c = SKIP {S'} \<and> S \<le> S')"
--- a/src/HOL/IMP/Compiler2.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/IMP/Compiler2.thy Wed Jan 10 15:25:09 2018 +0100
@@ -152,11 +152,11 @@
by (fastforce simp: succs_def isuccs_def split: instr.split)
lemma inj_op_plus [simp]:
- "inj (op + (i::int))"
+ "inj ((+) (i::int))"
by (metis add_minus_cancel inj_on_inverseI)
lemma succs_set_shift [simp]:
- "op + i ` succs xs 0 = succs xs i"
+ "(+) i ` succs xs 0 = succs xs i"
by (force simp: succs_shift [where n=i, symmetric] intro: set_eqI)
lemma succs_append [simp]:
@@ -165,7 +165,7 @@
lemma exits_append [simp]:
- "exits (xs @ ys) = exits xs \<union> (op + (size xs)) ` exits ys -
+ "exits (xs @ ys) = exits xs \<union> ((+) (size xs)) ` exits ys -
{0..<size xs + size ys}"
by (auto simp: exits_def image_set_diff)
@@ -174,7 +174,7 @@
by (auto simp: exits_def succs_def)
lemma exits_Cons:
- "exits (x # xs) = (isuccs x 0 - {0}) \<union> (op + 1) ` exits xs -
+ "exits (x # xs) = (isuccs x 0 - {0}) \<union> ((+) 1) ` exits xs -
{0..<1 + size xs}"
using exits_append [of "[x]" xs]
by (simp add: exits_single)
--- a/src/HOL/Imperative_HOL/Heap_Monad.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Imperative_HOL/Heap_Monad.thy Wed Jan 10 15:25:09 2018 +0100
@@ -646,8 +646,8 @@
val imp_program =
let
- val is_bind = curry (op =) @{const_name bind};
- val is_return = curry (op =) @{const_name return};
+ val is_bind = curry (=) @{const_name bind};
+ val is_return = curry (=) @{const_name return};
val dummy_name = "";
val dummy_case_term = IVar NONE;
(*assumption: dummy values are not relevant for serialization*)
--- a/src/HOL/Import/HOL_Light_Maps.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Import/HOL_Light_Maps.thy Wed Jan 10 15:25:09 2018 +0100
@@ -16,11 +16,11 @@
by simp
lemma [import_const "/\\"]:
- "(op \<and>) = (\<lambda>p q. (\<lambda>f. f p q :: bool) = (\<lambda>f. f True True))"
+ "(\<and>) = (\<lambda>p q. (\<lambda>f. f p q :: bool) = (\<lambda>f. f True True))"
by metis
lemma [import_const "==>"]:
- "(op \<longrightarrow>) = (\<lambda>(p::bool) q::bool. (p \<and> q) = p)"
+ "(\<longrightarrow>) = (\<lambda>(p::bool) q::bool. (p \<and> q) = p)"
by auto
lemma [import_const "!"]:
@@ -32,7 +32,7 @@
by auto
lemma [import_const "\\/"]:
- "(op \<or>) = (\<lambda>p q. \<forall>r. (p \<longrightarrow> r) \<longrightarrow> (q \<longrightarrow> r) \<longrightarrow> r)"
+ "(\<or>) = (\<lambda>p q. \<forall>r. (p \<longrightarrow> r) \<longrightarrow> (q \<longrightarrow> r) \<longrightarrow> r)"
by auto
lemma [import_const F]:
@@ -61,7 +61,7 @@
unfolding fun_eq_iff by auto
lemma [import_const o]:
- "(op \<circ>) = (\<lambda>(f::'B \<Rightarrow> 'C) g x::'A. f (g x))"
+ "(\<circ>) = (\<lambda>(f::'B \<Rightarrow> 'C) g x::'A. f (g x))"
unfolding fun_eq_iff by simp
lemma [import_const I]: "id = (\<lambda>x::'A. x)"
@@ -166,11 +166,11 @@
by auto
lemma DEF_GE[import_const ">=" : greater_eq]:
- "(op \<ge>) = (\<lambda>x y :: nat. y \<le> x)"
+ "(\<ge>) = (\<lambda>x y :: nat. y \<le> x)"
by simp
lemma DEF_GT[import_const ">" : greater]:
- "(op >) = (\<lambda>x y :: nat. y < x)"
+ "(>) = (\<lambda>x y :: nat. y < x)"
by simp
lemma DEF_MAX[import_const "MAX"]:
--- a/src/HOL/Int.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Int.thy Wed Jan 10 15:25:09 2018 +0100
@@ -74,7 +74,7 @@
lemma int_def: "int n = Abs_Integ (n, 0)"
by (induct n) (simp add: zero_int.abs_eq, simp add: one_int.abs_eq plus_int.abs_eq)
-lemma int_transfer [transfer_rule]: "(rel_fun (op =) pcr_int) (\<lambda>n. (n, 0)) int"
+lemma int_transfer [transfer_rule]: "(rel_fun (=) pcr_int) (\<lambda>n. (n, 0)) int"
by (simp add: rel_fun_def int.pcr_cr_eq cr_int_def int_def)
lemma int_diff_cases: obtains (diff) m n where "z = int m - int n"
--- a/src/HOL/Lattices.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Lattices.thy Wed Jan 10 15:25:09 2018 +0100
@@ -335,7 +335,7 @@
context lattice
begin
-lemma dual_lattice: "class.lattice sup (op \<ge>) (op >) inf"
+lemma dual_lattice: "class.lattice sup (\<ge>) (>) inf"
by (rule class.lattice.intro,
rule dual_semilattice,
rule class.semilattice_sup.intro,
@@ -437,7 +437,7 @@
lemma inf_sup_distrib2: "(y \<squnion> z) \<sqinter> x = (y \<sqinter> x) \<squnion> (z \<sqinter> x)"
by (simp add: inf_commute inf_sup_distrib1)
-lemma dual_distrib_lattice: "class.distrib_lattice sup (op \<ge>) (op >) inf"
+lemma dual_distrib_lattice: "class.distrib_lattice sup (\<ge>) (>) inf"
by (rule class.distrib_lattice.intro, rule dual_lattice)
(unfold_locales, fact inf_sup_distrib1)
--- a/src/HOL/Library/BNF_Corec.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/BNF_Corec.thy Wed Jan 10 15:25:09 2018 +0100
@@ -27,7 +27,7 @@
lemma convol_apply: "BNF_Def.convol f g x = (f x, g x)"
unfolding convol_def ..
-lemma Grp_UNIV_id: "BNF_Def.Grp UNIV id = (op =)"
+lemma Grp_UNIV_id: "BNF_Def.Grp UNIV id = (=)"
unfolding BNF_Def.Grp_def by auto
lemma sum_comp_cases:
@@ -162,9 +162,9 @@
"\<rho> = eval \<circ> f \<Longrightarrow> rel (gen_cong R) (f x) (f y) \<Longrightarrow> gen_cong R (\<rho> x) (\<rho> y)"
by (simp add: gen_cong_eval)
lemma coinduction:
- assumes coind: "\<forall>R. R \<le> retr R \<longrightarrow> R \<le> op ="
+ assumes coind: "\<forall>R. R \<le> retr R \<longrightarrow> R \<le> (=)"
assumes cih: "R \<le> retr (gen_cong R)"
- shows "R \<le> op ="
+ shows "R \<le> (=)"
apply (rule order_trans[OF leq_gen_cong mp[OF spec[OF coind]]])
apply (rule self_bounded_weaken_left[OF gen_cong_minimal])
apply (rule inf_greatest[OF leq_gen_cong cih])
--- a/src/HOL/Library/Cancellation.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Cancellation.thy Wed Jan 10 15:25:09 2018 +0100
@@ -22,7 +22,7 @@
(e.g., \<open>Suc _ = 0\<close>).\<close>
definition iterate_add :: \<open>nat \<Rightarrow> 'a::cancel_comm_monoid_add \<Rightarrow> 'a\<close> where
- \<open>iterate_add n a = ((op + a) ^^ n) 0\<close>
+ \<open>iterate_add n a = (((+) a) ^^ n) 0\<close>
lemma iterate_add_simps[simp]:
\<open>iterate_add 0 a = 0\<close>
--- a/src/HOL/Library/Cardinality.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Cardinality.thy Wed Jan 10 15:25:09 2018 +0100
@@ -387,8 +387,8 @@
text \<open>
Implement @{term "CARD('a)"} via @{term card_UNIV} and provide
- implementations for @{term "finite"}, @{term "card"}, @{term "op \<subseteq>"},
- and @{term "op ="}if the calling context already provides @{class finite_UNIV}
+ implementations for @{term "finite"}, @{term "card"}, @{term "(\<subseteq>)"},
+ and @{term "(=)"}if the calling context already provides @{class finite_UNIV}
and @{class card_UNIV} instances. If we implemented the latter
always via @{term card_UNIV}, we would require instances of essentially all
element types, i.e., a lot of instantiation proofs and -- at run time --
@@ -441,7 +441,7 @@
qualified definition subset' :: "'a set \<Rightarrow> 'a set \<Rightarrow> bool"
-where [simp, code del, code_abbrev]: "subset' = op \<subseteq>"
+where [simp, code del, code_abbrev]: "subset' = (\<subseteq>)"
lemma subset'_code [code]:
"subset' A (List.coset ys) \<longleftrightarrow> (\<forall>y \<in> set ys. y \<notin> A)"
@@ -451,7 +451,7 @@
(metis finite_compl finite_set rev_finite_subset)
qualified definition eq_set :: "'a set \<Rightarrow> 'a set \<Rightarrow> bool"
-where [simp, code del, code_abbrev]: "eq_set = op ="
+where [simp, code del, code_abbrev]: "eq_set = (=)"
lemma eq_set_code [code]:
fixes ys
--- a/src/HOL/Library/Char_ord.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Char_ord.thy Wed Jan 10 15:25:09 2018 +0100
@@ -51,15 +51,15 @@
begin
lift_definition less_literal :: "String.literal \<Rightarrow> String.literal \<Rightarrow> bool"
- is "ord.lexordp op <" .
+ is "ord.lexordp (<)" .
lift_definition less_eq_literal :: "String.literal \<Rightarrow> String.literal \<Rightarrow> bool"
- is "ord.lexordp_eq op <" .
+ is "ord.lexordp_eq (<)" .
instance
proof -
- interpret linorder "ord.lexordp_eq op <" "ord.lexordp op < :: string \<Rightarrow> string \<Rightarrow> bool"
- by (rule linorder.lexordp_linorder[where less_eq="op \<le>"]) unfold_locales
+ interpret linorder "ord.lexordp_eq (<)" "ord.lexordp (<) :: string \<Rightarrow> string \<Rightarrow> bool"
+ by (rule linorder.lexordp_linorder[where less_eq="(\<le>)"]) unfold_locales
show "PROP ?thesis"
by intro_classes (transfer, simp add: less_le_not_le linear)+
qed
@@ -69,11 +69,11 @@
end
lemma less_literal_code [code]:
- "op < = (\<lambda>xs ys. ord.lexordp op < (String.explode xs) (String.explode ys))"
+ "(<) = (\<lambda>xs ys. ord.lexordp (<) (String.explode xs) (String.explode ys))"
by (simp add: less_literal.rep_eq fun_eq_iff)
lemma less_eq_literal_code [code]:
- "op \<le> = (\<lambda>xs ys. ord.lexordp_eq op < (String.explode xs) (String.explode ys))"
+ "(\<le>) = (\<lambda>xs ys. ord.lexordp_eq (<) (String.explode xs) (String.explode ys))"
by (simp add: less_eq_literal.rep_eq fun_eq_iff)
lifting_update literal.lifting
--- a/src/HOL/Library/Code_Real_Approx_By_Float.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Code_Real_Approx_By_Float.thy Wed Jan 10 15:25:09 2018 +0100
@@ -55,17 +55,17 @@
and (OCaml) "Pervasives.(<)"
code_printing
- constant "op + :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
+ constant "(+) :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
(SML) "Real.+ ((_), (_))"
and (OCaml) "Pervasives.( +. )"
code_printing
- constant "op * :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
+ constant "( * ) :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
(SML) "Real.* ((_), (_))"
and (OCaml) "Pervasives.( *. )"
code_printing
- constant "op - :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
+ constant "(-) :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
(SML) "Real.- ((_), (_))"
and (OCaml) "Pervasives.( -. )"
@@ -75,7 +75,7 @@
and (OCaml) "Pervasives.( ~-. )"
code_printing
- constant "op / :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
+ constant "(/) :: real \<Rightarrow> real \<Rightarrow> real" \<rightharpoonup>
(SML) "Real.'/ ((_), (_))"
and (OCaml) "Pervasives.( '/. )"
--- a/src/HOL/Library/Complete_Partial_Order2.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Complete_Partial_Order2.thy Wed Jan 10 15:25:09 2018 +0100
@@ -10,12 +10,12 @@
lemma chain_transfer [transfer_rule]:
includes lifting_syntax
- shows "((A ===> A ===> op =) ===> rel_set A ===> op =) Complete_Partial_Order.chain Complete_Partial_Order.chain"
+ shows "((A ===> A ===> (=)) ===> rel_set A ===> (=)) Complete_Partial_Order.chain Complete_Partial_Order.chain"
unfolding chain_def[abs_def] by transfer_prover
lemma linorder_chain [simp, intro!]:
fixes Y :: "_ :: linorder set"
- shows "Complete_Partial_Order.chain op \<le> Y"
+ shows "Complete_Partial_Order.chain (\<le>) Y"
by(auto intro: chainI)
lemma fun_lub_apply: "\<And>Sup. fun_lub Sup Y x = Sup ((\<lambda>f. f x) ` Y)"
@@ -47,15 +47,15 @@
context ccpo begin
-lemma ccpo_fun: "class.ccpo (fun_lub Sup) (fun_ord op \<le>) (mk_less (fun_ord op \<le>))"
+lemma ccpo_fun: "class.ccpo (fun_lub Sup) (fun_ord (\<le>)) (mk_less (fun_ord (\<le>)))"
by standard (auto 4 3 simp add: mk_less_def fun_ord_def fun_lub_apply
intro: order.trans antisym chain_imageI ccpo_Sup_upper ccpo_Sup_least)
-lemma ccpo_Sup_below_iff: "Complete_Partial_Order.chain op \<le> Y \<Longrightarrow> Sup Y \<le> x \<longleftrightarrow> (\<forall>y\<in>Y. y \<le> x)"
+lemma ccpo_Sup_below_iff: "Complete_Partial_Order.chain (\<le>) Y \<Longrightarrow> Sup Y \<le> x \<longleftrightarrow> (\<forall>y\<in>Y. y \<le> x)"
by(fast intro: order_trans[OF ccpo_Sup_upper] ccpo_Sup_least)
lemma Sup_minus_bot:
- assumes chain: "Complete_Partial_Order.chain op \<le> A"
+ assumes chain: "Complete_Partial_Order.chain (\<le>) A"
shows "\<Squnion>(A - {\<Squnion>{}}) = \<Squnion>A"
(is "?lhs = ?rhs")
proof (rule antisym)
@@ -71,14 +71,14 @@
lemma mono_lub:
fixes le_b (infix "\<sqsubseteq>" 60)
- assumes chain: "Complete_Partial_Order.chain (fun_ord op \<le>) Y"
- and mono: "\<And>f. f \<in> Y \<Longrightarrow> monotone le_b op \<le> f"
- shows "monotone op \<sqsubseteq> op \<le> (fun_lub Sup Y)"
+ assumes chain: "Complete_Partial_Order.chain (fun_ord (\<le>)) Y"
+ and mono: "\<And>f. f \<in> Y \<Longrightarrow> monotone le_b (\<le>) f"
+ shows "monotone (\<sqsubseteq>) (\<le>) (fun_lub Sup Y)"
proof(rule monotoneI)
fix x y
assume "x \<sqsubseteq> y"
- have chain'': "\<And>x. Complete_Partial_Order.chain op \<le> ((\<lambda>f. f x) ` Y)"
+ have chain'': "\<And>x. Complete_Partial_Order.chain (\<le>) ((\<lambda>f. f x) ` Y)"
using chain by(rule chain_imageI)(simp add: fun_ord_def)
then show "fun_lub Sup Y x \<le> fun_lub Sup Y y" unfolding fun_lub_apply
proof(rule ccpo_Sup_least)
@@ -96,7 +96,7 @@
context
fixes le_b (infix "\<sqsubseteq>" 60) and Y f
assumes chain: "Complete_Partial_Order.chain le_b Y"
- and mono1: "\<And>y. y \<in> Y \<Longrightarrow> monotone le_b op \<le> (\<lambda>x. f x y)"
+ and mono1: "\<And>y. y \<in> Y \<Longrightarrow> monotone le_b (\<le>) (\<lambda>x. f x y)"
and mono2: "\<And>x a b. \<lbrakk> x \<in> Y; a \<sqsubseteq> b; a \<in> Y; b \<in> Y \<rbrakk> \<Longrightarrow> f x a \<le> f x b"
begin
@@ -104,7 +104,7 @@
assumes le: "x \<sqsubseteq> y" and x: "x \<in> Y" and y: "y \<in> Y"
shows "\<Squnion>(f x ` Y) \<le> \<Squnion>(f y ` Y)" (is "_ \<le> ?rhs")
proof(rule ccpo_Sup_least)
- from chain show chain': "Complete_Partial_Order.chain op \<le> (f x ` Y)" when "x \<in> Y" for x
+ from chain show chain': "Complete_Partial_Order.chain (\<le>) (f x ` Y)" when "x \<in> Y" for x
by(rule chain_imageI) (insert that, auto dest: mono2)
fix x'
@@ -118,11 +118,11 @@
lemma diag_Sup: "\<Squnion>((\<lambda>x. \<Squnion>(f x ` Y)) ` Y) = \<Squnion>((\<lambda>x. f x x) ` Y)" (is "?lhs = ?rhs")
proof(rule antisym)
- have chain1: "Complete_Partial_Order.chain op \<le> ((\<lambda>x. \<Squnion>(f x ` Y)) ` Y)"
+ have chain1: "Complete_Partial_Order.chain (\<le>) ((\<lambda>x. \<Squnion>(f x ` Y)) ` Y)"
using chain by(rule chain_imageI)(rule Sup_mono)
- have chain2: "\<And>y'. y' \<in> Y \<Longrightarrow> Complete_Partial_Order.chain op \<le> (f y' ` Y)" using chain
+ have chain2: "\<And>y'. y' \<in> Y \<Longrightarrow> Complete_Partial_Order.chain (\<le>) (f y' ` Y)" using chain
by(rule chain_imageI)(auto dest: mono2)
- have chain3: "Complete_Partial_Order.chain op \<le> ((\<lambda>x. f x x) ` Y)"
+ have chain3: "Complete_Partial_Order.chain (\<le>) ((\<lambda>x. f x x) ` Y)"
using chain by(rule chain_imageI)(auto intro: monotoneD[OF mono1] mono2 order.trans)
show "?lhs \<le> ?rhs" using chain1
@@ -162,12 +162,12 @@
lemma Sup_image_mono_le:
fixes le_b (infix "\<sqsubseteq>" 60) and Sup_b ("\<Or>_" [900] 900)
- assumes ccpo: "class.ccpo Sup_b op \<sqsubseteq> lt_b"
- assumes chain: "Complete_Partial_Order.chain op \<sqsubseteq> Y"
+ assumes ccpo: "class.ccpo Sup_b (\<sqsubseteq>) lt_b"
+ assumes chain: "Complete_Partial_Order.chain (\<sqsubseteq>) Y"
and mono: "\<And>x y. \<lbrakk> x \<sqsubseteq> y; x \<in> Y \<rbrakk> \<Longrightarrow> f x \<le> f y"
shows "Sup (f ` Y) \<le> f (\<Or>Y)"
proof(rule ccpo_Sup_least)
- show "Complete_Partial_Order.chain op \<le> (f ` Y)"
+ show "Complete_Partial_Order.chain (\<le>) (f ` Y)"
using chain by(rule chain_imageI)(rule mono)
fix x
@@ -180,9 +180,9 @@
lemma swap_Sup:
fixes le_b (infix "\<sqsubseteq>" 60)
- assumes Y: "Complete_Partial_Order.chain op \<sqsubseteq> Y"
- and Z: "Complete_Partial_Order.chain (fun_ord op \<le>) Z"
- and mono: "\<And>f. f \<in> Z \<Longrightarrow> monotone op \<sqsubseteq> op \<le> f"
+ assumes Y: "Complete_Partial_Order.chain (\<sqsubseteq>) Y"
+ and Z: "Complete_Partial_Order.chain (fun_ord (\<le>)) Z"
+ and mono: "\<And>f. f \<in> Z \<Longrightarrow> monotone (\<sqsubseteq>) (\<le>) f"
shows "\<Squnion>((\<lambda>x. \<Squnion>(x ` Y)) ` Z) = \<Squnion>((\<lambda>x. \<Squnion>((\<lambda>f. f x) ` Z)) ` Y)"
(is "?lhs = ?rhs")
proof(cases "Y = {}")
@@ -191,27 +191,27 @@
by (simp add: image_constant_conv cong del: strong_SUP_cong)
next
case False
- have chain1: "\<And>f. f \<in> Z \<Longrightarrow> Complete_Partial_Order.chain op \<le> (f ` Y)"
+ have chain1: "\<And>f. f \<in> Z \<Longrightarrow> Complete_Partial_Order.chain (\<le>) (f ` Y)"
by(rule chain_imageI[OF Y])(rule monotoneD[OF mono])
- have chain2: "Complete_Partial_Order.chain op \<le> ((\<lambda>x. \<Squnion>(x ` Y)) ` Z)" using Z
+ have chain2: "Complete_Partial_Order.chain (\<le>) ((\<lambda>x. \<Squnion>(x ` Y)) ` Z)" using Z
proof(rule chain_imageI)
fix f g
assume "f \<in> Z" "g \<in> Z"
- and "fun_ord op \<le> f g"
+ and "fun_ord (\<le>) f g"
from chain1[OF \<open>f \<in> Z\<close>] show "\<Squnion>(f ` Y) \<le> \<Squnion>(g ` Y)"
proof(rule ccpo_Sup_least)
fix x
assume "x \<in> f ` Y"
then obtain y where "y \<in> Y" "x = f y" by blast note this(2)
- also have "\<dots> \<le> g y" using \<open>fun_ord op \<le> f g\<close> by(simp add: fun_ord_def)
+ also have "\<dots> \<le> g y" using \<open>fun_ord (\<le>) f g\<close> by(simp add: fun_ord_def)
also have "\<dots> \<le> \<Squnion>(g ` Y)" using chain1[OF \<open>g \<in> Z\<close>]
by(rule ccpo_Sup_upper)(simp add: \<open>y \<in> Y\<close>)
finally show "x \<le> \<Squnion>(g ` Y)" .
qed
qed
- have chain3: "\<And>x. Complete_Partial_Order.chain op \<le> ((\<lambda>f. f x) ` Z)"
+ have chain3: "\<And>x. Complete_Partial_Order.chain (\<le>) ((\<lambda>f. f x) ` Z)"
using Z by(rule chain_imageI)(simp add: fun_ord_def)
- have chain4: "Complete_Partial_Order.chain op \<le> ((\<lambda>x. \<Squnion>((\<lambda>f. f x) ` Z)) ` Y)"
+ have chain4: "Complete_Partial_Order.chain (\<le>) ((\<lambda>x. \<Squnion>((\<lambda>f. f x) ` Z)) ` Y)"
using Y
proof(rule chain_imageI)
fix f x y
@@ -268,9 +268,9 @@
qed
lemma fixp_mono:
- assumes fg: "fun_ord op \<le> f g"
- and f: "monotone op \<le> op \<le> f"
- and g: "monotone op \<le> op \<le> g"
+ assumes fg: "fun_ord (\<le>) f g"
+ and f: "monotone (\<le>) (\<le>) f"
+ and g: "monotone (\<le>) (\<le>) g"
shows "ccpo_class.fixp f \<le> ccpo_class.fixp g"
unfolding fixp_def
proof(rule ccpo_Sup_least)
@@ -289,22 +289,22 @@
context fixes ordb :: "'b \<Rightarrow> 'b \<Rightarrow> bool" (infix "\<sqsubseteq>" 60) begin
lemma iterates_mono:
- assumes f: "f \<in> ccpo.iterates (fun_lub Sup) (fun_ord op \<le>) F"
- and mono: "\<And>f. monotone op \<sqsubseteq> op \<le> f \<Longrightarrow> monotone op \<sqsubseteq> op \<le> (F f)"
- shows "monotone op \<sqsubseteq> op \<le> f"
+ assumes f: "f \<in> ccpo.iterates (fun_lub Sup) (fun_ord (\<le>)) F"
+ and mono: "\<And>f. monotone (\<sqsubseteq>) (\<le>) f \<Longrightarrow> monotone (\<sqsubseteq>) (\<le>) (F f)"
+ shows "monotone (\<sqsubseteq>) (\<le>) f"
using f
by(induction rule: ccpo.iterates.induct[OF ccpo_fun, consumes 1, case_names step Sup])(blast intro: mono mono_lub)+
lemma fixp_preserves_mono:
- assumes mono: "\<And>x. monotone (fun_ord op \<le>) op \<le> (\<lambda>f. F f x)"
- and mono2: "\<And>f. monotone op \<sqsubseteq> op \<le> f \<Longrightarrow> monotone op \<sqsubseteq> op \<le> (F f)"
- shows "monotone op \<sqsubseteq> op \<le> (ccpo.fixp (fun_lub Sup) (fun_ord op \<le>) F)"
+ assumes mono: "\<And>x. monotone (fun_ord (\<le>)) (\<le>) (\<lambda>f. F f x)"
+ and mono2: "\<And>f. monotone (\<sqsubseteq>) (\<le>) f \<Longrightarrow> monotone (\<sqsubseteq>) (\<le>) (F f)"
+ shows "monotone (\<sqsubseteq>) (\<le>) (ccpo.fixp (fun_lub Sup) (fun_ord (\<le>)) F)"
(is "monotone _ _ ?fixp")
proof(rule monotoneI)
- have mono: "monotone (fun_ord op \<le>) (fun_ord op \<le>) F"
+ have mono: "monotone (fun_ord (\<le>)) (fun_ord (\<le>)) F"
by(rule monotoneI)(auto simp add: fun_ord_def intro: monotoneD[OF mono])
- let ?iter = "ccpo.iterates (fun_lub Sup) (fun_ord op \<le>) F"
- have chain: "\<And>x. Complete_Partial_Order.chain op \<le> ((\<lambda>f. f x) ` ?iter)"
+ let ?iter = "ccpo.iterates (fun_lub Sup) (fun_ord (\<le>)) F"
+ have chain: "\<And>x. Complete_Partial_Order.chain (\<le>) ((\<lambda>f. f x) ` ?iter)"
by(rule chain_imageI[OF ccpo.chain_iterates[OF ccpo_fun mono]])(simp add: fun_ord_def)
fix x y
@@ -417,10 +417,10 @@
context preorder begin
-lemma transp_le [simp, cont_intro]: "transp op \<le>"
+lemma transp_le [simp, cont_intro]: "transp (\<le>)"
by(rule transpI)(rule order_trans)
-lemma monotone_const [simp, cont_intro]: "monotone ord op \<le> (\<lambda>_. c)"
+lemma monotone_const [simp, cont_intro]: "monotone ord (\<le>) (\<lambda>_. c)"
by(rule monotoneI) simp
end
@@ -517,21 +517,21 @@
context ccpo begin
-lemma cont_const [simp, cont_intro]: "cont luba orda Sup op \<le> (\<lambda>x. c)"
+lemma cont_const [simp, cont_intro]: "cont luba orda Sup (\<le>) (\<lambda>x. c)"
by (rule contI) (simp add: image_constant_conv cong del: strong_SUP_cong)
lemma mcont_const [cont_intro, simp]:
- "mcont luba orda Sup op \<le> (\<lambda>x. c)"
+ "mcont luba orda Sup (\<le>) (\<lambda>x. c)"
by(simp add: mcont_def)
lemma cont_apply:
- assumes 2: "\<And>x. cont lubb ordb Sup op \<le> (\<lambda>y. f x y)"
+ assumes 2: "\<And>x. cont lubb ordb Sup (\<le>) (\<lambda>y. f x y)"
and t: "cont luba orda lubb ordb (\<lambda>x. t x)"
- and 1: "\<And>y. cont luba orda Sup op \<le> (\<lambda>x. f x y)"
+ and 1: "\<And>y. cont luba orda Sup (\<le>) (\<lambda>x. f x y)"
and mono: "monotone orda ordb (\<lambda>x. t x)"
- and mono2: "\<And>x. monotone ordb op \<le> (\<lambda>y. f x y)"
- and mono1: "\<And>y. monotone orda op \<le> (\<lambda>x. f x y)"
- shows "cont luba orda Sup op \<le> (\<lambda>x. f x (t x))"
+ and mono2: "\<And>x. monotone ordb (\<le>) (\<lambda>y. f x y)"
+ and mono1: "\<And>y. monotone orda (\<le>) (\<lambda>x. f x y)"
+ shows "cont luba orda Sup (\<le>) (\<lambda>x. f x (t x))"
proof
fix Y
assume chain: "Complete_Partial_Order.chain orda Y" and "Y \<noteq> {}"
@@ -543,15 +543,15 @@
qed
lemma mcont2mcont':
- "\<lbrakk> \<And>x. mcont lub' ord' Sup op \<le> (\<lambda>y. f x y);
- \<And>y. mcont lub ord Sup op \<le> (\<lambda>x. f x y);
+ "\<lbrakk> \<And>x. mcont lub' ord' Sup (\<le>) (\<lambda>y. f x y);
+ \<And>y. mcont lub ord Sup (\<le>) (\<lambda>x. f x y);
mcont lub ord lub' ord' (\<lambda>y. t y) \<rbrakk>
- \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. f x (t x))"
+ \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. f x (t x))"
unfolding mcont_def by(blast intro: transp_le monotone2monotone cont_apply)
lemma mcont2mcont:
- "\<lbrakk>mcont lub' ord' Sup op \<le> (\<lambda>x. f x); mcont lub ord lub' ord' (\<lambda>x. t x)\<rbrakk>
- \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. f (t x))"
+ "\<lbrakk>mcont lub' ord' Sup (\<le>) (\<lambda>x. f x); mcont lub ord lub' ord' (\<lambda>x. t x)\<rbrakk>
+ \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. f (t x))"
by(rule mcont2mcont'[OF _ mcont_const])
context
@@ -560,12 +560,12 @@
begin
lemma cont_fun_lub_Sup:
- assumes chainM: "Complete_Partial_Order.chain (fun_ord op \<le>) M"
- and mcont [rule_format]: "\<forall>f\<in>M. mcont lub op \<sqsubseteq> Sup op \<le> f"
- shows "cont lub op \<sqsubseteq> Sup op \<le> (fun_lub Sup M)"
+ assumes chainM: "Complete_Partial_Order.chain (fun_ord (\<le>)) M"
+ and mcont [rule_format]: "\<forall>f\<in>M. mcont lub (\<sqsubseteq>) Sup (\<le>) f"
+ shows "cont lub (\<sqsubseteq>) Sup (\<le>) (fun_lub Sup M)"
proof(rule contI)
fix Y
- assume chain: "Complete_Partial_Order.chain op \<sqsubseteq> Y"
+ assume chain: "Complete_Partial_Order.chain (\<sqsubseteq>) Y"
and Y: "Y \<noteq> {}"
from swap_Sup[OF chain chainM mcont[THEN mcont_mono]]
show "fun_lub Sup M (\<Or>Y) = \<Squnion>(fun_lub Sup M ` Y)"
@@ -573,29 +573,29 @@
qed
lemma mcont_fun_lub_Sup:
- "\<lbrakk> Complete_Partial_Order.chain (fun_ord op \<le>) M;
- \<forall>f\<in>M. mcont lub ord Sup op \<le> f \<rbrakk>
- \<Longrightarrow> mcont lub op \<sqsubseteq> Sup op \<le> (fun_lub Sup M)"
+ "\<lbrakk> Complete_Partial_Order.chain (fun_ord (\<le>)) M;
+ \<forall>f\<in>M. mcont lub ord Sup (\<le>) f \<rbrakk>
+ \<Longrightarrow> mcont lub (\<sqsubseteq>) Sup (\<le>) (fun_lub Sup M)"
by(simp add: mcont_def cont_fun_lub_Sup mono_lub)
lemma iterates_mcont:
- assumes f: "f \<in> ccpo.iterates (fun_lub Sup) (fun_ord op \<le>) F"
- and mono: "\<And>f. mcont lub op \<sqsubseteq> Sup op \<le> f \<Longrightarrow> mcont lub op \<sqsubseteq> Sup op \<le> (F f)"
- shows "mcont lub op \<sqsubseteq> Sup op \<le> f"
+ assumes f: "f \<in> ccpo.iterates (fun_lub Sup) (fun_ord (\<le>)) F"
+ and mono: "\<And>f. mcont lub (\<sqsubseteq>) Sup (\<le>) f \<Longrightarrow> mcont lub (\<sqsubseteq>) Sup (\<le>) (F f)"
+ shows "mcont lub (\<sqsubseteq>) Sup (\<le>) f"
using f
by(induction rule: ccpo.iterates.induct[OF ccpo_fun, consumes 1, case_names step Sup])(blast intro: mono mcont_fun_lub_Sup)+
lemma fixp_preserves_mcont:
- assumes mono: "\<And>x. monotone (fun_ord op \<le>) op \<le> (\<lambda>f. F f x)"
- and mcont: "\<And>f. mcont lub op \<sqsubseteq> Sup op \<le> f \<Longrightarrow> mcont lub op \<sqsubseteq> Sup op \<le> (F f)"
- shows "mcont lub op \<sqsubseteq> Sup op \<le> (ccpo.fixp (fun_lub Sup) (fun_ord op \<le>) F)"
+ assumes mono: "\<And>x. monotone (fun_ord (\<le>)) (\<le>) (\<lambda>f. F f x)"
+ and mcont: "\<And>f. mcont lub (\<sqsubseteq>) Sup (\<le>) f \<Longrightarrow> mcont lub (\<sqsubseteq>) Sup (\<le>) (F f)"
+ shows "mcont lub (\<sqsubseteq>) Sup (\<le>) (ccpo.fixp (fun_lub Sup) (fun_ord (\<le>)) F)"
(is "mcont _ _ _ _ ?fixp")
unfolding mcont_def
proof(intro conjI monotoneI contI)
- have mono: "monotone (fun_ord op \<le>) (fun_ord op \<le>) F"
+ have mono: "monotone (fun_ord (\<le>)) (fun_ord (\<le>)) F"
by(rule monotoneI)(auto simp add: fun_ord_def intro: monotoneD[OF mono])
- let ?iter = "ccpo.iterates (fun_lub Sup) (fun_ord op \<le>) F"
- have chain: "\<And>x. Complete_Partial_Order.chain op \<le> ((\<lambda>f. f x) ` ?iter)"
+ let ?iter = "ccpo.iterates (fun_lub Sup) (fun_ord (\<le>)) F"
+ have chain: "\<And>x. Complete_Partial_Order.chain (\<le>) ((\<lambda>f. f x) ` ?iter)"
by(rule chain_imageI[OF ccpo.chain_iterates[OF ccpo_fun mono]])(simp add: fun_ord_def)
{
@@ -616,7 +616,7 @@
qed
next
fix Y
- assume chain: "Complete_Partial_Order.chain op \<sqsubseteq> Y"
+ assume chain: "Complete_Partial_Order.chain (\<sqsubseteq>) Y"
and Y: "Y \<noteq> {}"
{ fix f
assume "f \<in> ?iter"
@@ -634,19 +634,19 @@
context
fixes F :: "'c \<Rightarrow> 'c" and U :: "'c \<Rightarrow> 'b \<Rightarrow> 'a" and C :: "('b \<Rightarrow> 'a) \<Rightarrow> 'c" and f
- assumes mono: "\<And>x. monotone (fun_ord op \<le>) op \<le> (\<lambda>f. U (F (C f)) x)"
- and eq: "f \<equiv> C (ccpo.fixp (fun_lub Sup) (fun_ord op \<le>) (\<lambda>f. U (F (C f))))"
+ assumes mono: "\<And>x. monotone (fun_ord (\<le>)) (\<le>) (\<lambda>f. U (F (C f)) x)"
+ and eq: "f \<equiv> C (ccpo.fixp (fun_lub Sup) (fun_ord (\<le>)) (\<lambda>f. U (F (C f))))"
and inverse: "\<And>f. U (C f) = f"
begin
lemma fixp_preserves_mono_uc:
- assumes mono2: "\<And>f. monotone ord op \<le> (U f) \<Longrightarrow> monotone ord op \<le> (U (F f))"
- shows "monotone ord op \<le> (U f)"
+ assumes mono2: "\<And>f. monotone ord (\<le>) (U f) \<Longrightarrow> monotone ord (\<le>) (U (F f))"
+ shows "monotone ord (\<le>) (U f)"
using fixp_preserves_mono[OF mono mono2] by(subst eq)(simp add: inverse)
lemma fixp_preserves_mcont_uc:
- assumes mcont: "\<And>f. mcont lubb ordb Sup op \<le> (U f) \<Longrightarrow> mcont lubb ordb Sup op \<le> (U (F f))"
- shows "mcont lubb ordb Sup op \<le> (U f)"
+ assumes mcont: "\<And>f. mcont lubb ordb Sup (\<le>) (U f) \<Longrightarrow> mcont lubb ordb Sup (\<le>) (U (F f))"
+ shows "mcont lubb ordb Sup (\<le>) (U f)"
using fixp_preserves_mcont[OF mono mcont] by(subst eq)(simp add: inverse)
end
@@ -673,22 +673,22 @@
fixes bot
assumes mono: "\<And>x y. \<lbrakk> x \<le> y; \<not> (x \<le> bound) \<rbrakk> \<Longrightarrow> ord (f x) (f y)"
and bot: "\<And>x. \<not> x \<le> bound \<Longrightarrow> ord bot (f x)" "ord bot bot"
- shows "monotone op \<le> ord (\<lambda>x. if x \<le> bound then bot else f x)"
+ shows "monotone (\<le>) ord (\<lambda>x. if x \<le> bound then bot else f x)"
by(rule monotoneI)(auto intro: bot intro: mono order_trans)
lemma (in ccpo) mcont_if_bot:
fixes bot and lub ("\<Or>_" [900] 900) and ord (infix "\<sqsubseteq>" 60)
- assumes ccpo: "class.ccpo lub op \<sqsubseteq> lt"
+ assumes ccpo: "class.ccpo lub (\<sqsubseteq>) lt"
and mono: "\<And>x y. \<lbrakk> x \<le> y; \<not> x \<le> bound \<rbrakk> \<Longrightarrow> f x \<sqsubseteq> f y"
- and cont: "\<And>Y. \<lbrakk> Complete_Partial_Order.chain op \<le> Y; Y \<noteq> {}; \<And>x. x \<in> Y \<Longrightarrow> \<not> x \<le> bound \<rbrakk> \<Longrightarrow> f (\<Squnion>Y) = \<Or>(f ` Y)"
+ and cont: "\<And>Y. \<lbrakk> Complete_Partial_Order.chain (\<le>) Y; Y \<noteq> {}; \<And>x. x \<in> Y \<Longrightarrow> \<not> x \<le> bound \<rbrakk> \<Longrightarrow> f (\<Squnion>Y) = \<Or>(f ` Y)"
and bot: "\<And>x. \<not> x \<le> bound \<Longrightarrow> bot \<sqsubseteq> f x"
- shows "mcont Sup op \<le> lub op \<sqsubseteq> (\<lambda>x. if x \<le> bound then bot else f x)" (is "mcont _ _ _ _ ?g")
+ shows "mcont Sup (\<le>) lub (\<sqsubseteq>) (\<lambda>x. if x \<le> bound then bot else f x)" (is "mcont _ _ _ _ ?g")
proof(intro mcontI contI)
- interpret c: ccpo lub "op \<sqsubseteq>" lt by(fact ccpo)
- show "monotone op \<le> op \<sqsubseteq> ?g" by(rule monotone_if_bot)(simp_all add: mono bot)
+ interpret c: ccpo lub "(\<sqsubseteq>)" lt by(fact ccpo)
+ show "monotone (\<le>) (\<sqsubseteq>) ?g" by(rule monotone_if_bot)(simp_all add: mono bot)
fix Y
- assume chain: "Complete_Partial_Order.chain op \<le> Y" and Y: "Y \<noteq> {}"
+ assume chain: "Complete_Partial_Order.chain (\<le>) Y" and Y: "Y \<noteq> {}"
show "?g (\<Squnion>Y) = \<Or>(?g ` Y)"
proof(cases "Y \<subseteq> {x. x \<le> bound}")
case True
@@ -699,7 +699,7 @@
next
case False
let ?Y = "Y \<inter> {x. \<not> x \<le> bound}"
- have chain': "Complete_Partial_Order.chain op \<le> ?Y"
+ have chain': "Complete_Partial_Order.chain (\<le>) ?Y"
using chain by(rule chain_subset) simp
from False obtain y where ybound: "\<not> y \<le> bound" and y: "y \<in> Y" by blast
@@ -726,9 +726,9 @@
thus ?thesis by(rule arg_cong)
next
case False
- have chain'': "Complete_Partial_Order.chain op \<sqsubseteq> (insert bot (f ` ?Y))"
+ have chain'': "Complete_Partial_Order.chain (\<sqsubseteq>) (insert bot (f ` ?Y))"
using chain by(auto intro!: chainI bot dest: chainD intro: mono)
- hence chain''': "Complete_Partial_Order.chain op \<sqsubseteq> (f ` ?Y)" by(rule chain_subset) blast
+ hence chain''': "Complete_Partial_Order.chain (\<sqsubseteq>) (f ` ?Y)" by(rule chain_subset) blast
have "bot \<sqsubseteq> \<Or>(f ` ?Y)" using y ybound by(blast intro: c.order_trans[OF bot] c.ccpo_Sup_upper[OF chain'''])
hence "\<Or>(insert bot (f ` ?Y)) \<sqsubseteq> \<Or>(f ` ?Y)" using chain''
by(auto intro: c.ccpo_Sup_least c.ccpo_Sup_upper[OF chain'''])
@@ -822,7 +822,7 @@
by(rule ccpo.admissibleI)(auto dest: ccpo.admissibleD)
lemma admissible_not_mem' [THEN admissible_subst, cont_intro, simp]:
- shows admissible_not_mem: "ccpo.admissible Union op \<subseteq> (\<lambda>A. x \<notin> A)"
+ shows admissible_not_mem: "ccpo.admissible Union (\<subseteq>) (\<lambda>A. x \<notin> A)"
by(rule ccpo.admissibleI) auto
lemma admissible_eqI:
@@ -847,8 +847,8 @@
context ccpo begin
lemma admissible_leI:
- assumes f: "mcont luba orda Sup op \<le> (\<lambda>x. f x)"
- and g: "mcont luba orda Sup op \<le> (\<lambda>x. g x)"
+ assumes f: "mcont luba orda Sup (\<le>) (\<lambda>x. f x)"
+ and g: "mcont luba orda Sup (\<le>) (\<lambda>x. g x)"
shows "ccpo.admissible luba orda (\<lambda>x. f x \<le> g x)"
proof(rule ccpo.admissibleI)
fix A
@@ -858,14 +858,14 @@
have "f (luba A) = \<Squnion>(f ` A)" by(simp add: mcont_contD[OF f] chain False)
also have "\<dots> \<le> \<Squnion>(g ` A)"
proof(rule ccpo_Sup_least)
- from chain show "Complete_Partial_Order.chain op \<le> (f ` A)"
+ from chain show "Complete_Partial_Order.chain (\<le>) (f ` A)"
by(rule chain_imageI)(rule mcont_monoD[OF f])
fix x
assume "x \<in> f ` A"
then obtain y where "y \<in> A" "x = f y" by blast note this(2)
also have "f y \<le> g y" using le \<open>y \<in> A\<close> by simp
- also have "Complete_Partial_Order.chain op \<le> (g ` A)"
+ also have "Complete_Partial_Order.chain (\<le>) (g ` A)"
using chain by(rule chain_imageI)(rule mcont_monoD[OF g])
hence "g y \<le> \<Squnion>(g ` A)" by(rule ccpo_Sup_upper)(simp add: \<open>y \<in> A\<close>)
finally show "x \<le> \<dots>" .
@@ -878,9 +878,9 @@
lemma admissible_leI:
fixes ord (infix "\<sqsubseteq>" 60) and lub ("\<Or>_" [900] 900)
- assumes "class.ccpo lub op \<sqsubseteq> (mk_less op \<sqsubseteq>)"
- and "mcont luba orda lub op \<sqsubseteq> (\<lambda>x. f x)"
- and "mcont luba orda lub op \<sqsubseteq> (\<lambda>x. g x)"
+ assumes "class.ccpo lub (\<sqsubseteq>) (mk_less (\<sqsubseteq>))"
+ and "mcont luba orda lub (\<sqsubseteq>) (\<lambda>x. f x)"
+ and "mcont luba orda lub (\<sqsubseteq>) (\<lambda>x. g x)"
shows "ccpo.admissible luba orda (\<lambda>x. f x \<sqsubseteq> g x)"
using assms by(rule ccpo.admissible_leI)
@@ -888,12 +888,12 @@
context ccpo begin
-lemma admissible_not_below: "ccpo.admissible Sup op \<le> (\<lambda>x. \<not> op \<le> x y)"
+lemma admissible_not_below: "ccpo.admissible Sup (\<le>) (\<lambda>x. \<not> (\<le>) x y)"
by(rule ccpo.admissibleI)(simp add: ccpo_Sup_below_iff)
end
-lemma (in preorder) preorder [cont_intro, simp]: "class.preorder op \<le> (mk_less op \<le>)"
+lemma (in preorder) preorder [cont_intro, simp]: "class.preorder (\<le>) (mk_less (\<le>))"
by(unfold_locales)(auto simp add: mk_less_def intro: order_trans)
context partial_function_definitions begin
@@ -918,20 +918,20 @@
context ccpo begin
lemma compactI:
- assumes "ccpo.admissible Sup op \<le> (\<lambda>y. \<not> x \<le> y)"
- shows "ccpo.compact Sup op \<le> x"
+ assumes "ccpo.admissible Sup (\<le>) (\<lambda>y. \<not> x \<le> y)"
+ shows "ccpo.compact Sup (\<le>) x"
using assms
proof(rule ccpo.compact.intros)
have neq: "(\<lambda>y. x \<noteq> y) = (\<lambda>y. \<not> x \<le> y \<or> \<not> y \<le> x)" by(auto)
- show "ccpo.admissible Sup op \<le> (\<lambda>y. x \<noteq> y)"
+ show "ccpo.admissible Sup (\<le>) (\<lambda>y. x \<noteq> y)"
by(subst neq)(rule admissible_disj admissible_not_below assms)+
qed
lemma compact_bot:
assumes "x = Sup {}"
- shows "ccpo.compact Sup op \<le> x"
+ shows "ccpo.compact Sup (\<le>) x"
proof(rule compactI)
- show "ccpo.admissible Sup op \<le> (\<lambda>y. \<not> x \<le> y)" using assms
+ show "ccpo.admissible Sup (\<le>) (\<lambda>y. \<not> x \<le> y)" using assms
by(auto intro!: ccpo.admissibleI intro: ccpo_Sup_least chain_empty)
qed
@@ -954,14 +954,14 @@
context ccpo begin
lemma fixp_strong_induct:
- assumes [cont_intro]: "ccpo.admissible Sup op \<le> P"
- and mono: "monotone op \<le> op \<le> f"
+ assumes [cont_intro]: "ccpo.admissible Sup (\<le>) P"
+ and mono: "monotone (\<le>) (\<le>) f"
and bot: "P (\<Squnion>{})"
and step: "\<And>x. \<lbrakk> x \<le> ccpo_class.fixp f; P x \<rbrakk> \<Longrightarrow> P (f x)"
shows "P (ccpo_class.fixp f)"
proof(rule fixp_induct[where P="\<lambda>x. x \<le> ccpo_class.fixp f \<and> P x", THEN conjunct2])
note [cont_intro] = admissible_leI
- show "ccpo.admissible Sup op \<le> (\<lambda>x. x \<le> ccpo_class.fixp f \<and> P x)" by simp
+ show "ccpo.admissible Sup (\<le>) (\<lambda>x. x \<le> ccpo_class.fixp f \<and> P x)" by simp
next
show "\<Squnion>{} \<le> ccpo_class.fixp f \<and> P (\<Squnion>{})"
by(auto simp add: bot intro: ccpo_Sup_least chain_empty)
@@ -997,7 +997,7 @@
end
-subsection \<open>@{term "op ="} as order\<close>
+subsection \<open>@{term "(=)"} as order\<close>
definition lub_singleton :: "('a set \<Rightarrow> 'a) \<Rightarrow> bool"
where "lub_singleton lub \<longleftrightarrow> (\<forall>a. lub {a} = a)"
@@ -1015,12 +1015,12 @@
by(rule ccpo.lub_singleton)(rule Partial_Function.ccpo[OF partial_function_definitions_axioms])
lemma preorder_eq [cont_intro, simp]:
- "class.preorder op = (mk_less op =)"
+ "class.preorder (=) (mk_less (=))"
by(unfold_locales)(simp_all add: mk_less_def)
lemma monotone_eqI [cont_intro]:
assumes "class.preorder ord (mk_less ord)"
- shows "monotone op = ord f"
+ shows "monotone (=) ord f"
proof -
interpret preorder ord "mk_less ord" by fact
show ?thesis by(simp add: monotone_def)
@@ -1029,10 +1029,10 @@
lemma cont_eqI [cont_intro]:
fixes f :: "'a \<Rightarrow> 'b"
assumes "lub_singleton lub"
- shows "cont the_Sup op = lub ord f"
+ shows "cont the_Sup (=) lub ord f"
proof(rule contI)
fix Y :: "'a set"
- assume "Complete_Partial_Order.chain op = Y" "Y \<noteq> {}"
+ assume "Complete_Partial_Order.chain (=) Y" "Y \<noteq> {}"
then obtain a where "Y = {a}" by(auto simp add: chain_def)
thus "f (the_Sup Y) = lub (f ` Y)" using assms
by(simp add: the_Sup_def lub_singleton_def)
@@ -1040,7 +1040,7 @@
lemma mcont_eqI [cont_intro, simp]:
"\<lbrakk> class.preorder ord (mk_less ord); lub_singleton lub \<rbrakk>
- \<Longrightarrow> mcont the_Sup op = lub ord f"
+ \<Longrightarrow> mcont the_Sup (=) lub ord f"
by(simp add: mcont_def cont_eqI monotone_eqI)
subsection \<open>ccpo for products\<close>
@@ -1242,12 +1242,12 @@
context ccpo begin
lemma cont_prodI:
- assumes mono: "monotone (rel_prod orda ordb) op \<le> f"
- and cont1: "\<And>x. cont lubb ordb Sup op \<le> (\<lambda>y. f (x, y))"
- and cont2: "\<And>y. cont luba orda Sup op \<le> (\<lambda>x. f (x, y))"
+ assumes mono: "monotone (rel_prod orda ordb) (\<le>) f"
+ and cont1: "\<And>x. cont lubb ordb Sup (\<le>) (\<lambda>y. f (x, y))"
+ and cont2: "\<And>y. cont luba orda Sup (\<le>) (\<lambda>x. f (x, y))"
and "class.preorder orda (mk_less orda)"
and "class.preorder ordb (mk_less ordb)"
- shows "cont (prod_lub luba lubb) (rel_prod orda ordb) Sup op \<le> f"
+ shows "cont (prod_lub luba lubb) (rel_prod orda ordb) Sup (\<le>) f"
proof(rule contI)
interpret a: preorder orda "mk_less orda" by fact
interpret b: preorder ordb "mk_less ordb" by fact
@@ -1271,20 +1271,20 @@
qed
lemma cont_case_prodI:
- assumes "monotone (rel_prod orda ordb) op \<le> (case_prod f)"
- and "\<And>x. cont lubb ordb Sup op \<le> (\<lambda>y. f x y)"
- and "\<And>y. cont luba orda Sup op \<le> (\<lambda>x. f x y)"
+ assumes "monotone (rel_prod orda ordb) (\<le>) (case_prod f)"
+ and "\<And>x. cont lubb ordb Sup (\<le>) (\<lambda>y. f x y)"
+ and "\<And>y. cont luba orda Sup (\<le>) (\<lambda>x. f x y)"
and "class.preorder orda (mk_less orda)"
and "class.preorder ordb (mk_less ordb)"
- shows "cont (prod_lub luba lubb) (rel_prod orda ordb) Sup op \<le> (case_prod f)"
+ shows "cont (prod_lub luba lubb) (rel_prod orda ordb) Sup (\<le>) (case_prod f)"
by(rule cont_prodI)(simp_all add: assms)
lemma cont_case_prod_iff:
- "\<lbrakk> monotone (rel_prod orda ordb) op \<le> (case_prod f);
+ "\<lbrakk> monotone (rel_prod orda ordb) (\<le>) (case_prod f);
class.preorder orda (mk_less orda); lub_singleton luba;
class.preorder ordb (mk_less ordb); lub_singleton lubb \<rbrakk>
- \<Longrightarrow> cont (prod_lub luba lubb) (rel_prod orda ordb) Sup op \<le> (case_prod f) \<longleftrightarrow>
- (\<forall>x. cont lubb ordb Sup op \<le> (\<lambda>y. f x y)) \<and> (\<forall>y. cont luba orda Sup op \<le> (\<lambda>x. f x y))"
+ \<Longrightarrow> cont (prod_lub luba lubb) (rel_prod orda ordb) Sup (\<le>) (case_prod f) \<longleftrightarrow>
+ (\<forall>x. cont lubb ordb Sup (\<le>) (\<lambda>y. f x y)) \<and> (\<forall>y. cont luba orda Sup (\<le>) (\<lambda>x. f x y))"
by(blast dest: cont_case_prodD1 cont_case_prodD2 intro: cont_case_prodI)
end
@@ -1339,18 +1339,18 @@
context complete_lattice begin
-lemma complete_lattice_ccpo: "class.ccpo Sup op \<le> op <"
+lemma complete_lattice_ccpo: "class.ccpo Sup (\<le>) (<)"
by(unfold_locales)(fast intro: Sup_upper Sup_least)+
-lemma complete_lattice_ccpo': "class.ccpo Sup op \<le> (mk_less op \<le>)"
+lemma complete_lattice_ccpo': "class.ccpo Sup (\<le>) (mk_less (\<le>))"
by(unfold_locales)(auto simp add: mk_less_def intro: Sup_upper Sup_least)
lemma complete_lattice_partial_function_definitions:
- "partial_function_definitions op \<le> Sup"
+ "partial_function_definitions (\<le>) Sup"
by(unfold_locales)(auto intro: Sup_least Sup_upper)
lemma complete_lattice_partial_function_definitions_dual:
- "partial_function_definitions op \<ge> Inf"
+ "partial_function_definitions (\<ge>) Inf"
by(unfold_locales)(auto intro: Inf_lower Inf_greatest)
lemmas [cont_intro, simp] =
@@ -1358,32 +1358,32 @@
Partial_Function.ccpo[OF complete_lattice_partial_function_definitions_dual]
lemma mono2mono_inf:
- assumes f: "monotone ord op \<le> (\<lambda>x. f x)"
- and g: "monotone ord op \<le> (\<lambda>x. g x)"
- shows "monotone ord op \<le> (\<lambda>x. f x \<sqinter> g x)"
+ assumes f: "monotone ord (\<le>) (\<lambda>x. f x)"
+ and g: "monotone ord (\<le>) (\<lambda>x. g x)"
+ shows "monotone ord (\<le>) (\<lambda>x. f x \<sqinter> g x)"
by(auto 4 3 dest: monotoneD[OF f] monotoneD[OF g] intro: le_infI1 le_infI2 intro!: monotoneI)
-lemma mcont_const [simp]: "mcont lub ord Sup op \<le> (\<lambda>_. c)"
+lemma mcont_const [simp]: "mcont lub ord Sup (\<le>) (\<lambda>_. c)"
by(rule ccpo.mcont_const[OF complete_lattice_ccpo])
lemma mono2mono_sup:
- assumes f: "monotone ord op \<le> (\<lambda>x. f x)"
- and g: "monotone ord op \<le> (\<lambda>x. g x)"
- shows "monotone ord op \<le> (\<lambda>x. f x \<squnion> g x)"
+ assumes f: "monotone ord (\<le>) (\<lambda>x. f x)"
+ and g: "monotone ord (\<le>) (\<lambda>x. g x)"
+ shows "monotone ord (\<le>) (\<lambda>x. f x \<squnion> g x)"
by(auto 4 3 intro!: monotoneI intro: sup.coboundedI1 sup.coboundedI2 dest: monotoneD[OF f] monotoneD[OF g])
lemma Sup_image_sup:
assumes "Y \<noteq> {}"
- shows "\<Squnion>(op \<squnion> x ` Y) = x \<squnion> \<Squnion>Y"
+ shows "\<Squnion>((\<squnion>) x ` Y) = x \<squnion> \<Squnion>Y"
proof(rule Sup_eqI)
fix y
- assume "y \<in> op \<squnion> x ` Y"
+ assume "y \<in> (\<squnion>) x ` Y"
then obtain z where "y = x \<squnion> z" and "z \<in> Y" by blast
from \<open>z \<in> Y\<close> have "z \<le> \<Squnion>Y" by(rule Sup_upper)
with _ show "y \<le> x \<squnion> \<Squnion>Y" unfolding \<open>y = x \<squnion> z\<close> by(rule sup_mono) simp
next
fix y
- assume upper: "\<And>z. z \<in> op \<squnion> x ` Y \<Longrightarrow> z \<le> y"
+ assume upper: "\<And>z. z \<in> (\<squnion>) x ` Y \<Longrightarrow> z \<le> y"
show "x \<squnion> \<Squnion>Y \<le> y" unfolding Sup_insert[symmetric]
proof(rule Sup_least)
fix z
@@ -1396,16 +1396,16 @@
qed
qed
-lemma mcont_sup1: "mcont Sup op \<le> Sup op \<le> (\<lambda>y. x \<squnion> y)"
+lemma mcont_sup1: "mcont Sup (\<le>) Sup (\<le>) (\<lambda>y. x \<squnion> y)"
by(auto 4 3 simp add: mcont_def sup.coboundedI1 sup.coboundedI2 intro!: monotoneI contI intro: Sup_image_sup[symmetric])
-lemma mcont_sup2: "mcont Sup op \<le> Sup op \<le> (\<lambda>x. x \<squnion> y)"
+lemma mcont_sup2: "mcont Sup (\<le>) Sup (\<le>) (\<lambda>x. x \<squnion> y)"
by(subst sup_commute)(rule mcont_sup1)
lemma mcont2mcont_sup [cont_intro, simp]:
- "\<lbrakk> mcont lub ord Sup op \<le> (\<lambda>x. f x);
- mcont lub ord Sup op \<le> (\<lambda>x. g x) \<rbrakk>
- \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. f x \<squnion> g x)"
+ "\<lbrakk> mcont lub ord Sup (\<le>) (\<lambda>x. f x);
+ mcont lub ord Sup (\<le>) (\<lambda>x. g x) \<rbrakk>
+ \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. f x \<squnion> g x)"
by(best intro: ccpo.mcont2mcont'[OF complete_lattice_ccpo] mcont_sup1 mcont_sup2 ccpo.mcont_const[OF complete_lattice_ccpo])
end
@@ -1414,84 +1414,84 @@
context complete_distrib_lattice begin
-lemma mcont_inf1: "mcont Sup op \<le> Sup op \<le> (\<lambda>y. x \<sqinter> y)"
+lemma mcont_inf1: "mcont Sup (\<le>) Sup (\<le>) (\<lambda>y. x \<sqinter> y)"
by(auto intro: monotoneI contI simp add: le_infI2 inf_Sup mcont_def)
-lemma mcont_inf2: "mcont Sup op \<le> Sup op \<le> (\<lambda>x. x \<sqinter> y)"
+lemma mcont_inf2: "mcont Sup (\<le>) Sup (\<le>) (\<lambda>x. x \<sqinter> y)"
by(auto intro: monotoneI contI simp add: le_infI1 Sup_inf mcont_def)
lemma mcont2mcont_inf [cont_intro, simp]:
- "\<lbrakk> mcont lub ord Sup op \<le> (\<lambda>x. f x);
- mcont lub ord Sup op \<le> (\<lambda>x. g x) \<rbrakk>
- \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. f x \<sqinter> g x)"
+ "\<lbrakk> mcont lub ord Sup (\<le>) (\<lambda>x. f x);
+ mcont lub ord Sup (\<le>) (\<lambda>x. g x) \<rbrakk>
+ \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. f x \<sqinter> g x)"
by(best intro: ccpo.mcont2mcont'[OF complete_lattice_ccpo] mcont_inf1 mcont_inf2 ccpo.mcont_const[OF complete_lattice_ccpo])
end
-interpretation lfp: partial_function_definitions "op \<le> :: _ :: complete_lattice \<Rightarrow> _" Sup
+interpretation lfp: partial_function_definitions "(\<le>) :: _ :: complete_lattice \<Rightarrow> _" Sup
by(rule complete_lattice_partial_function_definitions)
declaration \<open>Partial_Function.init "lfp" @{term lfp.fixp_fun} @{term lfp.mono_body}
@{thm lfp.fixp_rule_uc} @{thm lfp.fixp_induct_uc} NONE\<close>
-interpretation gfp: partial_function_definitions "op \<ge> :: _ :: complete_lattice \<Rightarrow> _" Inf
+interpretation gfp: partial_function_definitions "(\<ge>) :: _ :: complete_lattice \<Rightarrow> _" Inf
by(rule complete_lattice_partial_function_definitions_dual)
declaration \<open>Partial_Function.init "gfp" @{term gfp.fixp_fun} @{term gfp.mono_body}
@{thm gfp.fixp_rule_uc} @{thm gfp.fixp_induct_uc} NONE\<close>
lemma insert_mono [partial_function_mono]:
- "monotone (fun_ord op \<subseteq>) op \<subseteq> A \<Longrightarrow> monotone (fun_ord op \<subseteq>) op \<subseteq> (\<lambda>y. insert x (A y))"
+ "monotone (fun_ord (\<subseteq>)) (\<subseteq>) A \<Longrightarrow> monotone (fun_ord (\<subseteq>)) (\<subseteq>) (\<lambda>y. insert x (A y))"
by(rule monotoneI)(auto simp add: fun_ord_def dest: monotoneD)
lemma mono2mono_insert [THEN lfp.mono2mono, cont_intro, simp]:
- shows monotone_insert: "monotone op \<subseteq> op \<subseteq> (insert x)"
+ shows monotone_insert: "monotone (\<subseteq>) (\<subseteq>) (insert x)"
by(rule monotoneI) blast
lemma mcont2mcont_insert[THEN lfp.mcont2mcont, cont_intro, simp]:
- shows mcont_insert: "mcont Union op \<subseteq> Union op \<subseteq> (insert x)"
+ shows mcont_insert: "mcont Union (\<subseteq>) Union (\<subseteq>) (insert x)"
by(blast intro: mcontI contI monotone_insert)
lemma mono2mono_image [THEN lfp.mono2mono, cont_intro, simp]:
- shows monotone_image: "monotone op \<subseteq> op \<subseteq> (op ` f)"
+ shows monotone_image: "monotone (\<subseteq>) (\<subseteq>) ((`) f)"
by(rule monotoneI) blast
-lemma cont_image: "cont Union op \<subseteq> Union op \<subseteq> (op ` f)"
+lemma cont_image: "cont Union (\<subseteq>) Union (\<subseteq>) ((`) f)"
by(rule contI)(auto)
lemma mcont2mcont_image [THEN lfp.mcont2mcont, cont_intro, simp]:
- shows mcont_image: "mcont Union op \<subseteq> Union op \<subseteq> (op ` f)"
+ shows mcont_image: "mcont Union (\<subseteq>) Union (\<subseteq>) ((`) f)"
by(blast intro: mcontI monotone_image cont_image)
context complete_lattice begin
lemma monotone_Sup [cont_intro, simp]:
- "monotone ord op \<subseteq> f \<Longrightarrow> monotone ord op \<le> (\<lambda>x. \<Squnion>f x)"
+ "monotone ord (\<subseteq>) f \<Longrightarrow> monotone ord (\<le>) (\<lambda>x. \<Squnion>f x)"
by(blast intro: monotoneI Sup_least Sup_upper dest: monotoneD)
lemma cont_Sup:
- assumes "cont lub ord Union op \<subseteq> f"
- shows "cont lub ord Sup op \<le> (\<lambda>x. \<Squnion>f x)"
+ assumes "cont lub ord Union (\<subseteq>) f"
+ shows "cont lub ord Sup (\<le>) (\<lambda>x. \<Squnion>f x)"
apply(rule contI)
apply(simp add: contD[OF assms])
apply(blast intro: Sup_least Sup_upper order_trans antisym)
done
-lemma mcont_Sup: "mcont lub ord Union op \<subseteq> f \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. \<Squnion>f x)"
+lemma mcont_Sup: "mcont lub ord Union (\<subseteq>) f \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. \<Squnion>f x)"
unfolding mcont_def by(blast intro: monotone_Sup cont_Sup)
lemma monotone_SUP:
- "\<lbrakk> monotone ord op \<subseteq> f; \<And>y. monotone ord op \<le> (\<lambda>x. g x y) \<rbrakk> \<Longrightarrow> monotone ord op \<le> (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
+ "\<lbrakk> monotone ord (\<subseteq>) f; \<And>y. monotone ord (\<le>) (\<lambda>x. g x y) \<rbrakk> \<Longrightarrow> monotone ord (\<le>) (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
by(rule monotoneI)(blast dest: monotoneD intro: Sup_upper order_trans intro!: Sup_least)
lemma monotone_SUP2:
- "(\<And>y. y \<in> A \<Longrightarrow> monotone ord op \<le> (\<lambda>x. g x y)) \<Longrightarrow> monotone ord op \<le> (\<lambda>x. \<Squnion>y\<in>A. g x y)"
+ "(\<And>y. y \<in> A \<Longrightarrow> monotone ord (\<le>) (\<lambda>x. g x y)) \<Longrightarrow> monotone ord (\<le>) (\<lambda>x. \<Squnion>y\<in>A. g x y)"
by(rule monotoneI)(blast intro: Sup_upper order_trans dest: monotoneD intro!: Sup_least)
lemma cont_SUP:
- assumes f: "mcont lub ord Union op \<subseteq> f"
- and g: "\<And>y. mcont lub ord Sup op \<le> (\<lambda>x. g x y)"
- shows "cont lub ord Sup op \<le> (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
+ assumes f: "mcont lub ord Union (\<subseteq>) f"
+ and g: "\<And>y. mcont lub ord Sup (\<le>) (\<lambda>x. g x y)"
+ shows "cont lub ord Sup (\<le>) (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
proof(rule contI)
fix Y
assume chain: "Complete_Partial_Order.chain ord Y"
@@ -1555,21 +1555,21 @@
qed
lemma mcont_SUP [cont_intro, simp]:
- "\<lbrakk> mcont lub ord Union op \<subseteq> f; \<And>y. mcont lub ord Sup op \<le> (\<lambda>x. g x y) \<rbrakk>
- \<Longrightarrow> mcont lub ord Sup op \<le> (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
+ "\<lbrakk> mcont lub ord Union (\<subseteq>) f; \<And>y. mcont lub ord Sup (\<le>) (\<lambda>x. g x y) \<rbrakk>
+ \<Longrightarrow> mcont lub ord Sup (\<le>) (\<lambda>x. \<Squnion>y\<in>f x. g x y)"
by(blast intro: mcontI cont_SUP monotone_SUP mcont_mono)
end
lemma admissible_Ball [cont_intro, simp]:
"\<lbrakk> \<And>x. ccpo.admissible lub ord (\<lambda>A. P A x);
- mcont lub ord Union op \<subseteq> f;
+ mcont lub ord Union (\<subseteq>) f;
class.ccpo lub ord (mk_less ord) \<rbrakk>
\<Longrightarrow> ccpo.admissible lub ord (\<lambda>A. \<forall>x\<in>f A. P A x)"
unfolding Ball_def by simp
lemma admissible_Bex'[THEN admissible_subst, cont_intro, simp]:
- shows admissible_Bex: "ccpo.admissible Union op \<subseteq> (\<lambda>A. \<exists>x\<in>A. P x)"
+ shows admissible_Bex: "ccpo.admissible Union (\<subseteq>) (\<lambda>A. \<exists>x\<in>A. P x)"
by(rule ccpo.admissibleI)(auto)
subsection \<open>Parallel fixpoint induction\<close>
--- a/src/HOL/Library/Conditional_Parametricity.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Conditional_Parametricity.thy Wed Jan 10 15:25:09 2018 +0100
@@ -17,11 +17,11 @@
named_theorems parametricity_preprocess
lemma bi_unique_Rel_match [parametricity_preprocess]:
- "bi_unique A = Rel_match (A ===> A ===> op =) op = op ="
+ "bi_unique A = Rel_match (A ===> A ===> (=)) (=) (=)"
unfolding bi_unique_alt_def2 Rel_match_def ..
lemma bi_total_Rel_match [parametricity_preprocess]:
- "bi_total A = Rel_match ((A ===> op =) ===> op =) All All"
+ "bi_total A = Rel_match ((A ===> (=)) ===> (=)) All All"
unfolding bi_total_alt_def2 Rel_match_def ..
lemma is_equality_Rel: "is_equality A \<Longrightarrow> Transfer.Rel A t t"
@@ -45,4 +45,4 @@
ML_file "conditional_parametricity.ML"
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Countable.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Countable.thy Wed Jan 10 15:25:09 2018 +0100
@@ -180,7 +180,7 @@
val pred_names = #names (fst induct_info)
val induct_thms = #inducts (snd induct_info)
val alist = pred_names ~~ induct_thms
- val induct_thm = the (AList.lookup (op =) alist pred_name)
+ val induct_thm = the (AList.lookup (=) alist pred_name)
val vars = rev (Term.add_vars (Thm.prop_of induct_thm) [])
val insts = vars |> map (fn (_, T) => try (Thm.cterm_of ctxt)
(Const (@{const_name Countable.finite_item}, T)))
--- a/src/HOL/Library/Countable_Set.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Countable_Set.thy Wed Jan 10 15:25:09 2018 +0100
@@ -342,7 +342,7 @@
qed
lemma transfer_countable[transfer_rule]:
- "bi_unique R \<Longrightarrow> rel_fun (rel_set R) op = countable countable"
+ "bi_unique R \<Longrightarrow> rel_fun (rel_set R) (=) countable countable"
by (rule rel_funI, erule (1) bi_unique_rel_set_lemma)
(auto dest: countable_image_inj_on)
--- a/src/HOL/Library/Countable_Set_Type.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Countable_Set_Type.thy Wed Jan 10 15:25:09 2018 +0100
@@ -81,7 +81,7 @@
lemma less_cset_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "bi_unique A"
- shows "((pcr_cset A) ===> (pcr_cset A) ===> op =) op \<subset> op <"
+ shows "((pcr_cset A) ===> (pcr_cset A) ===> (=)) (\<subset>) (<)"
unfolding less_cset_def[abs_def] psubset_eq[abs_def] by transfer_prover
lift_definition sup_cset :: "'a cset \<Rightarrow> 'a cset \<Rightarrow> 'a cset"
@@ -104,12 +104,12 @@
abbreviation cInt :: "'a cset \<Rightarrow> 'a cset \<Rightarrow> 'a cset" where "cInt xs ys \<equiv> inf xs ys"
abbreviation cDiff :: "'a cset \<Rightarrow> 'a cset \<Rightarrow> 'a cset" where "cDiff xs ys \<equiv> minus xs ys"
-lift_definition cin :: "'a \<Rightarrow> 'a cset \<Rightarrow> bool" is "op \<in>" parametric member_transfer
+lift_definition cin :: "'a \<Rightarrow> 'a cset \<Rightarrow> bool" is "(\<in>)" parametric member_transfer
.
lift_definition cinsert :: "'a \<Rightarrow> 'a cset \<Rightarrow> 'a cset" is insert parametric Lifting_Set.insert_transfer
by (rule countable_insert)
abbreviation csingle :: "'a \<Rightarrow> 'a cset" where "csingle x \<equiv> cinsert x cempty"
-lift_definition cimage :: "('a \<Rightarrow> 'b) \<Rightarrow> 'a cset \<Rightarrow> 'b cset" is "op `" parametric image_transfer
+lift_definition cimage :: "('a \<Rightarrow> 'b) \<Rightarrow> 'a cset \<Rightarrow> 'b cset" is "(`)" parametric image_transfer
by (rule countable_image)
lift_definition cBall :: "'a cset \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" is Ball parametric Ball_transfer .
lift_definition cBex :: "'a cset \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" is Bex parametric Bex_transfer .
@@ -480,15 +480,15 @@
unfolding rel_fun_def rel_cset_iff by blast
lemma cBall_parametric [transfer_rule]:
- "(rel_cset A ===> (A ===> op =) ===> op =) cBall cBall"
+ "(rel_cset A ===> (A ===> (=)) ===> (=)) cBall cBall"
unfolding rel_cset_iff rel_fun_def by blast
lemma cBex_parametric [transfer_rule]:
- "(rel_cset A ===> (A ===> op =) ===> op =) cBex cBex"
+ "(rel_cset A ===> (A ===> (=)) ===> (=)) cBex cBex"
unfolding rel_cset_iff rel_fun_def by blast
lemma rel_cset_parametric [transfer_rule]:
- "((A ===> B ===> op =) ===> rel_cset A ===> rel_cset B ===> op =) rel_cset rel_cset"
+ "((A ===> B ===> (=)) ===> rel_cset A ===> rel_cset B ===> (=)) rel_cset rel_cset"
unfolding rel_fun_def
using rel_set_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred, where A = A and B = B]
by simp
@@ -496,7 +496,7 @@
text \<open>Rules requiring bi-unique, bi-total or right-total relations\<close>
lemma cin_parametric [transfer_rule]:
- "bi_unique A \<Longrightarrow> (A ===> rel_cset A ===> op =) cin cin"
+ "bi_unique A \<Longrightarrow> (A ===> rel_cset A ===> (=)) cin cin"
unfolding rel_fun_def rel_cset_iff bi_unique_def by metis
lemma cInt_parametric [transfer_rule]:
@@ -511,7 +511,7 @@
using Diff_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
lemma csubset_parametric [transfer_rule]:
- "bi_unique A \<Longrightarrow> (rel_cset A ===> rel_cset A ===> op =) csubset_eq csubset_eq"
+ "bi_unique A \<Longrightarrow> (rel_cset A ===> rel_cset A ===> (=)) csubset_eq csubset_eq"
unfolding rel_fun_def
using subset_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
@@ -595,7 +595,7 @@
fix C f g assume eq: "\<And>a. a \<in> rcset C \<Longrightarrow> f a = g a"
thus "cimage f C = cimage g C" including cset.lifting by transfer force
next
- fix f show "rcset \<circ> cimage f = op ` f \<circ> rcset" including cset.lifting by transfer' fastforce
+ fix f show "rcset \<circ> cimage f = (`) f \<circ> rcset" including cset.lifting by transfer' fastforce
next
show "card_order natLeq" by (rule natLeq_card_order)
next
--- a/src/HOL/Library/DAList_Multiset.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/DAList_Multiset.thy Wed Jan 10 15:25:09 2018 +0100
@@ -310,12 +310,12 @@
using Cons(2) by auto
note IH = Cons(1)[OF inv]
define Ys where "Ys = Abs_multiset (count_of ys)"
- have id: "Abs_multiset (count_of ((a, n) # ys)) = ((op + {# a #}) ^^ n) Ys"
+ have id: "Abs_multiset (count_of ((a, n) # ys)) = (((+) {# a #}) ^^ n) Ys"
unfolding Ys_def
proof (rule multiset_eqI, unfold count)
fix c
show "count_of ((a, n) # ys) c =
- count ((op + {#a#} ^^ n) (Abs_multiset (count_of ys))) c" (is "?l = ?r")
+ count (((+) {#a#} ^^ n) (Abs_multiset (count_of ys))) c" (is "?l = ?r")
proof (cases "c = a")
case False
then show ?thesis
@@ -372,18 +372,18 @@
end
-(* we cannot use (\<lambda>a n. op + (a * n)) for folding, since * is not defined
+(* we cannot use (\<lambda>a n. (+) (a * n)) for folding, since * is not defined
in comm_monoid_add *)
-lemma sum_mset_Bag[code]: "sum_mset (Bag ms) = DAList_Multiset.fold (\<lambda>a n. ((op + a) ^^ n)) 0 ms"
+lemma sum_mset_Bag[code]: "sum_mset (Bag ms) = DAList_Multiset.fold (\<lambda>a n. (((+) a) ^^ n)) 0 ms"
unfolding sum_mset.eq_fold
apply (rule comp_fun_commute.DAList_Multiset_fold)
apply unfold_locales
apply (auto simp: ac_simps)
done
-(* we cannot use (\<lambda>a n. op * (a ^ n)) for folding, since ^ is not defined
+(* we cannot use (\<lambda>a n. ( * ) (a ^ n)) for folding, since ^ is not defined
in comm_monoid_mult *)
-lemma prod_mset_Bag[code]: "prod_mset (Bag ms) = DAList_Multiset.fold (\<lambda>a n. ((op * a) ^^ n)) 1 ms"
+lemma prod_mset_Bag[code]: "prod_mset (Bag ms) = DAList_Multiset.fold (\<lambda>a n. ((( * ) a) ^^ n)) 1 ms"
unfolding prod_mset.eq_fold
apply (rule comp_fun_commute.DAList_Multiset_fold)
apply unfold_locales
@@ -396,7 +396,7 @@
show ?thesis by (induct A) auto
qed
-lemma size_Bag[code]: "size (Bag ms) = DAList_Multiset.fold (\<lambda>a n. op + n) 0 ms"
+lemma size_Bag[code]: "size (Bag ms) = DAList_Multiset.fold (\<lambda>a n. (+) n) 0 ms"
unfolding size_fold
proof (rule comp_fun_commute.DAList_Multiset_fold, unfold_locales, simp)
fix a n x
--- a/src/HOL/Library/Diagonal_Subsequence.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Diagonal_Subsequence.thy Wed Jan 10 15:25:09 2018 +0100
@@ -100,12 +100,12 @@
finally show "?lhs < \<dots>" .
qed
-lemma diagseq_seqseq: "diagseq \<circ> (op + k) = (seqseq k \<circ> (\<lambda>x. fold_reduce k x (k + x)))"
+lemma diagseq_seqseq: "diagseq \<circ> ((+) k) = (seqseq k \<circ> (\<lambda>x. fold_reduce k x (k + x)))"
by (auto simp: o_def diagseq_add)
lemma diagseq_holds:
assumes subseq_stable: "\<And>r s n. strict_mono r \<Longrightarrow> P n s \<Longrightarrow> P n (s \<circ> r)"
- shows "P k (diagseq \<circ> (op + (Suc k)))"
+ shows "P k (diagseq \<circ> ((+) (Suc k)))"
unfolding diagseq_seqseq by (intro subseq_stable subseq_diagonal_rest seqseq_holds)
end
--- a/src/HOL/Library/Discrete.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Discrete.thy Wed Jan 10 15:25:09 2018 +0100
@@ -274,7 +274,7 @@
then have "q * Max {m. m * m \<le> n} = Max (times q ` {m. m * m \<le> n})"
using sqrt_aux [of n] by (auto simp add: power2_eq_square intro: mono_Max_commute)
then have "Max {m. m * m \<le> n} * q = Max (times q ` {m. m * m \<le> n})" by (simp add: ac_simps)
- moreover have "finite (op * q ` {m. m * m \<le> n})"
+ moreover have "finite (( * ) q ` {m. m * m \<le> n})"
by (metis (mono_tags) finite_imageI finite_less_ub le_square)
moreover have "\<exists>x. x * x \<le> n"
by (metis \<open>q * q \<le> n\<close>)
@@ -282,7 +282,7 @@
by simp (metis \<open>q * q \<le> n\<close> le_cases mult_le_mono1 mult_le_mono2 order_trans)
qed
qed
- then have "Max (op * (Max {m. m * m \<le> n}) ` {m. m * m \<le> n}) \<le> n"
+ then have "Max (( * ) (Max {m. m * m \<le> n}) ` {m. m * m \<le> n}) \<le> n"
apply (subst Max_le_iff)
apply (metis (mono_tags) finite_imageI finite_less_ub le_square)
apply auto
--- a/src/HOL/Library/Disjoint_Sets.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Disjoint_Sets.thy Wed Jan 10 15:25:09 2018 +0100
@@ -38,7 +38,7 @@
"disjoint A \<Longrightarrow> a \<in> A \<Longrightarrow> b \<in> A \<Longrightarrow> a \<noteq> b \<Longrightarrow> a \<inter> b = {}"
unfolding disjoint_def by auto
-lemma disjoint_image: "inj_on f (\<Union>A) \<Longrightarrow> disjoint A \<Longrightarrow> disjoint (op ` f ` A)"
+lemma disjoint_image: "inj_on f (\<Union>A) \<Longrightarrow> disjoint A \<Longrightarrow> disjoint ((`) f ` A)"
unfolding inj_on_def disjoint_def by blast
lemma assumes "disjoint (A \<union> B)"
@@ -276,15 +276,15 @@
by (auto simp add: partition_on_def pairwise_def intro!: F_disjnt)
qed
-lemma partition_on_restrict: "partition_on A P \<Longrightarrow> partition_on (B \<inter> A) (op \<inter> B ` P - {{}})"
+lemma partition_on_restrict: "partition_on A P \<Longrightarrow> partition_on (B \<inter> A) ((\<inter>) B ` P - {{}})"
by (intro partition_on_transform) (auto simp: disjnt_def)
-lemma partition_on_vimage: "partition_on A P \<Longrightarrow> partition_on (f -` A) (op -` f ` P - {{}})"
+lemma partition_on_vimage: "partition_on A P \<Longrightarrow> partition_on (f -` A) ((-`) f ` P - {{}})"
by (intro partition_on_transform) (auto simp: disjnt_def)
lemma partition_on_inj_image:
assumes P: "partition_on A P" and f: "inj_on f A"
- shows "partition_on (f ` A) (op ` f ` P - {{}})"
+ shows "partition_on (f ` A) ((`) f ` P - {{}})"
proof (rule partition_on_transform[OF P])
show "p \<in> P \<Longrightarrow> q \<in> P \<Longrightarrow> disjnt p q \<Longrightarrow> disjnt (f ` p) (f ` q)" for p q
using f[THEN inj_onD] P[THEN partition_onD1] by (auto simp: disjnt_def)
--- a/src/HOL/Library/Dlist.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Dlist.thy Wed Jan 10 15:25:09 2018 +0100
@@ -316,7 +316,7 @@
qualified lift_definition set :: "'a dlist \<Rightarrow> 'a set" is List.set .
qualified lemma map_transfer [transfer_rule]:
- "(rel_fun op = (rel_fun (pcr_dlist op =) (pcr_dlist op =))) (\<lambda>f x. remdups (List.map f x)) Dlist.map"
+ "(rel_fun (=) (rel_fun (pcr_dlist (=)) (pcr_dlist (=)))) (\<lambda>f x. remdups (List.map f x)) Dlist.map"
by(simp add: rel_fun_def dlist.pcr_cr_eq cr_dlist_def Dlist.map_def remdups_remdups)
bnf "'a dlist"
--- a/src/HOL/Library/Extended_Nonnegative_Real.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Extended_Nonnegative_Real.thy Wed Jan 10 15:25:09 2018 +0100
@@ -266,8 +266,8 @@
lift_definition Sup_ennreal :: "ennreal set \<Rightarrow> ennreal" is "sup 0 \<circ> Sup"
by auto
-lift_definition less_eq_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> bool" is "op \<le>" .
-lift_definition less_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> bool" is "op <" .
+lift_definition less_eq_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> bool" is "(\<le>)" .
+lift_definition less_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> bool" is "(<)" .
instance
by standard
@@ -278,7 +278,7 @@
lemma pcr_ennreal_enn2ereal[simp]: "pcr_ennreal (enn2ereal x) x"
by (simp add: ennreal.pcr_cr_eq cr_ennreal_def)
-lemma rel_fun_eq_pcr_ennreal: "rel_fun op = pcr_ennreal f g \<longleftrightarrow> f = enn2ereal \<circ> g"
+lemma rel_fun_eq_pcr_ennreal: "rel_fun (=) pcr_ennreal f g \<longleftrightarrow> f = enn2ereal \<circ> g"
by (auto simp: rel_fun_def ennreal.pcr_cr_eq cr_ennreal_def)
instantiation ennreal :: infinity
@@ -297,8 +297,8 @@
lift_definition one_ennreal :: ennreal is 1 by simp
lift_definition zero_ennreal :: ennreal is 0 by simp
-lift_definition plus_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> ennreal" is "op +" by simp
-lift_definition times_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> ennreal" is "op *" by simp
+lift_definition plus_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> ennreal" is "(+)" by simp
+lift_definition times_ennreal :: "ennreal \<Rightarrow> ennreal \<Rightarrow> ennreal" is "( * )" by simp
instance
by standard (transfer; auto simp: field_simps ereal_right_distrib)+
@@ -335,7 +335,7 @@
instance ennreal :: dioid
proof (standard; transfer)
- fix a b :: ereal assume "0 \<le> a" "0 \<le> b" then show "(a \<le> b) = (\<exists>c\<in>Collect (op \<le> 0). b = a + c)"
+ fix a b :: ereal assume "0 \<le> a" "0 \<le> b" then show "(a \<le> b) = (\<exists>c\<in>Collect ((\<le>) 0). b = a + c)"
unfolding ereal_ex_split Bex_def
by (cases a b rule: ereal2_cases) (auto intro!: exI[of _ "real_of_ereal (b - a)"])
qed
@@ -369,9 +369,9 @@
obtains b where "0 \<le> a" "a = enn2ereal b" | "a < 0"
using e2ennreal'_inverse[of a, symmetric] by (cases "0 \<le> a") (auto intro: enn2ereal_nonneg)
-lemma rel_fun_liminf[transfer_rule]: "rel_fun (rel_fun op = pcr_ennreal) pcr_ennreal liminf liminf"
+lemma rel_fun_liminf[transfer_rule]: "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal liminf liminf"
proof -
- have "rel_fun (rel_fun op = pcr_ennreal) pcr_ennreal (\<lambda>x. sup 0 (liminf x)) liminf"
+ have "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal (\<lambda>x. sup 0 (liminf x)) liminf"
unfolding liminf_SUP_INF[abs_def] by (transfer_prover_start, transfer_step+; simp)
then show ?thesis
apply (subst (asm) (2) rel_fun_def)
@@ -380,9 +380,9 @@
done
qed
-lemma rel_fun_limsup[transfer_rule]: "rel_fun (rel_fun op = pcr_ennreal) pcr_ennreal limsup limsup"
+lemma rel_fun_limsup[transfer_rule]: "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal limsup limsup"
proof -
- have "rel_fun (rel_fun op = pcr_ennreal) pcr_ennreal (\<lambda>x. INF n. sup 0 (SUP i:{n..}. x i)) limsup"
+ have "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal (\<lambda>x. INF n. sup 0 (SUP i:{n..}. x i)) limsup"
unfolding limsup_INF_SUP[abs_def] by (transfer_prover_start, transfer_step+; simp)
then show ?thesis
unfolding limsup_INF_SUP[abs_def]
@@ -399,7 +399,7 @@
by (induction I rule: infinite_finite_induct) (auto simp: sum_nonneg zero_ennreal.rep_eq plus_ennreal.rep_eq)
lemma transfer_e2ennreal_sum [transfer_rule]:
- "rel_fun (rel_fun op = pcr_ennreal) (rel_fun op = pcr_ennreal) sum sum"
+ "rel_fun (rel_fun (=) pcr_ennreal) (rel_fun (=) pcr_ennreal) sum sum"
by (auto intro!: rel_funI simp: rel_fun_eq_pcr_ennreal comp_def)
lemma enn2ereal_of_nat[simp]: "enn2ereal (of_nat n) = ereal n"
@@ -1231,7 +1231,7 @@
proof transfer
fix x y :: ereal assume "0 \<le> x" and *: "x < y"
moreover from dense[OF *] guess z ..
- ultimately show "\<exists>z\<in>Collect (op \<le> 0). x < z \<and> z < y"
+ ultimately show "\<exists>z\<in>Collect ((\<le>) 0). x < z \<and> z < y"
by (intro bexI[of _ z]) auto
qed
qed (rule open_ennreal_def)
@@ -1297,7 +1297,7 @@
unfolding divide_ennreal_def by (rule sup_continuous_mult_right_ennreal)
lemma transfer_enn2ereal_continuous_on [transfer_rule]:
- "rel_fun (op =) (rel_fun (rel_fun op = pcr_ennreal) op =) continuous_on continuous_on"
+ "rel_fun (=) (rel_fun (rel_fun (=) pcr_ennreal) (=)) continuous_on continuous_on"
proof -
have "continuous_on A f" if "continuous_on A (\<lambda>x. enn2ereal (f x))" for A and f :: "'a \<Rightarrow> ennreal"
using continuous_on_compose2[OF continuous_on_e2ennreal[of "{0..}"] that]
@@ -1311,7 +1311,7 @@
qed
lemma transfer_sup_continuous[transfer_rule]:
- "(rel_fun (rel_fun (op =) pcr_ennreal) op =) sup_continuous sup_continuous"
+ "(rel_fun (rel_fun (=) pcr_ennreal) (=)) sup_continuous sup_continuous"
proof (safe intro!: rel_funI dest!: rel_fun_eq_pcr_ennreal[THEN iffD1])
show "sup_continuous (enn2ereal \<circ> f) \<Longrightarrow> sup_continuous f" for f :: "'a \<Rightarrow> _"
using sup_continuous_e2ennreal[of "enn2ereal \<circ> f"] by simp
@@ -1355,7 +1355,7 @@
fixes f :: "'a::topological_space \<Rightarrow> ennreal"
shows "continuous_on A f \<Longrightarrow> continuous_on A (\<lambda>x. inverse (f x))"
proof (transfer fixing: A)
- show "pred_fun top (op \<le> 0) f \<Longrightarrow> continuous_on A (\<lambda>x. inverse (f x))" if "continuous_on A f"
+ show "pred_fun top ((\<le>) 0) f \<Longrightarrow> continuous_on A (\<lambda>x. inverse (f x))" if "continuous_on A f"
for f :: "'a \<Rightarrow> ereal"
using continuous_on_compose2[OF continuous_on_inverse_ereal that] by (auto simp: subset_eq)
qed
@@ -1395,7 +1395,7 @@
lemma suminf_enn2ereal[simp]: "(\<Sum>i. enn2ereal (f i)) = enn2ereal (suminf f)"
by (rule sums_unique[symmetric]) (simp add: summable_sums)
-lemma transfer_e2ennreal_suminf [transfer_rule]: "rel_fun (rel_fun op = pcr_ennreal) pcr_ennreal suminf suminf"
+lemma transfer_e2ennreal_suminf [transfer_rule]: "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal suminf suminf"
by (auto simp: rel_funI rel_fun_eq_pcr_ennreal comp_def)
lemma ennreal_suminf_cmult[simp]: "(\<Sum>i. r * f i) = r * (\<Sum>i. f i::ennreal)"
--- a/src/HOL/Library/FSet.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/FSet.thy Wed Jan 10 15:25:09 2018 +0100
@@ -39,7 +39,7 @@
lemma less_fset_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "bi_unique A"
- shows "((pcr_fset A) ===> (pcr_fset A) ===> op =) op \<subset> op <"
+ shows "((pcr_fset A) ===> (pcr_fset A) ===> (=)) (\<subset>) (<)"
unfolding less_fset_def[abs_def] psubset_eq[abs_def] by transfer_prover
@@ -103,7 +103,7 @@
lemma finite_Sup: "\<exists>z. finite z \<and> (\<forall>a. a \<in> X \<longrightarrow> a \<le> z) \<Longrightarrow> finite (Sup X)"
by (auto intro: finite_subset)
-lemma transfer_bdd_below[transfer_rule]: "(rel_set (pcr_fset op =) ===> op =) bdd_below bdd_below"
+lemma transfer_bdd_below[transfer_rule]: "(rel_set (pcr_fset (=)) ===> (=)) bdd_below bdd_below"
by auto
end
@@ -754,9 +754,9 @@
defines fsum = fsum.F
rewrites "comm_monoid_set.F plus 0 = sum"
proof -
- show "comm_monoid_fset op + 0" by standard
+ show "comm_monoid_fset (+) 0" by standard
- show "comm_monoid_set.F op + 0 = sum" unfolding sum_def ..
+ show "comm_monoid_set.F (+) 0 = sum" unfolding sum_def ..
qed
end
@@ -800,7 +800,7 @@
defines fMin = fMin.F
rewrites "semilattice_set.F min = Min"
proof -
- show "semilattice_order_fset min op \<le> op <" by standard
+ show "semilattice_order_fset min (\<le>) (<)" by standard
show "semilattice_set.F min = Min" unfolding Min_def ..
qed
@@ -809,7 +809,7 @@
defines fMax = fMax.F
rewrites "semilattice_set.F max = Max"
proof -
- show "semilattice_order_fset max op \<ge> op >"
+ show "semilattice_order_fset max (\<ge>) (>)"
by standard
show "semilattice_set.F max = Max"
@@ -1015,11 +1015,11 @@
unfolding rel_fun_def rel_fset_alt_def by simp blast
lemma fBall_transfer [transfer_rule]:
- "(rel_fset A ===> (A ===> op =) ===> op =) fBall fBall"
+ "(rel_fset A ===> (A ===> (=)) ===> (=)) fBall fBall"
unfolding rel_fset_alt_def rel_fun_def by blast
lemma fBex_transfer [transfer_rule]:
- "(rel_fset A ===> (A ===> op =) ===> op =) fBex fBex"
+ "(rel_fset A ===> (A ===> (=)) ===> (=)) fBex fBex"
unfolding rel_fset_alt_def rel_fun_def by blast
(* FIXME transfer doesn't work here *)
@@ -1030,7 +1030,7 @@
by blast
lemma rel_fset_transfer [transfer_rule]:
- "((A ===> B ===> op =) ===> rel_fset A ===> rel_fset B ===> op =)
+ "((A ===> B ===> (=)) ===> rel_fset A ===> rel_fset B ===> (=))
rel_fset rel_fset"
unfolding rel_fun_def
using rel_set_transfer[unfolded rel_fun_def,rule_format, Transfer.transferred, where A = A and B = B]
@@ -1045,7 +1045,7 @@
lemma fmember_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(A ===> rel_fset A ===> op =) (op |\<in>|) (op |\<in>|)"
+ shows "(A ===> rel_fset A ===> (=)) (|\<in>|) (|\<in>|)"
using assms unfolding rel_fun_def rel_fset_alt_def bi_unique_def by metis
lemma finter_transfer [transfer_rule]:
@@ -1056,13 +1056,13 @@
lemma fminus_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(rel_fset A ===> rel_fset A ===> rel_fset A) (op |-|) (op |-|)"
+ shows "(rel_fset A ===> rel_fset A ===> rel_fset A) (|-|) (|-|)"
using assms unfolding rel_fun_def
using Diff_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
lemma fsubset_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(rel_fset A ===> rel_fset A ===> op =) (op |\<subseteq>|) (op |\<subseteq>|)"
+ shows "(rel_fset A ===> rel_fset A ===> (=)) (|\<subseteq>|) (|\<subseteq>|)"
using assms unfolding rel_fun_def
using subset_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
@@ -1085,12 +1085,12 @@
lemma ffilter_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "((A ===> op=) ===> rel_fset A ===> rel_fset A) ffilter ffilter"
+ shows "((A ===> (=)) ===> rel_fset A ===> rel_fset A) ffilter ffilter"
using assms unfolding rel_fun_def
using Lifting_Set.filter_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
lemma card_transfer [transfer_rule]:
- "bi_unique A \<Longrightarrow> (rel_fset A ===> op =) fcard fcard"
+ "bi_unique A \<Longrightarrow> (rel_fset A ===> (=)) fcard fcard"
unfolding rel_fun_def
using card_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast
@@ -1362,4 +1362,4 @@
no_notation scomp (infixl "\<circ>\<rightarrow>" 60)
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Finite_Map.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Finite_Map.thy Wed Jan 10 15:25:09 2018 +0100
@@ -13,7 +13,7 @@
context includes lifting_syntax begin
abbreviation rel_map :: "('b \<Rightarrow> 'c \<Rightarrow> bool) \<Rightarrow> ('a \<rightharpoonup> 'b) \<Rightarrow> ('a \<rightharpoonup> 'c) \<Rightarrow> bool" where
-"rel_map f \<equiv> op = ===> rel_option f"
+"rel_map f \<equiv> (=) ===> rel_option f"
lemma map_empty_transfer[transfer_rule]: "rel_map A Map.empty Map.empty"
by transfer_prover
@@ -57,7 +57,7 @@
lemma ran_alt_def: "ran m = (the \<circ> m) ` dom m"
unfolding ran_def dom_def by force
-lemma dom_transfer[transfer_rule]: "(rel_map A ===> op =) dom dom"
+lemma dom_transfer[transfer_rule]: "(rel_map A ===> (=)) dom dom"
proof
fix m n
assume "rel_map A m n"
@@ -76,7 +76,7 @@
"map_upd k v m = m(k \<mapsto> v)"
lemma map_upd_transfer[transfer_rule]:
- "(op = ===> A ===> rel_map A ===> rel_map A) map_upd map_upd"
+ "((=) ===> A ===> rel_map A ===> rel_map A) map_upd map_upd"
unfolding map_upd_def[abs_def]
by transfer_prover
@@ -91,7 +91,7 @@
qed
lemma map_filter_transfer[transfer_rule]:
- "(op = ===> rel_map A ===> rel_map A) map_filter map_filter"
+ "((=) ===> rel_map A ===> rel_map A) map_filter map_filter"
unfolding map_filter_def[abs_def]
by transfer_prover
@@ -111,7 +111,7 @@
"map_drop a = map_filter (\<lambda>a'. a' \<noteq> a)"
lemma map_drop_transfer[transfer_rule]:
- "(op = ===> rel_map A ===> rel_map A) map_drop map_drop"
+ "((=) ===> rel_map A ===> rel_map A) map_drop map_drop"
unfolding map_drop_def[abs_def]
by transfer_prover
@@ -119,7 +119,7 @@
"map_drop_set A = map_filter (\<lambda>a. a \<notin> A)"
lemma map_drop_set_transfer[transfer_rule]:
- "(op = ===> rel_map A ===> rel_map A) map_drop_set map_drop_set"
+ "((=) ===> rel_map A ===> rel_map A) map_drop_set map_drop_set"
unfolding map_drop_set_def[abs_def]
by transfer_prover
@@ -127,12 +127,12 @@
"map_restrict_set A = map_filter (\<lambda>a. a \<in> A)"
lemma map_restrict_set_transfer[transfer_rule]:
- "(op = ===> rel_map A ===> rel_map A) map_restrict_set map_restrict_set"
+ "((=) ===> rel_map A ===> rel_map A) map_restrict_set map_restrict_set"
unfolding map_restrict_set_def[abs_def]
by transfer_prover
lemma map_add_transfer[transfer_rule]:
- "(rel_map A ===> rel_map A ===> rel_map A) op ++ op ++"
+ "(rel_map A ===> rel_map A ===> rel_map A) (++) (++)"
unfolding map_add_def[abs_def]
by transfer_prover
@@ -140,7 +140,7 @@
"map_pred P m \<longleftrightarrow> (\<forall>x. case m x of None \<Rightarrow> True | Some y \<Rightarrow> P x y)"
lemma map_pred_transfer[transfer_rule]:
- "((op = ===> A ===> op =) ===> rel_map A ===> op =) map_pred map_pred"
+ "(((=) ===> A ===> (=)) ===> rel_map A ===> (=)) map_pred map_pred"
unfolding map_pred_def[abs_def]
by transfer_prover
@@ -149,7 +149,7 @@
lemma map_of_transfer[transfer_rule]:
includes lifting_syntax
- shows "(list_all2 (rel_prod op = A) ===> rel_map A) map_of map_of"
+ shows "(list_all2 (rel_prod (=) A) ===> rel_map A) map_of map_of"
unfolding map_of_def by transfer_prover
definition set_of_map :: "('a \<rightharpoonup> 'b) \<Rightarrow> ('a \<times> 'b) set" where
@@ -696,16 +696,16 @@
context includes lifting_syntax begin
lemma fmmap_transfer[transfer_rule]:
- "(op = ===> pcr_fmap op = op = ===> pcr_fmap op = op =) (\<lambda>f. op \<circ> (map_option f)) fmmap"
+ "((=) ===> pcr_fmap (=) (=) ===> pcr_fmap (=) (=)) (\<lambda>f. (\<circ>) (map_option f)) fmmap"
unfolding fmmap_def
by (rule rel_funI ext)+ (auto simp: fmap.Abs_fmap_inverse fmap.pcr_cr_eq cr_fmap_def)
lemma fmran'_transfer[transfer_rule]:
- "(pcr_fmap op = op = ===> op =) (\<lambda>x. UNION (range x) set_option) fmran'"
+ "(pcr_fmap (=) (=) ===> (=)) (\<lambda>x. UNION (range x) set_option) fmran'"
unfolding fmran'_def fmap.pcr_cr_eq cr_fmap_def by fastforce
lemma fmrel_transfer[transfer_rule]:
- "(op = ===> pcr_fmap op = op = ===> pcr_fmap op = op = ===> op =) rel_map fmrel"
+ "((=) ===> pcr_fmap (=) (=) ===> pcr_fmap (=) (=) ===> (=)) rel_map fmrel"
unfolding fmrel_def fmap.pcr_cr_eq cr_fmap_def vimage2p_def by fastforce
end
@@ -1000,7 +1000,7 @@
by (intro fmrel_addI rel_funI)
lemma fmupd_transfer[transfer_rule]:
- "(op = ===> P ===> fmrel P ===> fmrel P) fmupd fmupd"
+ "((=) ===> P ===> fmrel P ===> fmrel P) fmupd fmupd"
by auto
end
@@ -1095,7 +1095,7 @@
instance proof
fix m n :: "('a, 'b) fmap"
- have "fmrel op = m n \<longleftrightarrow> (m = n)"
+ have "fmrel (=) m n \<longleftrightarrow> (m = n)"
by transfer' (simp add: option.rel_eq rel_fun_eq)
then show "equal_class.equal m n \<longleftrightarrow> (m = n)"
unfolding equal_fmap_def
@@ -1226,4 +1226,4 @@
lifting_update fmap.lifting
lifting_forget fmap.lifting
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Float.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Float.thy Wed Jan 10 15:25:09 2018 +0100
@@ -199,13 +199,13 @@
lift_definition one_float :: float is 1 by simp
declare one_float.rep_eq[simp]
-lift_definition plus_float :: "float \<Rightarrow> float \<Rightarrow> float" is "op +" by simp
+lift_definition plus_float :: "float \<Rightarrow> float \<Rightarrow> float" is "(+)" by simp
declare plus_float.rep_eq[simp]
-lift_definition times_float :: "float \<Rightarrow> float \<Rightarrow> float" is "op *" by simp
+lift_definition times_float :: "float \<Rightarrow> float \<Rightarrow> float" is "( * )" by simp
declare times_float.rep_eq[simp]
-lift_definition minus_float :: "float \<Rightarrow> float \<Rightarrow> float" is "op -" by simp
+lift_definition minus_float :: "float \<Rightarrow> float \<Rightarrow> float" is "(-)" by simp
declare minus_float.rep_eq[simp]
lift_definition uminus_float :: "float \<Rightarrow> float" is "uminus" by simp
@@ -217,12 +217,12 @@
lift_definition sgn_float :: "float \<Rightarrow> float" is sgn by simp
declare sgn_float.rep_eq[simp]
-lift_definition equal_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "op = :: real \<Rightarrow> real \<Rightarrow> bool" .
+lift_definition equal_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "(=) :: real \<Rightarrow> real \<Rightarrow> bool" .
-lift_definition less_eq_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "op \<le>" .
+lift_definition less_eq_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "(\<le>)" .
declare less_eq_float.rep_eq[simp]
-lift_definition less_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "op <" .
+lift_definition less_float :: "float \<Rightarrow> float \<Rightarrow> bool" is "(<)" .
declare less_float.rep_eq[simp]
instance
@@ -290,14 +290,14 @@
done
lemma transfer_numeral [transfer_rule]:
- "rel_fun (op =) pcr_float (numeral :: _ \<Rightarrow> real) (numeral :: _ \<Rightarrow> float)"
+ "rel_fun (=) pcr_float (numeral :: _ \<Rightarrow> real) (numeral :: _ \<Rightarrow> float)"
by (simp add: rel_fun_def float.pcr_cr_eq cr_float_def)
lemma float_neg_numeral[simp]: "real_of_float (- numeral x :: float) = - numeral x"
by simp
lemma transfer_neg_numeral [transfer_rule]:
- "rel_fun (op =) pcr_float (- numeral :: _ \<Rightarrow> real) (- numeral :: _ \<Rightarrow> float)"
+ "rel_fun (=) pcr_float (- numeral :: _ \<Rightarrow> real) (- numeral :: _ \<Rightarrow> float)"
by (simp add: rel_fun_def float.pcr_cr_eq cr_float_def)
lemma float_of_numeral[simp]: "numeral k = float_of (numeral k)"
@@ -592,17 +592,17 @@
"sgn (Float m1 e1) = (if 0 < m1 then 1 else if m1 < 0 then -1 else 0)"
by transfer (simp add: sgn_mult)
-lift_definition is_float_pos :: "float \<Rightarrow> bool" is "op < 0 :: real \<Rightarrow> bool" .
+lift_definition is_float_pos :: "float \<Rightarrow> bool" is "(<) 0 :: real \<Rightarrow> bool" .
qualified lemma compute_is_float_pos[code]: "is_float_pos (Float m e) \<longleftrightarrow> 0 < m"
by transfer (auto simp add: zero_less_mult_iff not_le[symmetric, of _ 0])
-lift_definition is_float_nonneg :: "float \<Rightarrow> bool" is "op \<le> 0 :: real \<Rightarrow> bool" .
+lift_definition is_float_nonneg :: "float \<Rightarrow> bool" is "(\<le>) 0 :: real \<Rightarrow> bool" .
qualified lemma compute_is_float_nonneg[code]: "is_float_nonneg (Float m e) \<longleftrightarrow> 0 \<le> m"
by transfer (auto simp add: zero_le_mult_iff not_less[symmetric, of _ 0])
-lift_definition is_float_zero :: "float \<Rightarrow> bool" is "op = 0 :: real \<Rightarrow> bool" .
+lift_definition is_float_zero :: "float \<Rightarrow> bool" is "(=) 0 :: real \<Rightarrow> bool" .
qualified lemma compute_is_float_zero[code]: "is_float_zero (Float m e) \<longleftrightarrow> 0 = m"
by transfer (auto simp add: is_float_zero_def)
@@ -1337,7 +1337,7 @@
by (induct_tac rule: power_down.induct) simp_all
lemma power_float_transfer[transfer_rule]:
- "(rel_fun pcr_float (rel_fun op = pcr_float)) op ^ op ^"
+ "(rel_fun pcr_float (rel_fun (=) pcr_float)) (^) (^)"
unfolding power_def
by transfer_prover
--- a/src/HOL/Library/LaTeXsugar.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/LaTeXsugar.thy Wed Jan 10 15:25:09 2018 +0100
@@ -118,7 +118,7 @@
let
val rhs_vars = Term.add_vars rhs [];
fun dummy (v as Var (ixn as (_, T))) =
- if member (op = ) rhs_vars ixn then v else Const (@{const_name DUMMY}, T)
+ if member ((=) ) rhs_vars ixn then v else Const (@{const_name DUMMY}, T)
| dummy (t $ u) = dummy t $ dummy u
| dummy (Abs (n, T, b)) = Abs (n, T, dummy b)
| dummy t = t;
--- a/src/HOL/Library/Linear_Temporal_Logic_on_Streams.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Linear_Temporal_Logic_on_Streams.thy Wed Jan 10 15:25:09 2018 +0100
@@ -582,13 +582,13 @@
lemma holds_Stream: "holds P (x ## s) \<longleftrightarrow> P x"
by simp
-lemma holds_eq1[simp]: "holds (op = x) = HLD {x}"
+lemma holds_eq1[simp]: "holds ((=) x) = HLD {x}"
by rule (auto simp: HLD_iff)
lemma holds_eq2[simp]: "holds (\<lambda>y. y = x) = HLD {x}"
by rule (auto simp: HLD_iff)
-lemma not_holds_eq[simp]: "holds (- op = x) = not (HLD {x})"
+lemma not_holds_eq[simp]: "holds (- (=) x) = not (HLD {x})"
by rule (auto simp: HLD_iff)
text \<open>Strong until\<close>
--- a/src/HOL/Library/ListVector.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/ListVector.thy Wed Jan 10 15:25:09 2018 +0100
@@ -13,7 +13,7 @@
text\<open>Multiplication with a scalar:\<close>
abbreviation scale :: "('a::times) \<Rightarrow> 'a list \<Rightarrow> 'a list" (infix "*\<^sub>s" 70)
-where "x *\<^sub>s xs \<equiv> map (op * x) xs"
+where "x *\<^sub>s xs \<equiv> map (( * ) x) xs"
lemma scale1[simp]: "(1::'a::monoid_mult) *\<^sub>s xs = xs"
by (induct xs) simp_all
@@ -31,7 +31,7 @@
begin
definition
- list_add_def: "op + = zipwith0 (op +)"
+ list_add_def: "(+) = zipwith0 (+)"
instance ..
@@ -51,7 +51,7 @@
begin
definition
- list_diff_def: "op - = zipwith0 (op -)"
+ list_diff_def: "(-) = zipwith0 (-)"
instance ..
--- a/src/HOL/Library/Mapping.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Mapping.thy Wed Jan 10 15:25:09 2018 +0100
@@ -223,7 +223,7 @@
lemma [transfer_rule]:
assumes [transfer_rule]: "bi_total A"
and [transfer_rule]: "bi_unique B"
- shows "(pcr_mapping A B ===> pcr_mapping A B ===> op=) HOL.eq HOL.equal"
+ shows "(pcr_mapping A B ===> pcr_mapping A B ===> (=)) HOL.eq HOL.equal"
unfolding equal by transfer_prover
lemma of_alist_transfer [transfer_rule]:
--- a/src/HOL/Library/More_List.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/More_List.thy Wed Jan 10 15:25:09 2018 +0100
@@ -320,7 +320,7 @@
(simp add: strip_while_def length_dropWhile_le del: length_rev)
lemma nth_default_strip_while_dflt [simp]:
- "nth_default dflt (strip_while (op = dflt) xs) = nth_default dflt xs"
+ "nth_default dflt (strip_while ((=) dflt) xs) = nth_default dflt xs"
by (induct xs rule: rev_induct) auto
lemma nth_default_eq_iff:
--- a/src/HOL/Library/Multiset_Permutations.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Multiset_Permutations.thy Wed Jan 10 15:25:09 2018 +0100
@@ -85,7 +85,7 @@
lemma permutations_of_multiset_nonempty:
assumes nonempty: "A \<noteq> {#}"
shows "permutations_of_multiset A =
- (\<Union>x\<in>set_mset A. (op # x) ` permutations_of_multiset (A - {#x#}))" (is "_ = ?rhs")
+ (\<Union>x\<in>set_mset A. ((#) x) ` permutations_of_multiset (A - {#x#}))" (is "_ = ?rhs")
proof safe
fix xs assume "xs \<in> permutations_of_multiset A"
hence mset_xs: "mset xs = A" by (simp add: permutations_of_multiset_def)
@@ -186,7 +186,7 @@
proof (induction A rule: multiset_remove_induct)
case (remove A)
have "card (permutations_of_multiset A) =
- card (\<Union>x\<in>set_mset A. op # x ` permutations_of_multiset (A - {#x#}))"
+ card (\<Union>x\<in>set_mset A. (#) x ` permutations_of_multiset (A - {#x#}))"
by (simp add: permutations_of_multiset_nonempty remove.hyps)
also have "\<dots> = (\<Sum>x\<in>set_mset A. card (permutations_of_multiset (A - {#x#})))"
by (subst card_UN_disjoint) (auto simp: card_image)
@@ -353,7 +353,7 @@
fun permutations_of_list_impl where
"permutations_of_list_impl xs = (if xs = [] then [[]] else
- List.bind (remdups xs) (\<lambda>x. map (op # x) (permutations_of_list_impl (remove1 x xs))))"
+ List.bind (remdups xs) (\<lambda>x. map ((#) x) (permutations_of_list_impl (remove1 x xs))))"
fun permutations_of_list_impl_aux where
"permutations_of_list_impl_aux acc xs = (if xs = [] then [acc] else
@@ -368,7 +368,7 @@
lemma permutations_of_list_impl_nonempty:
"xs \<noteq> [] \<Longrightarrow> permutations_of_list_impl xs =
- List.bind (remdups xs) (\<lambda>x. map (op # x) (permutations_of_list_impl (remove1 x xs)))"
+ List.bind (remdups xs) (\<lambda>x. map ((#) x) (permutations_of_list_impl (remove1 x xs)))"
by (subst permutations_of_list_impl.simps) simp_all
lemma set_permutations_of_list_impl:
--- a/src/HOL/Library/Nat_Bijection.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Nat_Bijection.thy Wed Jan 10 15:25:09 2018 +0100
@@ -272,7 +272,7 @@
subsubsection \<open>From sets to naturals\<close>
definition set_encode :: "nat set \<Rightarrow> nat"
- where "set_encode = sum (op ^ 2)"
+ where "set_encode = sum ((^) 2)"
lemma set_encode_empty [simp]: "set_encode {} = 0"
by (simp add: set_encode_def)
--- a/src/HOL/Library/Numeral_Type.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Numeral_Type.thy Wed Jan 10 15:25:09 2018 +0100
@@ -299,7 +299,7 @@
(auto simp add: less_eq_bit0_def less_bit0_def less_eq_bit1_def less_bit1_def Rep_bit0_inject Rep_bit1_inject)
end
-lemma (in preorder) tranclp_less: "op < \<^sup>+\<^sup>+ = op <"
+lemma (in preorder) tranclp_less: "(<) \<^sup>+\<^sup>+ = (<)"
by(auto simp add: fun_eq_iff intro: less_trans elim: tranclp.induct)
instance bit0 and bit1 :: (finite) wellorder
@@ -324,7 +324,7 @@
instantiation num0 :: equal begin
definition equal_num0 :: "num0 \<Rightarrow> num0 \<Rightarrow> bool"
- where "equal_num0 = op ="
+ where "equal_num0 = (=)"
instance by intro_classes (simp add: equal_num0_def)
end
@@ -336,7 +336,7 @@
instantiation num1 :: equal begin
definition equal_num1 :: "num1 \<Rightarrow> num1 \<Rightarrow> bool"
- where "equal_num1 = op ="
+ where "equal_num1 = (=)"
instance by intro_classes (simp add: equal_num1_def)
end
--- a/src/HOL/Library/Open_State_Syntax.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Open_State_Syntax.thy Wed Jan 10 15:25:09 2018 +0100
@@ -60,12 +60,12 @@
text \<open>
Given two transformations @{term f} and @{term g}, they may be
- directly composed using the @{term "op \<circ>>"} combinator, forming a
+ directly composed using the @{term "(\<circ>>)"} combinator, forming a
forward composition: @{prop "(f \<circ>> g) s = f (g s)"}.
After any yielding transformation, we bind the side result
immediately using a lambda abstraction. This is the purpose of the
- @{term "op \<circ>\<rightarrow>"} combinator: @{prop "(f \<circ>\<rightarrow> (\<lambda>x. g)) s = (let (x, s')
+ @{term "(\<circ>\<rightarrow>)"} combinator: @{prop "(f \<circ>\<rightarrow> (\<lambda>x. g)) s = (let (x, s')
= f s in g s')"}.
For queries, the existing @{term "Let"} is appropriate.
--- a/src/HOL/Library/Pattern_Aliases.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Pattern_Aliases.thy Wed Jan 10 15:25:09 2018 +0100
@@ -60,7 +60,7 @@
| SOME (var, t) => apfst (cons var) (strip_all t)
fun all_Frees t =
- fold_aterms (fn Free (x, t) => insert op = (x, t) | _ => I) t []
+ fold_aterms (fn Free (x, t) => insert (=) (x, t) | _ => I) t []
fun subst_once (old, new) t =
let
@@ -120,7 +120,7 @@
val res = HOLogic.mk_Trueprop (HOLogic.mk_eq (lhs', rhs'))
- val frees = filter (member op = vars) (all_Frees res)
+ val frees = filter (member (=) vars) (all_Frees res)
in fold (fn v => Logic.dependent_all_name ("", v)) (map Free frees) res end
| _ => t
@@ -207,4 +207,4 @@
end
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Perm.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Perm.thy Wed Jan 10 15:25:09 2018 +0100
@@ -27,7 +27,7 @@
setup_lifting type_definition_perm
notation "apply" (infixl "\<langle>$\<rangle>" 999)
-no_notation "apply" ("op \<langle>$\<rangle>")
+no_notation "apply" ("(\<langle>$\<rangle>)")
lemma bij_apply [simp]:
"bij (apply f)"
@@ -804,7 +804,7 @@
notation swap ("\<langle>_\<leftrightarrow>_\<rangle>")
notation cycle ("\<langle>_\<rangle>")
notation "apply" (infixl "\<langle>$\<rangle>" 999)
- no_notation "apply" ("op \<langle>$\<rangle>")
+ no_notation "apply" ("(\<langle>$\<rangle>)")
end
unbundle no_permutation_syntax
--- a/src/HOL/Library/Permutations.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Permutations.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1261,9 +1261,9 @@
(is "?lhs = ?rhs")
proof -
let ?S = "{p. p permutes S}"
- have *: "?rhs = sum (f \<circ> (op \<circ> q)) ?S"
+ have *: "?rhs = sum (f \<circ> ((\<circ>) q)) ?S"
by (simp add: o_def)
- have **: "inj_on (op \<circ> q) ?S"
+ have **: "inj_on ((\<circ>) q) ?S"
proof (auto simp add: inj_on_def)
fix p r
assume "p permutes S"
@@ -1274,7 +1274,7 @@
with permutes_inj[OF q, unfolded inj_iff] show "p = r"
by simp
qed
- have "(op \<circ> q) ` ?S = ?S"
+ have "((\<circ>) q) ` ?S = ?S"
using image_compose_permutations_left[OF q] by auto
with * sum.reindex[OF **, of f] show ?thesis
by (simp only:)
--- a/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Predicate_Compile_Alternative_Defs.thy Wed Jan 10 15:25:09 2018 +0100
@@ -15,7 +15,7 @@
declare less_bool_def[abs_def, code_pred_inline]
declare le_bool_def[abs_def, code_pred_inline]
-lemma min_bool_eq [code_pred_inline]: "(min :: bool => bool => bool) == (op \<and>)"
+lemma min_bool_eq [code_pred_inline]: "(min :: bool => bool => bool) == (\<and>)"
by (rule eq_reflection) (auto simp add: fun_eq_iff min_def)
lemma [code_pred_inline]:
@@ -103,16 +103,16 @@
in
absdummy @{typ nat} (absdummy @{typ nat}
(Const (@{const_name "If"}, @{typ bool} --> T --> T --> T) $
- (@{term "op > :: nat => nat => bool"} $ Bound 1 $ Bound 0) $
+ (@{term "(>) :: nat => nat => bool"} $ Bound 1 $ Bound 0) $
Predicate_Compile_Aux.mk_empty compfuns @{typ nat} $
Predicate_Compile_Aux.mk_single compfuns
- (@{term "op - :: nat => nat => nat"} $ Bound 0 $ Bound 1)))
+ (@{term "(-) :: nat => nat => nat"} $ Bound 0 $ Bound 1)))
end
fun enumerate_addups_nat compfuns (_ : typ) =
absdummy @{typ nat} (Predicate_Compile_Aux.mk_iterate_upto compfuns @{typ "nat * nat"}
(absdummy @{typ natural} (@{term "Pair :: nat => nat => nat * nat"} $
(@{term "nat_of_natural"} $ Bound 0) $
- (@{term "op - :: nat => nat => nat"} $ Bound 1 $ (@{term "nat_of_natural"} $ Bound 0))),
+ (@{term "(-) :: nat => nat => nat"} $ Bound 1 $ (@{term "nat_of_natural"} $ Bound 0))),
@{term "0 :: natural"}, @{term "natural_of_nat"} $ Bound 0))
fun enumerate_nats compfuns (_ : typ) =
let
@@ -121,10 +121,10 @@
in
absdummy @{typ nat} (absdummy @{typ nat}
(Const (@{const_name If}, @{typ bool} --> T --> T --> T) $
- (@{term "op = :: nat => nat => bool"} $ Bound 0 $ @{term "0::nat"}) $
+ (@{term "(=) :: nat => nat => bool"} $ Bound 0 $ @{term "0::nat"}) $
(Predicate_Compile_Aux.mk_iterate_upto compfuns @{typ nat} (@{term "nat_of_natural"},
@{term "0::natural"}, @{term "natural_of_nat"} $ Bound 1)) $
- (single_const $ (@{term "op + :: nat => nat => nat"} $ Bound 1 $ Bound 0))))
+ (single_const $ (@{term "(+) :: nat => nat => nat"} $ Bound 1 $ Bound 0))))
end
in
Core_Data.force_modes_and_compilations @{const_name plus_eq_nat}
--- a/src/HOL/Library/Quotient_List.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Quotient_List.thy Wed Jan 10 15:25:09 2018 +0100
@@ -15,10 +15,10 @@
by (fact List.map.id)
lemma list_all2_eq [id_simps]:
- "list_all2 (op =) = (op =)"
+ "list_all2 (=) = (=)"
proof (rule ext)+
fix xs ys
- show "list_all2 (op =) xs ys \<longleftrightarrow> xs = ys"
+ show "list_all2 (=) xs ys \<longleftrightarrow> xs = ys"
by (induct xs ys rule: list_induct2') simp_all
qed
@@ -79,12 +79,12 @@
lemma cons_prs [quot_preserve]:
assumes q: "Quotient3 R Abs Rep"
- shows "(Rep ---> (map Rep) ---> (map Abs)) (op #) = (op #)"
+ shows "(Rep ---> (map Rep) ---> (map Abs)) (#) = (#)"
by (auto simp add: fun_eq_iff comp_def Quotient3_abs_rep [OF q])
lemma cons_rsp [quot_respect]:
assumes q: "Quotient3 R Abs Rep"
- shows "(R ===> list_all2 R ===> list_all2 R) (op #) (op #)"
+ shows "(R ===> list_all2 R ===> list_all2 R) (#) (#)"
by auto
lemma nil_prs [quot_preserve]:
@@ -116,7 +116,7 @@
assumes q1: "Quotient3 R1 Abs1 Rep1"
and q2: "Quotient3 R2 Abs2 Rep2"
shows "((R1 ===> R2) ===> (list_all2 R1) ===> list_all2 R2) map map"
- and "((R1 ===> op =) ===> (list_all2 R1) ===> op =) map map"
+ and "((R1 ===> (=)) ===> (list_all2 R1) ===> (=)) map map"
unfolding list_all2_eq [symmetric] by (rule list.map_transfer)+
lemma foldr_prs_aux:
@@ -167,7 +167,7 @@
auto simp: list_all2_Cons1 list_all2_Cons2 r)
lemma [quot_respect]:
- "((R ===> R ===> op =) ===> list_all2 R ===> list_all2 R ===> op =) list_all2 list_all2"
+ "((R ===> R ===> (=)) ===> list_all2 R ===> list_all2 R ===> (=)) list_all2 list_all2"
by (rule list.rel_transfer)
lemma [quot_preserve]:
--- a/src/HOL/Library/Quotient_Product.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Quotient_Product.thy Wed Jan 10 15:25:09 2018 +0100
@@ -15,7 +15,7 @@
by (simp add: fun_eq_iff)
lemma rel_prod_eq [id_simps]:
- shows "rel_prod (op =) (op =) = (op =)"
+ shows "rel_prod (=) (=) = (=)"
by (simp add: fun_eq_iff)
lemma prod_equivp [quot_equiv]:
@@ -77,7 +77,7 @@
by (simp add: fun_eq_iff Quotient3_abs_rep[OF q2])
lemma case_prod_rsp [quot_respect]:
- shows "((R1 ===> R2 ===> (op =)) ===> (rel_prod R1 R2) ===> (op =)) case_prod case_prod"
+ shows "((R1 ===> R2 ===> (=)) ===> (rel_prod R1 R2) ===> (=)) case_prod case_prod"
by (rule case_prod_transfer)
lemma split_prs [quot_preserve]:
@@ -87,8 +87,8 @@
by (simp add: fun_eq_iff Quotient3_abs_rep[OF q1] Quotient3_abs_rep[OF q2])
lemma [quot_respect]:
- shows "((R2 ===> R2 ===> op =) ===> (R1 ===> R1 ===> op =) ===>
- rel_prod R2 R1 ===> rel_prod R2 R1 ===> op =) rel_prod rel_prod"
+ shows "((R2 ===> R2 ===> (=)) ===> (R1 ===> R1 ===> (=)) ===>
+ rel_prod R2 R1 ===> rel_prod R2 R1 ===> (=)) rel_prod rel_prod"
by (rule prod.rel_transfer)
lemma [quot_preserve]:
--- a/src/HOL/Library/Quotient_Set.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Quotient_Set.thy Wed Jan 10 15:25:09 2018 +0100
@@ -13,7 +13,7 @@
definition "rel_vset R xs ys \<equiv> \<forall>x y. R x y \<longrightarrow> x \<in> xs \<longleftrightarrow> y \<in> ys"
lemma rel_vset_eq [id_simps]:
- "rel_vset op = = op ="
+ "rel_vset (=) = (=)"
by (subst fun_eq_iff, subst fun_eq_iff) (simp add: set_eq_iff rel_vset_def)
lemma rel_vset_equivp:
@@ -49,55 +49,55 @@
lemma collect_rsp[quot_respect]:
assumes "Quotient3 R Abs Rep"
- shows "((R ===> op =) ===> rel_vset R) Collect Collect"
+ shows "((R ===> (=)) ===> rel_vset R) Collect Collect"
by (intro rel_funI) (simp add: rel_fun_def rel_vset_def)
lemma collect_prs[quot_preserve]:
assumes "Quotient3 R Abs Rep"
- shows "((Abs ---> id) ---> op -` Rep) Collect = Collect"
+ shows "((Abs ---> id) ---> (-`) Rep) Collect = Collect"
unfolding fun_eq_iff
by (simp add: Quotient3_abs_rep[OF assms])
lemma union_rsp[quot_respect]:
assumes "Quotient3 R Abs Rep"
- shows "(rel_vset R ===> rel_vset R ===> rel_vset R) op \<union> op \<union>"
+ shows "(rel_vset R ===> rel_vset R ===> rel_vset R) (\<union>) (\<union>)"
by (intro rel_funI) (simp add: rel_vset_def)
lemma union_prs[quot_preserve]:
assumes "Quotient3 R Abs Rep"
- shows "(op -` Abs ---> op -` Abs ---> op -` Rep) op \<union> = op \<union>"
+ shows "((-`) Abs ---> (-`) Abs ---> (-`) Rep) (\<union>) = (\<union>)"
unfolding fun_eq_iff
by (simp add: Quotient3_abs_rep[OF set_quotient[OF assms]])
lemma diff_rsp[quot_respect]:
assumes "Quotient3 R Abs Rep"
- shows "(rel_vset R ===> rel_vset R ===> rel_vset R) op - op -"
+ shows "(rel_vset R ===> rel_vset R ===> rel_vset R) (-) (-)"
by (intro rel_funI) (simp add: rel_vset_def)
lemma diff_prs[quot_preserve]:
assumes "Quotient3 R Abs Rep"
- shows "(op -` Abs ---> op -` Abs ---> op -` Rep) op - = op -"
+ shows "((-`) Abs ---> (-`) Abs ---> (-`) Rep) (-) = (-)"
unfolding fun_eq_iff
by (simp add: Quotient3_abs_rep[OF set_quotient[OF assms]] vimage_Diff)
lemma inter_rsp[quot_respect]:
assumes "Quotient3 R Abs Rep"
- shows "(rel_vset R ===> rel_vset R ===> rel_vset R) op \<inter> op \<inter>"
+ shows "(rel_vset R ===> rel_vset R ===> rel_vset R) (\<inter>) (\<inter>)"
by (intro rel_funI) (auto simp add: rel_vset_def)
lemma inter_prs[quot_preserve]:
assumes "Quotient3 R Abs Rep"
- shows "(op -` Abs ---> op -` Abs ---> op -` Rep) op \<inter> = op \<inter>"
+ shows "((-`) Abs ---> (-`) Abs ---> (-`) Rep) (\<inter>) = (\<inter>)"
unfolding fun_eq_iff
by (simp add: Quotient3_abs_rep[OF set_quotient[OF assms]])
lemma mem_prs[quot_preserve]:
assumes "Quotient3 R Abs Rep"
- shows "(Rep ---> op -` Abs ---> id) op \<in> = op \<in>"
+ shows "(Rep ---> (-`) Abs ---> id) (\<in>) = (\<in>)"
by (simp add: fun_eq_iff Quotient3_abs_rep[OF assms])
lemma mem_rsp[quot_respect]:
- shows "(R ===> rel_vset R ===> op =) op \<in> op \<in>"
+ shows "(R ===> rel_vset R ===> (=)) (\<in>) (\<in>)"
by (intro rel_funI) (simp add: rel_vset_def)
end
--- a/src/HOL/Library/Quotient_Sum.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Quotient_Sum.thy Wed Jan 10 15:25:09 2018 +0100
@@ -23,7 +23,7 @@
by (simp add: id_def map_sum.identity fun_eq_iff)
lemma rel_sum_eq [id_simps]:
- "rel_sum (op =) (op =) = (op =)"
+ "rel_sum (=) (=) = (=)"
by (rule sum.rel_eq)
lemma reflp_rel_sum:
--- a/src/HOL/Library/RBT_Set.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/RBT_Set.thy Wed Jan 10 15:25:09 2018 +0100
@@ -570,7 +570,7 @@
lemma sum_Set [code]:
"sum f (Set xs) = fold_keys (plus \<circ> f) xs 0"
proof -
- have "comp_fun_commute (\<lambda>x. op + (f x))"
+ have "comp_fun_commute (\<lambda>x. (+) (f x))"
by standard (auto simp: ac_simps)
then show ?thesis
by (auto simp add: sum.eq_fold finite_fold_fold_keys o_def)
--- a/src/HOL/Library/State_Monad.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/State_Monad.thy Wed Jan 10 15:25:09 2018 +0100
@@ -140,10 +140,10 @@
by (induction xs) auto
abbreviation mono_state :: "('s::preorder, 'a) state \<Rightarrow> bool" where
-"mono_state \<equiv> state_io_rel (op \<le>)"
+"mono_state \<equiv> state_io_rel (\<le>)"
abbreviation strict_mono_state :: "('s::preorder, 'a) state \<Rightarrow> bool" where
-"strict_mono_state \<equiv> state_io_rel (op <)"
+"strict_mono_state \<equiv> state_io_rel (<)"
corollary strict_mono_implies_mono: "strict_mono_state m \<Longrightarrow> mono_state m"
unfolding state_io_rel_def
@@ -230,4 +230,4 @@
end
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Stream.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Stream.thy Wed Jan 10 15:25:09 2018 +0100
@@ -86,7 +86,7 @@
lemma streamsE: "s \<in> streams A \<Longrightarrow> (shd s \<in> A \<Longrightarrow> stl s \<in> streams A \<Longrightarrow> P) \<Longrightarrow> P"
by (erule streams.cases) simp_all
-lemma Stream_image: "x ## y \<in> (op ## x') ` Y \<longleftrightarrow> x = x' \<and> y \<in> Y"
+lemma Stream_image: "x ## y \<in> ((##) x') ` Y \<longleftrightarrow> x = x' \<and> y \<in> Y"
by auto
lemma shift_streams: "\<lbrakk>w \<in> lists A; s \<in> streams A\<rbrakk> \<Longrightarrow> w @- s \<in> streams A"
--- a/src/HOL/Library/Sublist.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Sublist.thy Wed Jan 10 15:25:09 2018 +0100
@@ -217,7 +217,7 @@
primrec prefixes where
"prefixes [] = [[]]" |
-"prefixes (x#xs) = [] # map (op # x) (prefixes xs)"
+"prefixes (x#xs) = [] # map ((#) x) (prefixes xs)"
lemma in_set_prefixes[simp]: "xs \<in> set (prefixes ys) \<longleftrightarrow> prefix xs ys"
proof (induct xs arbitrary: ys)
@@ -362,7 +362,7 @@
using Longest_common_prefix_prefix prefix_Nil by blast
lemma Longest_common_prefix_image_Cons: "L \<noteq> {} \<Longrightarrow>
- Longest_common_prefix (op # x ` L) = x # Longest_common_prefix L"
+ Longest_common_prefix ((#) x ` L) = x # Longest_common_prefix L"
apply(rule Longest_common_prefix_eq)
apply(simp)
apply (simp add: Longest_common_prefix_prefix)
@@ -373,7 +373,7 @@
lemma Longest_common_prefix_eq_Cons: assumes "L \<noteq> {}" "[] \<notin> L" "\<forall>xs\<in>L. hd xs = x"
shows "Longest_common_prefix L = x # Longest_common_prefix {ys. x#ys \<in> L}"
proof -
- have "L = op # x ` {ys. x#ys \<in> L}" using assms(2,3)
+ have "L = (#) x ` {ys. x#ys \<in> L}" using assms(2,3)
by (auto simp: image_def)(metis hd_Cons_tl)
thus ?thesis
by (metis Longest_common_prefix_image_Cons image_is_empty assms(1))
@@ -925,7 +925,7 @@
subsection \<open>Subsequences (special case of homeomorphic embedding)\<close>
abbreviation subseq :: "'a list \<Rightarrow> 'a list \<Rightarrow> bool"
- where "subseq xs ys \<equiv> list_emb (op =) xs ys"
+ where "subseq xs ys \<equiv> list_emb (=) xs ys"
definition strict_subseq where "strict_subseq xs ys \<longleftrightarrow> xs \<noteq> ys \<and> subseq xs ys"
@@ -1035,7 +1035,7 @@
{ fix us vs assume "xs=x#us" "ys=x#vs" then have ?case using list_emb_Cons2 by auto}
moreover
{ fix us assume "xs=x#us" "ys=[]" then have ?case using list_emb_Cons2(2) by bestsimp }
- ultimately show ?case using \<open>op = x y\<close> by (auto simp: Cons_eq_append_conv)
+ ultimately show ?case using \<open>(=) x y\<close> by (auto simp: Cons_eq_append_conv)
qed }
moreover assume ?l
ultimately show ?r by blast
@@ -1211,7 +1211,7 @@
primrec sublists :: "'a list \<Rightarrow> 'a list list" where
"sublists [] = [[]]"
-| "sublists (x # xs) = sublists xs @ map (op # x) (prefixes xs)"
+| "sublists (x # xs) = sublists xs @ map ((#) x) (prefixes xs)"
lemma in_set_sublists [simp]: "xs \<in> set (sublists ys) \<longleftrightarrow> sublist xs ys"
by (induction ys arbitrary: xs) (auto simp: sublist_Cons_right prefix_Cons)
@@ -1313,48 +1313,48 @@
lemma prefix_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) prefix prefix"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) prefix prefix"
unfolding prefix_primrec by transfer_prover
lemma suffix_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) suffix suffix"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) suffix suffix"
unfolding suffix_to_prefix [abs_def] by transfer_prover
lemma sublist_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) sublist sublist"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) sublist sublist"
unfolding sublist_primrec by transfer_prover
lemma parallel_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) parallel parallel"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) parallel parallel"
unfolding parallel_def by transfer_prover
lemma list_emb_transfer [transfer_rule]:
- "((A ===> A ===> op =) ===> list_all2 A ===> list_all2 A ===> op =) list_emb list_emb"
+ "((A ===> A ===> (=)) ===> list_all2 A ===> list_all2 A ===> (=)) list_emb list_emb"
unfolding list_emb_primrec by transfer_prover
lemma strict_prefix_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) strict_prefix strict_prefix"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) strict_prefix strict_prefix"
unfolding strict_prefix_def by transfer_prover
lemma strict_suffix_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) strict_suffix strict_suffix"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) strict_suffix strict_suffix"
unfolding strict_suffix_def by transfer_prover
lemma strict_subseq_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) strict_subseq strict_subseq"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) strict_subseq strict_subseq"
unfolding strict_subseq_def by transfer_prover
lemma strict_sublist_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) strict_sublist strict_sublist"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) strict_sublist strict_sublist"
unfolding strict_sublist_def by transfer_prover
lemma prefixes_transfer [transfer_rule]:
--- a/src/HOL/Library/Subseq_Order.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Subseq_Order.thy Wed Jan 10 15:25:09 2018 +0100
@@ -41,12 +41,12 @@
qed
lemmas less_eq_list_induct [consumes 1, case_names empty drop take] =
- list_emb.induct [of "op =", folded less_eq_list_def]
-lemmas less_eq_list_drop = list_emb.list_emb_Cons [of "op =", folded less_eq_list_def]
+ list_emb.induct [of "(=)", folded less_eq_list_def]
+lemmas less_eq_list_drop = list_emb.list_emb_Cons [of "(=)", folded less_eq_list_def]
lemmas le_list_Cons2_iff [simp, code] = subseq_Cons2_iff [folded less_eq_list_def]
lemmas le_list_map = subseq_map [folded less_eq_list_def]
lemmas le_list_filter = subseq_filter [folded less_eq_list_def]
-lemmas le_list_length = list_emb_length [of "op =", folded less_eq_list_def]
+lemmas le_list_length = list_emb_length [of "(=)", folded less_eq_list_def]
lemma less_list_length: "xs < ys \<Longrightarrow> length xs < length ys"
by (metis list_emb_length subseq_same_length le_neq_implies_less less_list_def less_eq_list_def)
--- a/src/HOL/Library/Sum_of_Squares/sum_of_squares.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Sum_of_Squares/sum_of_squares.ML Wed Jan 10 15:25:09 2018 +0100
@@ -219,12 +219,12 @@
local
val neg_tm = \<^cterm>\<open>uminus :: real \<Rightarrow> _\<close>
- val add_tm = \<^cterm>\<open>op + :: real \<Rightarrow> _\<close>
- val sub_tm = \<^cterm>\<open>op - :: real \<Rightarrow> _\<close>
- val mul_tm = \<^cterm>\<open>op * :: real \<Rightarrow> _\<close>
+ val add_tm = \<^cterm>\<open>(+) :: real \<Rightarrow> _\<close>
+ val sub_tm = \<^cterm>\<open>(-) :: real \<Rightarrow> _\<close>
+ val mul_tm = \<^cterm>\<open>( * ) :: real \<Rightarrow> _\<close>
val inv_tm = \<^cterm>\<open>inverse :: real \<Rightarrow> _\<close>
- val div_tm = \<^cterm>\<open>op / :: real \<Rightarrow> _\<close>
- val pow_tm = \<^cterm>\<open>op ^ :: real \<Rightarrow> _\<close>
+ val div_tm = \<^cterm>\<open>(/) :: real \<Rightarrow> _\<close>
+ val pow_tm = \<^cterm>\<open>(^) :: real \<Rightarrow> _\<close>
val zero_tm = \<^cterm>\<open>0:: real\<close>
val is_numeral = can (HOLogic.dest_number o Thm.term_of)
fun poly_of_term tm =
@@ -864,12 +864,12 @@
Free (_, \<^typ>\<open>real\<close>) =>
if not (member (op aconvc) fvs tm) then (@1, tm)
else raise Failure "substitutable_monomial"
- | \<^term>\<open>op * :: real \<Rightarrow> _\<close> $ _ $ (Free _) =>
+ | \<^term>\<open>( * ) :: real \<Rightarrow> _\<close> $ _ $ (Free _) =>
if RealArith.is_ratconst (Thm.dest_arg1 tm) andalso
not (member (op aconvc) fvs (Thm.dest_arg tm))
then (RealArith.dest_ratconst (Thm.dest_arg1 tm), Thm.dest_arg tm)
else raise Failure "substitutable_monomial"
- | \<^term>\<open>op + :: real \<Rightarrow> _\<close>$_$_ =>
+ | \<^term>\<open>(+) :: real \<Rightarrow> _\<close>$_$_ =>
(substitutable_monomial (Drule.cterm_add_frees (Thm.dest_arg tm) fvs) (Thm.dest_arg1 tm)
handle Failure _ =>
substitutable_monomial (Drule.cterm_add_frees (Thm.dest_arg1 tm) fvs) (Thm.dest_arg tm))
@@ -882,7 +882,7 @@
if v aconvc w then th
else
(case Thm.term_of w of
- \<^term>\<open>op + :: real \<Rightarrow> _\<close> $ _ $ _ =>
+ \<^term>\<open>(+) :: real \<Rightarrow> _\<close> $ _ $ _ =>
if Thm.dest_arg1 w aconvc v then shuffle2 th
else isolate_variable v (shuffle1 th)
| _ => error "isolate variable : This should not happen?")
@@ -901,14 +901,14 @@
val (c,v) = substitutable_monomial [] (Thm.dest_arg1(concl th))
val th1 =
Drule.arg_cong_rule
- (Thm.apply \<^cterm>\<open>op * :: real \<Rightarrow> _\<close> (RealArith.cterm_of_rat (Rat.inv c)))
+ (Thm.apply \<^cterm>\<open>( * ) :: real \<Rightarrow> _\<close> (RealArith.cterm_of_rat (Rat.inv c)))
(mk_meta_eq th)
val th2 = fconv_rule (binop_conv (real_poly_mul_conv ctxt)) th1
in fconv_rule (arg_conv (real_poly_conv ctxt)) (isolate_variable v th2) end
fun oprconv cv ct =
let val g = Thm.dest_fun2 ct in
- if g aconvc \<^cterm>\<open>op \<le> :: real \<Rightarrow> _\<close> orelse g aconvc \<^cterm>\<open>op < :: real \<Rightarrow> _\<close>
+ if g aconvc \<^cterm>\<open>(\<le>) :: real \<Rightarrow> _\<close> orelse g aconvc \<^cterm>\<open>(<) :: real \<Rightarrow> _\<close>
then arg_conv cv ct else arg1_conv cv ct
end
fun mainf cert_choice translator =
@@ -938,16 +938,16 @@
end;
val known_sos_constants =
- [\<^term>\<open>op \<Longrightarrow>\<close>, \<^term>\<open>Trueprop\<close>,
+ [\<^term>\<open>(\<Longrightarrow>)\<close>, \<^term>\<open>Trueprop\<close>,
\<^term>\<open>HOL.False\<close>, \<^term>\<open>HOL.implies\<close>, \<^term>\<open>HOL.conj\<close>, \<^term>\<open>HOL.disj\<close>,
- \<^term>\<open>Not\<close>, \<^term>\<open>op = :: bool \<Rightarrow> _\<close>,
+ \<^term>\<open>Not\<close>, \<^term>\<open>(=) :: bool \<Rightarrow> _\<close>,
\<^term>\<open>All :: (real \<Rightarrow> _) \<Rightarrow> _\<close>, \<^term>\<open>Ex :: (real \<Rightarrow> _) \<Rightarrow> _\<close>,
- \<^term>\<open>op = :: real \<Rightarrow> _\<close>, \<^term>\<open>op < :: real \<Rightarrow> _\<close>,
- \<^term>\<open>op \<le> :: real \<Rightarrow> _\<close>,
- \<^term>\<open>op + :: real \<Rightarrow> _\<close>, \<^term>\<open>op - :: real \<Rightarrow> _\<close>,
- \<^term>\<open>op * :: real \<Rightarrow> _\<close>, \<^term>\<open>uminus :: real \<Rightarrow> _\<close>,
- \<^term>\<open>op / :: real \<Rightarrow> _\<close>, \<^term>\<open>inverse :: real \<Rightarrow> _\<close>,
- \<^term>\<open>op ^ :: real \<Rightarrow> _\<close>, \<^term>\<open>abs :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>(=) :: real \<Rightarrow> _\<close>, \<^term>\<open>(<) :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>(\<le>) :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>(+) :: real \<Rightarrow> _\<close>, \<^term>\<open>(-) :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>( * ) :: real \<Rightarrow> _\<close>, \<^term>\<open>uminus :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>(/) :: real \<Rightarrow> _\<close>, \<^term>\<open>inverse :: real \<Rightarrow> _\<close>,
+ \<^term>\<open>(^) :: real \<Rightarrow> _\<close>, \<^term>\<open>abs :: real \<Rightarrow> _\<close>,
\<^term>\<open>min :: real \<Rightarrow> _\<close>, \<^term>\<open>max :: real \<Rightarrow> _\<close>,
\<^term>\<open>0::real\<close>, \<^term>\<open>1::real\<close>,
\<^term>\<open>numeral :: num \<Rightarrow> nat\<close>,
@@ -996,13 +996,13 @@
in
fun get_denom b ct =
(case Thm.term_of ct of
- \<^term>\<open>op / :: real \<Rightarrow> _\<close> $ _ $ _ =>
+ \<^term>\<open>(/) :: real \<Rightarrow> _\<close> $ _ $ _ =>
if is_numeral (Thm.dest_arg ct)
then get_denom b (Thm.dest_arg1 ct)
else default_SOME (get_denom b) (get_denom b (Thm.dest_arg ct)) (Thm.dest_arg ct, b)
- | \<^term>\<open>op < :: real \<Rightarrow> _\<close> $ _ $ _ =>
+ | \<^term>\<open>(<) :: real \<Rightarrow> _\<close> $ _ $ _ =>
lift_SOME (get_denom true) (get_denom true (Thm.dest_arg ct)) (Thm.dest_arg1 ct)
- | \<^term>\<open>op \<le> :: real \<Rightarrow> _\<close> $ _ $ _ =>
+ | \<^term>\<open>(\<le>) :: real \<Rightarrow> _\<close> $ _ $ _ =>
lift_SOME (get_denom true) (get_denom true (Thm.dest_arg ct)) (Thm.dest_arg1 ct)
| _ $ _ => lift_SOME (get_denom b) (get_denom b (Thm.dest_fun ct)) (Thm.dest_arg ct)
| _ => NONE)
--- a/src/HOL/Library/Tree.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Tree.thy Wed Jan 10 15:25:09 2018 +0100
@@ -83,7 +83,7 @@
bst_wrt P l \<and> bst_wrt P r \<and> (\<forall>x\<in>set_tree l. P x a) \<and> (\<forall>x\<in>set_tree r. P a x)"
abbreviation bst :: "('a::linorder) tree \<Rightarrow> bool" where
-"bst \<equiv> bst_wrt (op <)"
+"bst \<equiv> bst_wrt (<)"
fun (in linorder) heap :: "'a tree \<Rightarrow> bool" where
"heap Leaf = True" |
@@ -440,15 +440,15 @@
lemma bst_wrt_mono: "(\<And>x y. P x y \<Longrightarrow> Q x y) \<Longrightarrow> bst_wrt P t \<Longrightarrow> bst_wrt Q t"
by (induction t) (auto)
-lemma bst_wrt_le_if_bst: "bst t \<Longrightarrow> bst_wrt (op \<le>) t"
+lemma bst_wrt_le_if_bst: "bst t \<Longrightarrow> bst_wrt (\<le>) t"
using bst_wrt_mono less_imp_le by blast
-lemma bst_wrt_le_iff_sorted: "bst_wrt (op \<le>) t \<longleftrightarrow> sorted (inorder t)"
+lemma bst_wrt_le_iff_sorted: "bst_wrt (\<le>) t \<longleftrightarrow> sorted (inorder t)"
apply (induction t)
apply(simp)
by (fastforce simp: sorted_append sorted_Cons intro: less_imp_le less_trans)
-lemma bst_iff_sorted_wrt_less: "bst t \<longleftrightarrow> sorted_wrt (op <) (inorder t)"
+lemma bst_iff_sorted_wrt_less: "bst t \<longleftrightarrow> sorted_wrt (<) (inorder t)"
apply (induction t)
apply simp
apply (fastforce simp: sorted_wrt_Cons sorted_wrt_append)
--- a/src/HOL/Library/Tree_Real.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Tree_Real.thy Wed Jan 10 15:25:09 2018 +0100
@@ -114,4 +114,4 @@
thus ?case by(simp add: balanced_Node_if_wbal2)
qed
-end
\ No newline at end of file
+end
--- a/src/HOL/Library/Uprod.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/Uprod.thy Wed Jan 10 15:25:09 2018 +0100
@@ -56,7 +56,7 @@
lemma uprod_split_asm: "P (case_uprod f x) \<longleftrightarrow> \<not> (\<exists>a b. x = Upair a b \<and> \<not> P (apply_commute f a b))"
by transfer auto
-lift_definition not_equal :: "('a, bool) commute" is "op \<noteq>" by auto
+lift_definition not_equal :: "('a, bool) commute" is "(\<noteq>)" by auto
lemma apply_not_equal [simp]: "apply_commute not_equal x y \<longleftrightarrow> x \<noteq> y"
by transfer simp
@@ -93,7 +93,7 @@
by transfer simp
private lemma rel_uprod_transfer':
- "((A ===> B ===> op =) ===> rel_prod A A ===> rel_prod B B ===> op =)
+ "((A ===> B ===> (=)) ===> rel_prod A A ===> rel_prod B B ===> (=))
(\<lambda>R (a, b) (c, d). R a c \<and> R b d \<or> R a d \<and> R b c) (\<lambda>R (a, b) (c, d). R a c \<and> R b d \<or> R a d \<and> R b c)"
by transfer_prover
@@ -125,7 +125,7 @@
unfolding fun_eq_iff by transfer auto
show "map_uprod f x = map_uprod g x" if "\<And>z. z \<in> set_uprod x \<Longrightarrow> f z = g z"
for f :: "'a \<Rightarrow> 'b" and g x using that by transfer auto
- show "set_uprod \<circ> map_uprod f = op ` f \<circ> set_uprod" for f :: "'a \<Rightarrow> 'b" by transfer auto
+ show "set_uprod \<circ> map_uprod f = (`) f \<circ> set_uprod" for f :: "'a \<Rightarrow> 'b" by transfer auto
show "card_order natLeq" by(rule natLeq_card_order)
show "BNF_Cardinal_Arithmetic.cinfinite natLeq" by(rule natLeq_cinfinite)
show "ordLeq3 (card_of (set_uprod x)) natLeq" for x :: "'a uprod"
@@ -142,7 +142,7 @@
instantiation uprod :: (equal) equal begin
definition equal_uprod :: "'a uprod \<Rightarrow> 'a uprod \<Rightarrow> bool"
-where "equal_uprod = op ="
+where "equal_uprod = (=)"
lemma equal_uprod_code [code]:
"HOL.equal (Upair x y) (Upair z u) \<longleftrightarrow> x = z \<and> y = u \<or> x = u \<and> y = z"
--- a/src/HOL/Library/conditional_parametricity.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/conditional_parametricity.ML Wed Jan 10 15:25:09 2018 +0100
@@ -390,7 +390,7 @@
Const (@{const_name is_equality}, Term.fastype_of t --> HOLogic.boolT) $ t;
val is_equality_lemma =
- @{lemma "(!!R. is_equality R ==> PROP (P R)) == PROP (P (op =))"
+ @{lemma "(!!R. is_equality R ==> PROP (P R)) == PROP (P (=))"
by (unfold is_equality_def, rule, drule meta_spec,
erule meta_mp, rule HOL.refl, simp)};
@@ -398,7 +398,7 @@
let
val prop = Thm.prop_of thm
val (t, mk_prop') = dest prop
- (* Only consider "op =" at non-base types *)
+ (* Only consider "(=)" at non-base types *)
fun is_eq (Const (@{const_name HOL.eq}, Type ("fun", [T, _]))) =
(case T of Type (_, []) => false | _ => true)
| is_eq _ = false
@@ -516,4 +516,4 @@
Outer_Syntax.local_theory @{command_keyword parametric_constant} "proves parametricity"
((Parse_Spec.opt_thm_name ":" -- Parse.thm) >> parametric_constant_cmd);
-end;
\ No newline at end of file
+end;
--- a/src/HOL/Library/positivstellensatz.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/positivstellensatz.ML Wed Jan 10 15:25:09 2018 +0100
@@ -290,7 +290,7 @@
val (a, b) = Rat.dest x
in
if b = 1 then Numeral.mk_cnumber \<^ctyp>\<open>real\<close> a
- else Thm.apply (Thm.apply \<^cterm>\<open>op / :: real \<Rightarrow> _\<close>
+ else Thm.apply (Thm.apply \<^cterm>\<open>(/) :: real \<Rightarrow> _\<close>
(Numeral.mk_cnumber \<^ctyp>\<open>real\<close> a))
(Numeral.mk_cnumber \<^ctyp>\<open>real\<close> b)
end;
@@ -324,7 +324,7 @@
(* Map back polynomials to HOL. *)
-fun cterm_of_varpow x k = if k = 1 then x else Thm.apply (Thm.apply \<^cterm>\<open>op ^ :: real \<Rightarrow> _\<close> x)
+fun cterm_of_varpow x k = if k = 1 then x else Thm.apply (Thm.apply \<^cterm>\<open>(^) :: real \<Rightarrow> _\<close> x)
(Numeral.mk_cnumber \<^ctyp>\<open>nat\<close> k)
fun cterm_of_monomial m =
@@ -333,13 +333,13 @@
let
val m' = FuncUtil.dest_monomial m
val vps = fold_rev (fn (x,k) => cons (cterm_of_varpow x k)) m' []
- in foldr1 (fn (s, t) => Thm.apply (Thm.apply \<^cterm>\<open>op * :: real \<Rightarrow> _\<close> s) t) vps
+ in foldr1 (fn (s, t) => Thm.apply (Thm.apply \<^cterm>\<open>( * ) :: real \<Rightarrow> _\<close> s) t) vps
end
fun cterm_of_cmonomial (m,c) =
if FuncUtil.Ctermfunc.is_empty m then cterm_of_rat c
else if c = @1 then cterm_of_monomial m
- else Thm.apply (Thm.apply \<^cterm>\<open>op *::real \<Rightarrow> _\<close> (cterm_of_rat c)) (cterm_of_monomial m);
+ else Thm.apply (Thm.apply \<^cterm>\<open>( * )::real \<Rightarrow> _\<close> (cterm_of_rat c)) (cterm_of_monomial m);
fun cterm_of_poly p =
if FuncUtil.Monomialfunc.is_empty p then \<^cterm>\<open>0::real\<close>
@@ -347,7 +347,7 @@
let
val cms = map cterm_of_cmonomial
(sort (prod_ord FuncUtil.monomial_order (K EQUAL)) (FuncUtil.Monomialfunc.dest p))
- in foldr1 (fn (t1, t2) => Thm.apply(Thm.apply \<^cterm>\<open>op + :: real \<Rightarrow> _\<close> t1) t2) cms
+ in foldr1 (fn (t1, t2) => Thm.apply(Thm.apply \<^cterm>\<open>(+) :: real \<Rightarrow> _\<close> t1) t2) cms
end;
(* A general real arithmetic prover *)
@@ -370,8 +370,8 @@
fun eqT_elim th = Thm.equal_elim (Thm.symmetric th) @{thm TrueI}
fun oprconv cv ct =
let val g = Thm.dest_fun2 ct
- in if g aconvc \<^cterm>\<open>(op \<le>) :: real \<Rightarrow> _\<close>
- orelse g aconvc \<^cterm>\<open>(op <) :: real \<Rightarrow> _\<close>
+ in if g aconvc \<^cterm>\<open>((\<le>)) :: real \<Rightarrow> _\<close>
+ orelse g aconvc \<^cterm>\<open>((<)) :: real \<Rightarrow> _\<close>
then arg_conv cv ct else arg1_conv cv ct
end
@@ -406,13 +406,13 @@
| Axiom_le n => nth les n
| Axiom_lt n => nth lts n
| Rational_eq x => eqT_elim(numeric_eq_conv(Thm.apply \<^cterm>\<open>Trueprop\<close>
- (Thm.apply (Thm.apply \<^cterm>\<open>(op =)::real \<Rightarrow> _\<close> (mk_numeric x))
+ (Thm.apply (Thm.apply \<^cterm>\<open>((=))::real \<Rightarrow> _\<close> (mk_numeric x))
\<^cterm>\<open>0::real\<close>)))
| Rational_le x => eqT_elim(numeric_ge_conv(Thm.apply \<^cterm>\<open>Trueprop\<close>
- (Thm.apply (Thm.apply \<^cterm>\<open>(op \<le>)::real \<Rightarrow> _\<close>
+ (Thm.apply (Thm.apply \<^cterm>\<open>((\<le>))::real \<Rightarrow> _\<close>
\<^cterm>\<open>0::real\<close>) (mk_numeric x))))
| Rational_lt x => eqT_elim(numeric_gt_conv(Thm.apply \<^cterm>\<open>Trueprop\<close>
- (Thm.apply (Thm.apply \<^cterm>\<open>(op <)::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>)
+ (Thm.apply (Thm.apply \<^cterm>\<open>((<))::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>)
(mk_numeric x))))
| Square pt => square_rule (cterm_of_poly pt)
| Eqmul(pt,p) => emul_rule (cterm_of_poly pt) (translate p)
@@ -428,9 +428,9 @@
val concl = Thm.dest_arg o Thm.cprop_of
fun is_binop opr ct = (Thm.dest_fun2 ct aconvc opr handle CTERM _ => false)
- val is_req = is_binop \<^cterm>\<open>(op =):: real \<Rightarrow> _\<close>
- val is_ge = is_binop \<^cterm>\<open>(op \<le>):: real \<Rightarrow> _\<close>
- val is_gt = is_binop \<^cterm>\<open>(op <):: real \<Rightarrow> _\<close>
+ val is_req = is_binop \<^cterm>\<open>((=)):: real \<Rightarrow> _\<close>
+ val is_ge = is_binop \<^cterm>\<open>((\<le>)):: real \<Rightarrow> _\<close>
+ val is_gt = is_binop \<^cterm>\<open>((<)):: real \<Rightarrow> _\<close>
val is_conj = is_binop \<^cterm>\<open>HOL.conj\<close>
val is_disj = is_binop \<^cterm>\<open>HOL.disj\<close>
fun conj_pair th = (th RS @{thm conjunct1}, th RS @{thm conjunct2})
@@ -476,7 +476,7 @@
fun dest_binary b ct =
if is_binop b ct then Thm.dest_binop ct
else raise CTERM ("dest_binary",[b,ct])
- val dest_eq = dest_binary \<^cterm>\<open>(op =) :: real \<Rightarrow> _\<close>
+ val dest_eq = dest_binary \<^cterm>\<open>((=)) :: real \<Rightarrow> _\<close>
val neq_th = nth pth 5
fun real_not_eq_conv ct =
let
@@ -486,8 +486,8 @@
val th_x = Drule.arg_cong_rule \<^cterm>\<open>uminus :: real \<Rightarrow> _\<close> th_p
val th_n = fconv_rule (arg_conv poly_neg_conv) th_x
val th' = Drule.binop_cong_rule \<^cterm>\<open>HOL.disj\<close>
- (Drule.arg_cong_rule (Thm.apply \<^cterm>\<open>(op <)::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>) th_p)
- (Drule.arg_cong_rule (Thm.apply \<^cterm>\<open>(op <)::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>) th_n)
+ (Drule.arg_cong_rule (Thm.apply \<^cterm>\<open>((<))::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>) th_p)
+ (Drule.arg_cong_rule (Thm.apply \<^cterm>\<open>((<))::real \<Rightarrow> _\<close> \<^cterm>\<open>0::real\<close>) th_n)
in Thm.transitive th th'
end
fun equal_implies_1_rule PQ =
@@ -683,9 +683,9 @@
else
let val (opr,l) = Thm.dest_comb lop
in
- if opr aconvc \<^cterm>\<open>op + :: real \<Rightarrow> _\<close>
+ if opr aconvc \<^cterm>\<open>(+) :: real \<Rightarrow> _\<close>
then linear_add (lin_of_hol l) (lin_of_hol r)
- else if opr aconvc \<^cterm>\<open>op * :: real \<Rightarrow> _\<close>
+ else if opr aconvc \<^cterm>\<open>( * ) :: real \<Rightarrow> _\<close>
andalso is_ratconst l then FuncUtil.Ctermfunc.onefunc (r, dest_ratconst l)
else FuncUtil.Ctermfunc.onefunc (ct, @1)
end
--- a/src/HOL/Library/refute.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Library/refute.ML Wed Jan 10 15:25:09 2018 +0100
@@ -344,7 +344,7 @@
val maxtime = read_int (allparams, "maxtime")
val satsolver = read_string (allparams, "satsolver")
val no_assms = read_bool (allparams, "no_assms")
- val expect = the_default "" (AList.lookup (op =) allparams "expect")
+ val expect = the_default "" (AList.lookup (=) allparams "expect")
(* all remaining parameters of the form "string=int" are collected in *)
(* 'sizes' *)
(* TODO: it is currently not possible to specify a size for a type *)
@@ -1053,7 +1053,7 @@
val fm_ax = Prop_Logic.all (map toTrue (tl intrs))
val fm = Prop_Logic.all [#wellformed args, fm_ax, fm_u]
val _ =
- (if member (op =) ["cdclite"] satsolver andalso Context_Position.is_visible ctxt then
+ (if member (=) ["cdclite"] satsolver andalso Context_Position.is_visible ctxt then
warning ("Using SAT solver " ^ quote satsolver ^
"; for better performance, consider installing an \
\external solver.")
--- a/src/HOL/Lifting.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Lifting.thy Wed Jan 10 15:25:09 2018 +0100
@@ -78,7 +78,7 @@
using a unfolding Quotient_def
by blast
-lemma Quotient_rep_abs_eq: "R t t \<Longrightarrow> R \<le> op= \<Longrightarrow> Rep (Abs t) = t"
+lemma Quotient_rep_abs_eq: "R t t \<Longrightarrow> R \<le> (=) \<Longrightarrow> Rep (Abs t) = t"
using a unfolding Quotient_def
by blast
@@ -118,7 +118,7 @@
end
-lemma identity_quotient: "Quotient (op =) id id (op =)"
+lemma identity_quotient: "Quotient (=) id id (=)"
unfolding Quotient_def by simp
text \<open>TODO: Use one of these alternatives as the real definition.\<close>
@@ -217,7 +217,7 @@
lemma UNIV_typedef_to_Quotient:
assumes "type_definition Rep Abs UNIV"
and T_def: "T \<equiv> (\<lambda>x y. x = Rep y)"
- shows "Quotient (op =) Abs Rep T"
+ shows "Quotient (=) Abs Rep T"
proof -
interpret type_definition Rep Abs UNIV by fact
from Abs_inject Rep_inverse Abs_inverse T_def show ?thesis
@@ -228,7 +228,7 @@
fixes Abs :: "'a \<Rightarrow> 'b"
and Rep :: "'b \<Rightarrow> 'a"
assumes "type_definition Rep Abs (UNIV::'a set)"
- shows "equivp (op= ::'a\<Rightarrow>'a\<Rightarrow>bool)"
+ shows "equivp ((=) ::'a\<Rightarrow>'a\<Rightarrow>bool)"
by (rule identity_equivp)
lemma typedef_to_Quotient:
@@ -284,7 +284,7 @@
lemma Quotient_right_total: "right_total T"
using 1 unfolding Quotient_alt_def right_total_def by metis
-lemma Quotient_rel_eq_transfer: "(T ===> T ===> op =) R (op =)"
+lemma Quotient_rel_eq_transfer: "(T ===> T ===> (=)) R (=)"
using 1 unfolding Quotient_alt_def rel_fun_def by simp
lemma Quotient_abs_induct:
@@ -306,7 +306,7 @@
lemma Quotient_bi_total: "bi_total T"
using 1 2 unfolding Quotient_alt_def bi_total_def reflp_def by auto
-lemma Quotient_id_abs_transfer: "(op = ===> T) (\<lambda>x. x) Abs"
+lemma Quotient_id_abs_transfer: "((=) ===> T) (\<lambda>x. x) Abs"
using 1 2 unfolding Quotient_alt_def reflp_def rel_fun_def by simp
lemma Quotient_total_abs_induct: "(\<And>y. P (Abs y)) \<Longrightarrow> P x"
@@ -343,7 +343,7 @@
using T_def type Quotient_right_total typedef_to_Quotient
by blast
-lemma typedef_rep_transfer: "(T ===> op =) (\<lambda>x. x) Rep"
+lemma typedef_rep_transfer: "(T ===> (=)) (\<lambda>x. x) Rep"
unfolding rel_fun_def T_def by simp
end
@@ -366,21 +366,21 @@
lemma Quotient_composition_ge_eq:
assumes "left_total T"
- assumes "R \<ge> op="
- shows "(T OO R OO T\<inverse>\<inverse>) \<ge> op="
+ assumes "R \<ge> (=)"
+ shows "(T OO R OO T\<inverse>\<inverse>) \<ge> (=)"
using assms unfolding left_total_def by fast
lemma Quotient_composition_le_eq:
assumes "left_unique T"
- assumes "R \<le> op="
- shows "(T OO R OO T\<inverse>\<inverse>) \<le> op="
+ assumes "R \<le> (=)"
+ shows "(T OO R OO T\<inverse>\<inverse>) \<le> (=)"
using assms unfolding left_unique_def by blast
lemma eq_onp_le_eq:
- "eq_onp P \<le> op=" unfolding eq_onp_def by blast
+ "eq_onp P \<le> (=)" unfolding eq_onp_def by blast
lemma reflp_ge_eq:
- "reflp R \<Longrightarrow> R \<ge> op=" unfolding reflp_def by blast
+ "reflp R \<Longrightarrow> R \<ge> (=)" unfolding reflp_def by blast
text \<open>Proving a parametrized correspondence relation\<close>
@@ -391,19 +391,19 @@
"NEG A B \<equiv> B \<le> A"
lemma pos_OO_eq:
- shows "POS (A OO op=) A"
+ shows "POS (A OO (=)) A"
unfolding POS_def OO_def by blast
lemma pos_eq_OO:
- shows "POS (op= OO A) A"
+ shows "POS ((=) OO A) A"
unfolding POS_def OO_def by blast
lemma neg_OO_eq:
- shows "NEG (A OO op=) A"
+ shows "NEG (A OO (=)) A"
unfolding NEG_def OO_def by auto
lemma neg_eq_OO:
- shows "NEG (op= OO A) A"
+ shows "NEG ((=) OO A) A"
unfolding NEG_def OO_def by blast
lemma POS_trans:
@@ -487,7 +487,7 @@
lemma composed_equiv_rel_eq_onp:
assumes "left_unique R"
- assumes "(R ===> op=) P P'"
+ assumes "(R ===> (=)) P P'"
assumes "Domainp R = P''"
shows "(R OO eq_onp P' OO R\<inverse>\<inverse>) = eq_onp (inf P'' P)"
using assms unfolding OO_def conversep_iff Domainp_iff[abs_def] left_unique_def rel_fun_def eq_onp_def
@@ -496,14 +496,14 @@
lemma composed_equiv_rel_eq_eq_onp:
assumes "left_unique R"
assumes "Domainp R = P"
- shows "(R OO op= OO R\<inverse>\<inverse>) = eq_onp P"
+ shows "(R OO (=) OO R\<inverse>\<inverse>) = eq_onp P"
using assms unfolding OO_def conversep_iff Domainp_iff[abs_def] left_unique_def eq_onp_def
fun_eq_iff is_equality_def by metis
lemma pcr_Domainp_par_left_total:
assumes "Domainp B = P"
assumes "left_total A"
- assumes "(A ===> op=) P' P"
+ assumes "(A ===> (=)) P' P"
shows "Domainp (A OO B) = P'"
using assms
unfolding Domainp_iff[abs_def] OO_def bi_unique_def left_total_def rel_fun_def
@@ -512,7 +512,7 @@
lemma pcr_Domainp_par:
assumes "Domainp B = P2"
assumes "Domainp A = P1"
-assumes "(A ===> op=) P2' P2"
+assumes "(A ===> (=)) P2' P2"
shows "Domainp (A OO B) = (inf P1 P2')"
using assms unfolding rel_fun_def Domainp_iff[abs_def] OO_def
by (fast intro: fun_eq_iff)
--- a/src/HOL/Lifting_Set.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Lifting_Set.thy Wed Jan 10 15:25:09 2018 +0100
@@ -17,7 +17,7 @@
lemma rel_set_conversep [simp]: "rel_set A\<inverse>\<inverse> = (rel_set A)\<inverse>\<inverse>"
unfolding rel_set_def by auto
-lemma rel_set_eq [relator_eq]: "rel_set (op =) = (op =)"
+lemma rel_set_eq [relator_eq]: "rel_set (=) = (=)"
unfolding rel_set_def fun_eq_iff by auto
lemma rel_set_mono[relator_mono]:
@@ -139,11 +139,11 @@
by transfer_prover
lemma Ball_transfer [transfer_rule]:
- "(rel_set A ===> (A ===> op =) ===> op =) Ball Ball"
+ "(rel_set A ===> (A ===> (=)) ===> (=)) Ball Ball"
unfolding rel_set_def rel_fun_def by fast
lemma Bex_transfer [transfer_rule]:
- "(rel_set A ===> (A ===> op =) ===> op =) Bex Bex"
+ "(rel_set A ===> (A ===> (=)) ===> (=)) Bex Bex"
unfolding rel_set_def rel_fun_def by fast
lemma Pow_transfer [transfer_rule]:
@@ -165,7 +165,7 @@
done
lemma rel_set_transfer [transfer_rule]:
- "((A ===> B ===> op =) ===> rel_set A ===> rel_set B ===> op =) rel_set rel_set"
+ "((A ===> B ===> (=)) ===> rel_set A ===> rel_set B ===> (=)) rel_set rel_set"
unfolding rel_fun_def rel_set_def by fast
lemma bind_transfer [transfer_rule]:
@@ -185,17 +185,17 @@
lemma member_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(A ===> rel_set A ===> op =) (op \<in>) (op \<in>)"
+ shows "(A ===> rel_set A ===> (=)) (\<in>) (\<in>)"
using assms unfolding rel_fun_def rel_set_def bi_unique_def by fast
lemma right_total_Collect_transfer[transfer_rule]:
assumes "right_total A"
- shows "((A ===> op =) ===> rel_set A) (\<lambda>P. Collect (\<lambda>x. P x \<and> Domainp A x)) Collect"
+ shows "((A ===> (=)) ===> rel_set A) (\<lambda>P. Collect (\<lambda>x. P x \<and> Domainp A x)) Collect"
using assms unfolding right_total_def rel_set_def rel_fun_def Domainp_iff by fast
lemma Collect_transfer [transfer_rule]:
assumes "bi_total A"
- shows "((A ===> op =) ===> rel_set A) Collect Collect"
+ shows "((A ===> (=)) ===> rel_set A) Collect Collect"
using assms unfolding rel_fun_def rel_set_def bi_total_def by fast
lemma inter_transfer [transfer_rule]:
@@ -205,14 +205,14 @@
lemma Diff_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(rel_set A ===> rel_set A ===> rel_set A) (op -) (op -)"
+ shows "(rel_set A ===> rel_set A ===> rel_set A) (-) (-)"
using assms unfolding rel_fun_def rel_set_def bi_unique_def
unfolding Ball_def Bex_def Diff_eq
by (safe, simp, metis, simp, metis)
lemma subset_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(rel_set A ===> rel_set A ===> op =) (op \<subseteq>) (op \<subseteq>)"
+ shows "(rel_set A ===> rel_set A ===> (=)) (\<subseteq>) (\<subseteq>)"
unfolding subset_eq [abs_def] by transfer_prover
declare right_total_UNIV_transfer[transfer_rule]
@@ -246,16 +246,16 @@
lemma filter_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "((A ===> op=) ===> rel_set A ===> rel_set A) Set.filter Set.filter"
+ shows "((A ===> (=)) ===> rel_set A ===> rel_set A) Set.filter Set.filter"
unfolding Set.filter_def[abs_def] rel_fun_def rel_set_def by blast
lemma finite_transfer [transfer_rule]:
- "bi_unique A \<Longrightarrow> (rel_set A ===> op =) finite finite"
+ "bi_unique A \<Longrightarrow> (rel_set A ===> (=)) finite finite"
by (rule rel_funI, erule (1) bi_unique_rel_set_lemma)
(auto dest: finite_imageD)
lemma card_transfer [transfer_rule]:
- "bi_unique A \<Longrightarrow> (rel_set A ===> op =) card card"
+ "bi_unique A \<Longrightarrow> (rel_set A ===> (=)) card card"
by (rule rel_funI, erule (1) bi_unique_rel_set_lemma)
(simp add: card_image)
@@ -266,7 +266,7 @@
lemma Image_parametric [transfer_rule]:
assumes "bi_unique A"
- shows "(rel_set (rel_prod A B) ===> rel_set A ===> rel_set B) op `` op ``"
+ shows "(rel_set (rel_prod A B) ===> rel_set A ===> rel_set B) (``) (``)"
by (intro rel_funI rel_setI)
(force dest: rel_setD1 bi_uniqueDr[OF assms], force dest: rel_setD2 bi_uniqueDl[OF assms])
@@ -275,10 +275,10 @@
lemma (in comm_monoid_set) F_parametric [transfer_rule]:
fixes A :: "'b \<Rightarrow> 'c \<Rightarrow> bool"
assumes "bi_unique A"
- shows "rel_fun (rel_fun A (op =)) (rel_fun (rel_set A) (op =)) F F"
+ shows "rel_fun (rel_fun A (=)) (rel_fun (rel_set A) (=)) F F"
proof (rule rel_funI)+
fix f :: "'b \<Rightarrow> 'a" and g S T
- assume "rel_fun A (op =) f g" "rel_set A S T"
+ assume "rel_fun A (=) f g" "rel_set A S T"
with \<open>bi_unique A\<close> obtain i where "bij_betw i S T" "\<And>x. x \<in> S \<Longrightarrow> f x = g (i x)"
by (auto elim: bi_unique_rel_set_lemma simp: rel_fun_def bij_betw_def)
then show "F f S = F g T"
--- a/src/HOL/Limits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Limits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -712,7 +712,7 @@
shows "continuous_on s f \<Longrightarrow> continuous_on s g \<Longrightarrow> continuous_on s (\<lambda>x. f x - g x)"
unfolding continuous_on_def by (auto intro: tendsto_diff)
-lemma continuous_on_op_minus: "continuous_on (s::'a::topological_group_add set) (op - x)"
+lemma continuous_on_op_minus: "continuous_on (s::'a::topological_group_add set) ((-) x)"
by (rule continuous_intros | simp)+
instance real_normed_vector < topological_ab_group_add
--- a/src/HOL/List.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/List.thy Wed Jan 10 15:25:09 2018 +0100
@@ -266,7 +266,7 @@
function shuffle where
"shuffle [] ys = {ys}"
| "shuffle xs [] = {xs}"
-| "shuffle (x # xs) (y # ys) = op # x ` shuffle xs (y # ys) \<union> op # y ` shuffle (x # xs) ys"
+| "shuffle (x # xs) (y # ys) = (#) x ` shuffle xs (y # ys) \<union> (#) y ` shuffle (x # xs) ys"
by pat_completeness simp_all
termination by lexicographic_order
@@ -815,7 +815,7 @@
lemma inj_split_Cons: "inj_on (\<lambda>(xs, n). n#xs) X"
by (auto intro!: inj_onI)
-lemma inj_on_Cons1 [simp]: "inj_on (op # x) A"
+lemma inj_on_Cons1 [simp]: "inj_on ((#) x) A"
by(simp add: inj_on_def)
subsubsection \<open>@{const length}\<close>
@@ -937,8 +937,8 @@
(K (simp_tac (put_simpset ss ctxt) 1));
in SOME (thm RS @{thm neq_if_length_neq}) end
in
- if m < n andalso submultiset (op aconv) (ls,rs) orelse
- n < m andalso submultiset (op aconv) (rs,ls)
+ if m < n andalso submultiset (aconv) (ls,rs) orelse
+ n < m andalso submultiset (aconv) (rs,ls)
then prove_neq() else NONE
end;
in K list_neq end;
@@ -2790,7 +2790,7 @@
done
lemma list_all2_eq:
- "xs = ys \<longleftrightarrow> list_all2 (op =) xs ys"
+ "xs = ys \<longleftrightarrow> list_all2 (=) xs ys"
by (induct xs ys rule: list_induct2') auto
lemma list_eq_iff_zip_eq:
@@ -2802,14 +2802,14 @@
lemma zip_assoc:
"zip xs (zip ys zs) = map (\<lambda>((x, y), z). (x, y, z)) (zip (zip xs ys) zs)"
-by(rule list_all2_all_nthI[where P="op =", unfolded list.rel_eq]) simp_all
+by(rule list_all2_all_nthI[where P="(=)", unfolded list.rel_eq]) simp_all
lemma zip_commute: "zip xs ys = map (\<lambda>(x, y). (y, x)) (zip ys xs)"
-by(rule list_all2_all_nthI[where P="op =", unfolded list.rel_eq]) simp_all
+by(rule list_all2_all_nthI[where P="(=)", unfolded list.rel_eq]) simp_all
lemma zip_left_commute:
"zip xs (zip ys zs) = map (\<lambda>(y, (x, z)). (x, y, z)) (zip ys (zip xs zs))"
-by(rule list_all2_all_nthI[where P="op =", unfolded list.rel_eq]) simp_all
+by(rule list_all2_all_nthI[where P="(=)", unfolded list.rel_eq]) simp_all
lemma zip_replicate2: "zip xs (replicate n y) = map (\<lambda>x. (x, y)) (take n xs)"
by(subst zip_commute)(simp add: zip_replicate1)
@@ -3409,7 +3409,7 @@
lemma bij_betw_nth:
assumes "distinct xs" "A = {..<length xs}" "B = set xs"
- shows "bij_betw (op ! xs) A B"
+ shows "bij_betw ((!) xs) A B"
using assms unfolding bij_betw_def
by (auto intro!: inj_on_nth simp: set_conv_nth)
@@ -3609,9 +3609,9 @@
have id: "{0 ..< length (?x1 zs)} = insert 0 (?Succ ` {0 ..< length zs})"
using zsne by (cases ?cond, auto)
{ fix i assume "i < Suc (length xs)"
- hence "Suc i \<in> {0..<Suc (Suc (length xs))} \<inter> Collect (op < 0)" by auto
+ hence "Suc i \<in> {0..<Suc (Suc (length xs))} \<inter> Collect ((<) 0)" by auto
from imageI[OF this, of "\<lambda>i. ?Succ (f (i - Suc 0))"]
- have "?Succ (f i) \<in> (\<lambda>i. ?Succ (f (i - Suc 0))) ` ({0..<Suc (Suc (length xs))} \<inter> Collect (op < 0))" by auto
+ have "?Succ (f i) \<in> (\<lambda>i. ?Succ (f (i - Suc 0))) ` ({0..<Suc (Suc (length xs))} \<inter> Collect ((<) 0))" by auto
}
then show "?f ` {0 ..< length ?xs} = {0 ..< length (?x1 zs)}"
unfolding id f_xs_zs[symmetric] by auto
@@ -4608,16 +4608,16 @@
lemma shuffle_commutes: "shuffle xs ys = shuffle ys xs"
by (induction xs ys rule: shuffle.induct) (simp_all add: Un_commute)
-lemma Cons_shuffle_subset1: "op # x ` shuffle xs ys \<subseteq> shuffle (x # xs) ys"
+lemma Cons_shuffle_subset1: "(#) x ` shuffle xs ys \<subseteq> shuffle (x # xs) ys"
by (cases ys) auto
-lemma Cons_shuffle_subset2: "op # y ` shuffle xs ys \<subseteq> shuffle xs (y # ys)"
+lemma Cons_shuffle_subset2: "(#) y ` shuffle xs ys \<subseteq> shuffle xs (y # ys)"
by (cases xs) auto
lemma filter_shuffle:
"filter P ` shuffle xs ys = shuffle (filter P xs) (filter P ys)"
proof -
- have *: "filter P ` op # x ` A = (if P x then op # x ` filter P ` A else filter P ` A)" for x A
+ have *: "filter P ` (#) x ` A = (if P x then (#) x ` filter P ` A else filter P ` A)" for x A
by (auto simp: image_image)
show ?thesis
by (induction xs ys rule: shuffle.induct)
@@ -4661,14 +4661,14 @@
show ?case
proof (cases "P x")
case True
- hence "x # xs \<in> op # x ` shuffle (filter P xs) (filter (\<lambda>x. \<not>P x) xs)"
+ hence "x # xs \<in> (#) x ` shuffle (filter P xs) (filter (\<lambda>x. \<not>P x) xs)"
by (intro imageI Cons.IH)
also have "\<dots> \<subseteq> shuffle (filter P (x # xs)) (filter (\<lambda>x. \<not>P x) (x # xs))"
by (simp add: True Cons_shuffle_subset1)
finally show ?thesis .
next
case False
- hence "x # xs \<in> op # x ` shuffle (filter P xs) (filter (\<lambda>x. \<not>P x) xs)"
+ hence "x # xs \<in> (#) x ` shuffle (filter P xs) (filter (\<lambda>x. \<not>P x) xs)"
by (intro imageI Cons.IH)
also have "\<dots> \<subseteq> shuffle (filter P (x # xs)) (filter (\<lambda>x. \<not>P x) (x # xs))"
by (simp add: False Cons_shuffle_subset2)
@@ -4945,13 +4945,13 @@
text \<open>Strictly Ascending Sequences of Natural Numbers\<close>
-lemma sorted_wrt_upt[simp]: "sorted_wrt (op <) [0..<n]"
+lemma sorted_wrt_upt[simp]: "sorted_wrt (<) [0..<n]"
by(induction n) (auto simp: sorted_wrt_append)
text \<open>Each element is greater or equal to its index:\<close>
lemma sorted_wrt_less_idx:
- "sorted_wrt (op <) ns \<Longrightarrow> i < length ns \<Longrightarrow> i \<le> ns!i"
+ "sorted_wrt (<) ns \<Longrightarrow> i < length ns \<Longrightarrow> i \<le> ns!i"
proof (induction ns arbitrary: i rule: rev_induct)
case Nil thus ?case by simp
next
@@ -4972,9 +4972,9 @@
apply simp
by simp (blast intro: order_trans)
-lemma sorted_iff_wrt: "sorted xs = sorted_wrt (op \<le>) xs"
+lemma sorted_iff_wrt: "sorted xs = sorted_wrt (\<le>) xs"
proof
- assume "sorted xs" thus "sorted_wrt (op \<le>) xs"
+ assume "sorted xs" thus "sorted_wrt (\<le>) xs"
proof (induct xs rule: sorted.induct)
case (Cons xs x) thus ?case by (cases xs) simp_all
qed simp
@@ -5267,17 +5267,17 @@
assumes "a \<in> set xs" and "sorted xs"
shows "insort a (remove1 a xs) = xs"
proof (rule insort_key_remove1)
- define n where "n = length (filter (op = a) xs) - 1"
+ define n where "n = length (filter ((=) a) xs) - 1"
from \<open>a \<in> set xs\<close> show "a \<in> set xs" .
from \<open>sorted xs\<close> show "sorted (map (\<lambda>x. x) xs)" by simp
- from \<open>a \<in> set xs\<close> have "a \<in> set (filter (op = a) xs)" by auto
- then have "set (filter (op = a) xs) \<noteq> {}" by auto
- then have "filter (op = a) xs \<noteq> []" by (auto simp only: set_empty)
- then have "length (filter (op = a) xs) > 0" by simp
- then have n: "Suc n = length (filter (op = a) xs)" by (simp add: n_def)
+ from \<open>a \<in> set xs\<close> have "a \<in> set (filter ((=) a) xs)" by auto
+ then have "set (filter ((=) a) xs) \<noteq> {}" by auto
+ then have "filter ((=) a) xs \<noteq> []" by (auto simp only: set_empty)
+ then have "length (filter ((=) a) xs) > 0" by simp
+ then have n: "Suc n = length (filter ((=) a) xs)" by (simp add: n_def)
moreover have "replicate (Suc n) a = a # replicate n a"
by simp
- ultimately show "hd (filter (op = a) xs) = a" by (simp add: replicate_length_filter)
+ ultimately show "hd (filter ((=) a) xs) = a" by (simp add: replicate_length_filter)
qed
lemma finite_sorted_distinct_unique:
@@ -7055,7 +7055,7 @@
subsubsection \<open>Use convenient predefined operations\<close>
code_printing
- constant "op @" \<rightharpoonup>
+ constant "(@)" \<rightharpoonup>
(SML) infixr 7 "@"
and (OCaml) infixr 6 "@"
and (Haskell) infixr 5 "++"
@@ -7229,7 +7229,7 @@
unfolding List.rev_def by transfer_prover
lemma filter_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> list_all2 A) filter filter"
+ "((A ===> (=)) ===> list_all2 A ===> list_all2 A) filter filter"
unfolding List.filter_def by transfer_prover
lemma fold_transfer [transfer_rule]:
@@ -7249,23 +7249,23 @@
unfolding List.concat_def by transfer_prover
lemma drop_transfer [transfer_rule]:
- "(op = ===> list_all2 A ===> list_all2 A) drop drop"
+ "((=) ===> list_all2 A ===> list_all2 A) drop drop"
unfolding List.drop_def by transfer_prover
lemma take_transfer [transfer_rule]:
- "(op = ===> list_all2 A ===> list_all2 A) take take"
+ "((=) ===> list_all2 A ===> list_all2 A) take take"
unfolding List.take_def by transfer_prover
lemma list_update_transfer [transfer_rule]:
- "(list_all2 A ===> op = ===> A ===> list_all2 A) list_update list_update"
+ "(list_all2 A ===> (=) ===> A ===> list_all2 A) list_update list_update"
unfolding list_update_def by transfer_prover
lemma takeWhile_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> list_all2 A) takeWhile takeWhile"
+ "((A ===> (=)) ===> list_all2 A ===> list_all2 A) takeWhile takeWhile"
unfolding takeWhile_def by transfer_prover
lemma dropWhile_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> list_all2 A) dropWhile dropWhile"
+ "((A ===> (=)) ===> list_all2 A ===> list_all2 A) dropWhile dropWhile"
unfolding dropWhile_def by transfer_prover
lemma zip_transfer [transfer_rule]:
@@ -7286,7 +7286,7 @@
unfolding List.insert_def [abs_def] by transfer_prover
lemma find_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> rel_option A) List.find List.find"
+ "((A ===> (=)) ===> list_all2 A ===> rel_option A) List.find List.find"
unfolding List.find_def by transfer_prover
lemma those_transfer [transfer_rule]:
@@ -7305,7 +7305,7 @@
lemma distinct_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> op =) distinct distinct"
+ shows "(list_all2 A ===> (=)) distinct distinct"
unfolding distinct_def by transfer_prover
lemma remdups_transfer [transfer_rule]:
@@ -7320,11 +7320,11 @@
qed (auto simp: remdups_adj_Cons assms[unfolded bi_unique_def] split: list.splits)
lemma replicate_transfer [transfer_rule]:
- "(op = ===> A ===> list_all2 A) replicate replicate"
+ "((=) ===> A ===> list_all2 A) replicate replicate"
unfolding replicate_def by transfer_prover
lemma length_transfer [transfer_rule]:
- "(list_all2 A ===> op =) length length"
+ "(list_all2 A ===> (=)) length length"
unfolding size_list_overloaded_def size_list_def by transfer_prover
lemma rotate1_transfer [transfer_rule]:
@@ -7332,11 +7332,11 @@
unfolding rotate1_def by transfer_prover
lemma rotate_transfer [transfer_rule]:
- "(op = ===> list_all2 A ===> list_all2 A) rotate rotate"
+ "((=) ===> list_all2 A ===> list_all2 A) rotate rotate"
unfolding rotate_def [abs_def] by transfer_prover
lemma nths_transfer [transfer_rule]:
- "(list_all2 A ===> rel_set (op =) ===> list_all2 A) nths nths"
+ "(list_all2 A ===> rel_set (=) ===> list_all2 A) nths nths"
unfolding nths_def [abs_def] by transfer_prover
lemma subseqs_transfer [transfer_rule]:
@@ -7344,7 +7344,7 @@
unfolding subseqs_def [abs_def] by transfer_prover
lemma partition_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> rel_prod (list_all2 A) (list_all2 A))
+ "((A ===> (=)) ===> list_all2 A ===> rel_prod (list_all2 A) (list_all2 A))
partition partition"
unfolding partition_def by transfer_prover
@@ -7371,15 +7371,15 @@
unfolding listset_def by transfer_prover
lemma null_transfer [transfer_rule]:
- "(list_all2 A ===> op =) List.null List.null"
+ "(list_all2 A ===> (=)) List.null List.null"
unfolding rel_fun_def List.null_def by auto
lemma list_all_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> op =) list_all list_all"
+ "((A ===> (=)) ===> list_all2 A ===> (=)) list_all list_all"
unfolding list_all_iff [abs_def] by transfer_prover
lemma list_ex_transfer [transfer_rule]:
- "((A ===> op =) ===> list_all2 A ===> op =) list_ex list_ex"
+ "((A ===> (=)) ===> list_all2 A ===> (=)) list_ex list_ex"
unfolding list_ex_iff [abs_def] by transfer_prover
lemma splice_transfer [transfer_rule]:
@@ -7403,8 +7403,8 @@
have [transfer_rule]: "rel_set (list_all2 A) (shuffle xs (y # ys)) (shuffle xs'' ys')" and
[transfer_rule]: "rel_set (list_all2 A) (shuffle (x # xs) ys) (shuffle xs' ys'')"
using "3.prems" by (auto intro!: "3.IH" simp: xs' ys')
- have "rel_set (list_all2 A) (op # x ` shuffle xs (y # ys) \<union> op # y ` shuffle (x # xs) ys)
- (op # x' ` shuffle xs'' ys' \<union> op # y' ` shuffle xs' ys'')" by transfer_prover
+ have "rel_set (list_all2 A) ((#) x ` shuffle xs (y # ys) \<union> (#) y ` shuffle (x # xs) ys)
+ ((#) x' ` shuffle xs'' ys' \<union> (#) y' ` shuffle xs' ys'')" by transfer_prover
thus ?case by (simp add: xs' ys')
qed (auto simp: rel_set_def)
qed
@@ -7416,12 +7416,12 @@
lemma monotone_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_total A"
- shows "((A ===> A ===> op =) ===> (B ===> B ===> op =) ===> (A ===> B) ===> op =) monotone monotone"
+ shows "((A ===> A ===> (=)) ===> (B ===> B ===> (=)) ===> (A ===> B) ===> (=)) monotone monotone"
unfolding monotone_def[abs_def] by transfer_prover
lemma fun_ord_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_total C"
- shows "((A ===> B ===> op =) ===> (C ===> A) ===> (C ===> B) ===> op =) fun_ord fun_ord"
+ shows "((A ===> B ===> (=)) ===> (C ===> A) ===> (C ===> B) ===> (=)) fun_ord fun_ord"
unfolding fun_ord_def[abs_def] by transfer_prover
lemma fun_lub_parametric [transfer_rule]:
--- a/src/HOL/Matrix_LP/Cplex_tools.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Matrix_LP/Cplex_tools.ML Wed Jan 10 15:25:09 2018 +0100
@@ -969,10 +969,10 @@
val header = readHeader ()
val result =
- case AList.lookup (op =) header "STATUS" of
+ case AList.lookup (=) header "STATUS" of
SOME "INFEASIBLE" => Infeasible
| SOME "UNBOUNDED" => Unbounded
- | SOME "OPTIMAL" => Optimal (the (AList.lookup (op =) header "OBJECTIVE"),
+ | SOME "OPTIMAL" => Optimal (the (AList.lookup (=) header "OBJECTIVE"),
(skip_until_sep ();
skip_until_sep ();
load_values ()))
@@ -1115,10 +1115,10 @@
val header = readHeader ()
val result =
- case AList.lookup (op =) header "STATUS" of
+ case AList.lookup (=) header "STATUS" of
SOME "INFEASIBLE" => Infeasible
| SOME "NONOPTIMAL" => Unbounded
- | SOME "OPTIMAL" => Optimal (the (AList.lookup (op =) header "OBJECTIVE"),
+ | SOME "OPTIMAL" => Optimal (the (AList.lookup (=) header "OBJECTIVE"),
(skip_paragraph ();
skip_paragraph ();
skip_paragraph ();
--- a/src/HOL/Matrix_LP/Matrix.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Matrix_LP/Matrix.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1457,7 +1457,7 @@
begin
definition
- plus_matrix_def: "A + B = combine_matrix (op +) A B"
+ plus_matrix_def: "A + B = combine_matrix (+) A B"
instance ..
@@ -1477,7 +1477,7 @@
begin
definition
- diff_matrix_def: "A - B = combine_matrix (op -) A B"
+ diff_matrix_def: "A - B = combine_matrix (-) A B"
instance ..
@@ -1487,7 +1487,7 @@
begin
definition
- times_matrix_def: "A * B = mult_matrix (op *) (op +) A B"
+ times_matrix_def: "A * B = mult_matrix (( * )) (+) A B"
instance ..
@@ -1623,7 +1623,7 @@
by (simp add: plus_matrix_def)
lemma Rep_matrix_mult: "Rep_matrix ((a::('a::semiring_0) matrix) * b) j i =
- foldseq (op +) (% k. (Rep_matrix a j k) * (Rep_matrix b k i)) (max (ncols a) (nrows b))"
+ foldseq (+) (% k. (Rep_matrix a j k) * (Rep_matrix b k i)) (max (ncols a) (nrows b))"
apply (simp add: times_matrix_def)
apply (simp add: Rep_mult_matrix)
done
@@ -1795,7 +1795,7 @@
by (simp add: move_matrix_ortho[of "A*B"] move_matrix_col_mult move_matrix_row_mult)
definition scalar_mult :: "('a::ring) \<Rightarrow> 'a matrix \<Rightarrow> 'a matrix" where
- "scalar_mult a m == apply_matrix (op * a) m"
+ "scalar_mult a m == apply_matrix (( * ) a) m"
lemma scalar_mult_zero[simp]: "scalar_mult y 0 = 0"
by (simp add: scalar_mult_def)
--- a/src/HOL/Metis_Examples/Abstraction.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Metis_Examples/Abstraction.thy Wed Jan 10 15:25:09 2018 +0100
@@ -12,10 +12,10 @@
begin
(* For Christoph Benzmüller *)
-lemma "x < 1 \<and> ((op =) = (op =)) \<Longrightarrow> ((op =) = (op =)) \<and> x < (2::nat)"
+lemma "x < 1 \<and> ((=) = (=)) \<Longrightarrow> ((=) = (=)) \<and> x < (2::nat)"
by (metis nat_1_add_1 trans_less_add2)
-lemma "(op = ) = (\<lambda>x y. y = x)"
+lemma "((=) ) = (\<lambda>x y. y = x)"
by metis
consts
--- a/src/HOL/Metis_Examples/Proxies.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Metis_Examples/Proxies.thy Wed Jan 10 15:25:09 2018 +0100
@@ -59,7 +59,7 @@
text \<open>Proxies for logical constants\<close>
-lemma "id (op =) x x"
+lemma "id (=) x x"
sledgehammer [type_enc = erased, expect = none] (id_apply)
sledgehammer [type_enc = poly_tags??, expect = some] (id_apply)
sledgehammer [type_enc = poly_tags, expect = some] (id_apply)
--- a/src/HOL/MicroJava/BV/BVExample.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/MicroJava/BV/BVExample.thy Wed Jan 10 15:25:09 2018 +0100
@@ -426,7 +426,7 @@
done
also have "\<And>f. (UN p:{..<size ss}. f p) = \<Union>(set (map f [0..<size ss]))" by auto
also note Sup_set_fold also note fold_map
- also have "op \<union> \<circ> (\<lambda>p. if \<not> stable r step ss p then {p} else {}) =
+ also have "(\<union>) \<circ> (\<lambda>p. if \<not> stable r step ss p then {p} else {}) =
(\<lambda>p A. if \<not>stable r step ss p then insert p A else A)"
by(auto simp add: fun_eq_iff)
finally show ?thesis .
--- a/src/HOL/MicroJava/BV/Typing_Framework_JVM.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/MicroJava/BV/Typing_Framework_JVM.thy Wed Jan 10 15:25:09 2018 +0100
@@ -182,7 +182,7 @@
by (induct n, auto)
lemma lesubstep_type_simple:
- "a <=[Product.le (op =) r] b \<Longrightarrow> a \<le>|r| b"
+ "a <=[Product.le (=) r] b \<Longrightarrow> a \<le>|r| b"
apply (unfold lesubstep_type_def)
apply clarify
apply (simp add: set_conv_nth)
--- a/src/HOL/MicroJava/DFA/Listn.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/MicroJava/DFA/Listn.thy Wed Jan 10 15:25:09 2018 +0100
@@ -35,7 +35,7 @@
primrec coalesce :: "'a err list \<Rightarrow> 'a list err" where
"coalesce [] = OK[]"
-| "coalesce (ex#exs) = Err.sup (op #) ex (coalesce exs)"
+| "coalesce (ex#exs) = Err.sup (#) ex (coalesce exs)"
definition sl :: "nat \<Rightarrow> 'a sl \<Rightarrow> 'a list sl" where
"sl n == %(A,r,f). (list n A, le r, map2 f)"
@@ -404,7 +404,7 @@
apply force
done
-lemma lem: "\<And>x xs. x +_(op #) xs = x#xs"
+lemma lem: "\<And>x xs. x +_(#) xs = x#xs"
by (simp add: plussub_def)
lemma coalesce_eq_OK1_D [rule_format]:
--- a/src/HOL/Mirabelle/Tools/mirabelle_quickcheck.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Mirabelle/Tools/mirabelle_quickcheck.ML Wed Jan 10 15:25:09 2018 +0100
@@ -12,7 +12,7 @@
fun run args id ({pre, timeout, log, ...}: Mirabelle.run_args) =
let
- val has_valid_key = member (op =) ["iterations", "size", "generator"] o fst
+ val has_valid_key = member (=) ["iterations", "size", "generator"] o fst
val quickcheck = Quickcheck.quickcheck (map (apsnd single) (filter has_valid_key args)) 1
in
(case Timeout.apply timeout quickcheck pre of
--- a/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML Wed Jan 10 15:25:09 2018 +0100
@@ -472,7 +472,7 @@
val e_selection_heuristic = AList.lookup (op =) args e_selection_heuristicK
val term_order = AList.lookup (op =) args term_orderK
val force_sos = AList.lookup (op =) args force_sosK
- |> Option.map (curry (op <>) "false")
+ |> Option.map (curry (<>) "false")
val dir = AList.lookup (op =) args keepK
val timeout = Mirabelle.get_int_setting args (prover_timeoutK, 30)
(* always use a hard timeout, but give some slack so that the automatic
--- a/src/HOL/NanoJava/Equivalence.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/NanoJava/Equivalence.thy Wed Jan 10 15:25:09 2018 +0100
@@ -171,8 +171,8 @@
declare exec_eval.intros[intro!]
-lemma MGF_Loop: "\<forall>Z. A \<turnstile> {op = Z} c {\<lambda>t. \<exists>n. Z -c-n\<rightarrow> t} \<Longrightarrow>
- A \<turnstile> {op = Z} While (x) c {\<lambda>t. \<exists>n. Z -While (x) c-n\<rightarrow> t}"
+lemma MGF_Loop: "\<forall>Z. A \<turnstile> {(=) Z} c {\<lambda>t. \<exists>n. Z -c-n\<rightarrow> t} \<Longrightarrow>
+ A \<turnstile> {(=) Z} While (x) c {\<lambda>t. \<exists>n. Z -While (x) c-n\<rightarrow> t}"
apply (rule_tac P' = "\<lambda>Z s. (Z,s) \<in> ({(s,t). \<exists>n. s<x> \<noteq> Null \<and> s -c-n\<rightarrow> t})^*"
in hoare_ehoare.Conseq)
apply (rule allI)
--- a/src/HOL/Nat.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nat.thy Wed Jan 10 15:25:09 2018 +0100
@@ -966,7 +966,7 @@
(auto dest: mult_left_le_imp_le mult_left_less_imp_less le_less_trans)
-subsubsection \<open>Additional theorems about @{term "op \<le>"}\<close>
+subsubsection \<open>Additional theorems about @{term "(\<le>)"}\<close>
text \<open>Complete induction, aka course-of-values induction\<close>
@@ -1523,7 +1523,7 @@
for f :: "'a \<Rightarrow> 'a"
by (induct n) simp_all
-lemma Suc_funpow[simp]: "Suc ^^ n = (op + n)"
+lemma Suc_funpow[simp]: "Suc ^^ n = ((+) n)"
by (induct n) simp_all
lemma id_funpow[simp]: "id ^^ n = id"
--- a/src/HOL/Nitpick.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick.thy Wed Jan 10 15:25:09 2018 +0100
@@ -84,7 +84,7 @@
\textit{specialize} optimization.
\<close>
-lemma The_psimp[nitpick_psimp]: "P = (op =) x \<Longrightarrow> The P = x"
+lemma The_psimp[nitpick_psimp]: "P = (=) x \<Longrightarrow> The P = x"
by auto
lemma Eps_psimp[nitpick_psimp]:
--- a/src/HOL/Nitpick_Examples/Core_Nits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick_Examples/Core_Nits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -318,7 +318,7 @@
nitpick [expect = none]
by auto
-lemma "x \<equiv> (op \<equiv>) \<Longrightarrow> False"
+lemma "x \<equiv> (\<equiv>) \<Longrightarrow> False"
nitpick [card = 1, expect = genuine]
oops
@@ -334,11 +334,11 @@
nitpick [card = 1-10, expect = none]
by auto
-lemma "x \<equiv> (op \<Longrightarrow>) \<Longrightarrow> False"
+lemma "x \<equiv> (\<Longrightarrow>) \<Longrightarrow> False"
nitpick [expect = genuine]
oops
-lemma "I \<equiv> (\<lambda>x. x) \<Longrightarrow> (op \<Longrightarrow> x) \<equiv> (\<lambda>y. (op \<Longrightarrow> x (I y)))"
+lemma "I \<equiv> (\<lambda>x. x) \<Longrightarrow> ((\<Longrightarrow>) x) \<equiv> (\<lambda>y. ((\<Longrightarrow>) x (I y)))"
nitpick [expect = none]
by auto
@@ -458,8 +458,8 @@
nitpick [expect = none]
by auto
-lemma "I = (\<lambda>x. x) \<Longrightarrow> (op \<and>) = (\<lambda>x. op \<and> (I x))"
- "I = (\<lambda>x. x) \<Longrightarrow> (op \<and>) = (\<lambda>x y. x \<and> (I y))"
+lemma "I = (\<lambda>x. x) \<Longrightarrow> (\<and>) = (\<lambda>x. (\<and>) (I x))"
+ "I = (\<lambda>x. x) \<Longrightarrow> (\<and>) = (\<lambda>x y. x \<and> (I y))"
nitpick [expect = none]
by auto
@@ -471,7 +471,7 @@
nitpick [expect = none]
by auto
-lemma "(op \<longrightarrow>) = (\<lambda>x. op\<longrightarrow> x)" "(op\<longrightarrow> ) = (\<lambda>x y. x \<longrightarrow> y)"
+lemma "(\<longrightarrow>) = (\<lambda>x. (\<longrightarrow>) x)" "((\<longrightarrow>) ) = (\<lambda>x y. x \<longrightarrow> y)"
nitpick [expect = none]
by auto
@@ -583,7 +583,7 @@
nitpick [expect = genuine]
oops
-lemma "I = (\<lambda>x. x) \<Longrightarrow> op \<in> = (\<lambda>x. (op \<in> (I x)))"
+lemma "I = (\<lambda>x. x) \<Longrightarrow> (\<in>) = (\<lambda>x. ((\<in>) (I x)))"
nitpick [expect = none]
apply (rule ext)
apply (rule ext)
@@ -610,7 +610,7 @@
nitpick [card = 1-5, expect = none]
by auto
-lemma "I = (\<lambda>x. x) \<Longrightarrow> op \<union> = (\<lambda>x. op \<union> (I x))"
+lemma "I = (\<lambda>x. x) \<Longrightarrow> (\<union>) = (\<lambda>x. (\<union>) (I x))"
nitpick [card = 1-5, expect = none]
by auto
@@ -618,7 +618,7 @@
nitpick [expect = none]
by auto
-lemma "I = (\<lambda>x. x) \<Longrightarrow> op \<inter> = (\<lambda>x. op \<inter> (I x))"
+lemma "I = (\<lambda>x. x) \<Longrightarrow> (\<inter>) = (\<lambda>x. (\<inter>) (I x))"
nitpick [card = 1-5, expect = none]
by auto
@@ -630,7 +630,7 @@
nitpick [card = 1-5, expect = none]
by auto
-lemma "I = (\<lambda>x. x) \<Longrightarrow> op \<subset> = (\<lambda>x. op \<subset> (I x))"
+lemma "I = (\<lambda>x. x) \<Longrightarrow> (\<subset>) = (\<lambda>x. (\<subset>) (I x))"
nitpick [card = 1-5, expect = none]
by auto
--- a/src/HOL/Nitpick_Examples/Manual_Nits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick_Examples/Manual_Nits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -81,7 +81,7 @@
nitpick [expect = none]
oops
-lemma "P ((op +)::nat\<Rightarrow>nat\<Rightarrow>nat)"
+lemma "P ((+)::nat\<Rightarrow>nat\<Rightarrow>nat)"
nitpick [card nat = 1, expect = genuine]
nitpick [card nat = 2, expect = none]
oops
--- a/src/HOL/Nitpick_Examples/Mini_Nits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick_Examples/Mini_Nits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -52,7 +52,7 @@
ML \<open>none 4 @{prop "\<exists>x::'a \<times> 'a. x = y \<longrightarrow> P x = P y"}\<close>
ML \<open>none 2 @{prop "(x::'a \<Rightarrow> 'a) = y \<longrightarrow> P x = P y"}\<close>
ML \<open>none 2 @{prop "\<exists>x::'a \<Rightarrow> 'a. x = y \<longrightarrow> P x = P y"}\<close>
-ML \<open>genuine 1 @{prop "(op =) X = Ex"}\<close>
+ML \<open>genuine 1 @{prop "(=) X = Ex"}\<close>
ML \<open>none 2 @{prop "\<forall>x::'a \<Rightarrow> 'a. x = x"}\<close>
ML \<open>none 1 @{prop "x = y"}\<close>
ML \<open>genuine 1 @{prop "x \<longleftrightarrow> y"}\<close>
--- a/src/HOL/Nitpick_Examples/Mono_Nits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick_Examples/Mono_Nits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -160,7 +160,7 @@
let
fun is_type_actually_monotonic T =
Nitpick_Mono.formulas_monotonic hol_ctxt binarize T tsp
- val free_Ts = fold Term.add_tfrees (op @ tsp) [] |> map TFree
+ val free_Ts = fold Term.add_tfrees ((@) tsp) [] |> map TFree
val (mono_free_Ts, nonmono_free_Ts) =
Timeout.apply mono_timeout
(List.partition is_type_actually_monotonic) free_Ts
--- a/src/HOL/Nitpick_Examples/Refute_Nits.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nitpick_Examples/Refute_Nits.thy Wed Jan 10 15:25:09 2018 +0100
@@ -330,11 +330,11 @@
nitpick [expect = genuine]
oops
-lemma "(x \<equiv> (op \<equiv>)) \<Longrightarrow> False"
+lemma "(x \<equiv> (\<equiv>)) \<Longrightarrow> False"
nitpick [expect = genuine]
oops
-lemma "(x \<equiv> (op \<Longrightarrow>)) \<Longrightarrow> False"
+lemma "(x \<equiv> (\<Longrightarrow>)) \<Longrightarrow> False"
nitpick [expect = genuine]
oops
@@ -384,11 +384,11 @@
nitpick [expect = genuine]
oops
-lemma "P (op \<in>)"
+lemma "P (\<in>)"
nitpick [expect = genuine]
oops
-lemma "P (op \<in> x)"
+lemma "P ((\<in>) x)"
nitpick [expect = genuine]
oops
--- a/src/HOL/Nominal/Examples/Standardization.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nominal/Examples/Standardization.thy Wed Jan 10 15:25:09 2018 +0100
@@ -122,7 +122,7 @@
abbreviation
list_application :: "lam \<Rightarrow> lam list \<Rightarrow> lam" (infixl "\<degree>\<degree>" 150) where
- "t \<degree>\<degree> ts \<equiv> foldl (op \<degree>) t ts"
+ "t \<degree>\<degree> ts \<equiv> foldl (\<degree>) t ts"
lemma apps_eq_tail_conv [iff]: "(r \<degree>\<degree> ts = s \<degree>\<degree> ts) = (r = s)"
by (induct ts rule: rev_induct) (auto simp add: lam.inject)
@@ -175,7 +175,7 @@
done
lemma size_apps [simp]:
- "size (r \<degree>\<degree> rs) = size r + foldl (op +) 0 (map size rs) + length rs"
+ "size (r \<degree>\<degree> rs) = size r + foldl (+) 0 (map size rs) + length rs"
by (induct rs rule: rev_induct) auto
lemma lem0: "(0::nat) < k \<Longrightarrow> m \<le> n \<Longrightarrow> m < n + k"
@@ -436,7 +436,7 @@
sred :: "lam \<Rightarrow> lam \<Rightarrow> bool" (infixl "\<rightarrow>\<^sub>s" 50)
and sredlist :: "lam list \<Rightarrow> lam list \<Rightarrow> bool" (infixl "[\<rightarrow>\<^sub>s]" 50)
where
- "s [\<rightarrow>\<^sub>s] t \<equiv> listrelp op \<rightarrow>\<^sub>s s t"
+ "s [\<rightarrow>\<^sub>s] t \<equiv> listrelp (\<rightarrow>\<^sub>s) s t"
| Var: "rs [\<rightarrow>\<^sub>s] rs' \<Longrightarrow> Var x \<degree>\<degree> rs \<rightarrow>\<^sub>s Var x \<degree>\<degree> rs'"
| Abs: "x \<sharp> (ss, ss') \<Longrightarrow> r \<rightarrow>\<^sub>s r' \<Longrightarrow> ss [\<rightarrow>\<^sub>s] ss' \<Longrightarrow> (Lam [x].r) \<degree>\<degree> ss \<rightarrow>\<^sub>s (Lam [x].r') \<degree>\<degree> ss'"
| Beta: "x \<sharp> (s, ss, t) \<Longrightarrow> r[x::=s] \<degree>\<degree> ss \<rightarrow>\<^sub>s t \<Longrightarrow> (Lam [x].r) \<degree> s \<degree>\<degree> ss \<rightarrow>\<^sub>s t"
@@ -530,7 +530,7 @@
by (induct arbitrary: r r') (auto intro: lemma1)
lemma listrelp_betas:
- assumes ts: "listrelp op \<rightarrow>\<^sub>\<beta>\<^sup>* ts ts'"
+ assumes ts: "listrelp (\<rightarrow>\<^sub>\<beta>\<^sup>*) ts ts'"
shows "\<And>t t'. t \<rightarrow>\<^sub>\<beta>\<^sup>* t' \<Longrightarrow> t \<degree>\<degree> ts \<rightarrow>\<^sub>\<beta>\<^sup>* t' \<degree>\<degree> ts'" using ts
by induct auto
@@ -746,7 +746,7 @@
lred :: "lam \<Rightarrow> lam \<Rightarrow> bool" (infixl "\<rightarrow>\<^sub>l" 50)
and lredlist :: "lam list \<Rightarrow> lam list \<Rightarrow> bool" (infixl "[\<rightarrow>\<^sub>l]" 50)
where
- "s [\<rightarrow>\<^sub>l] t \<equiv> listrelp op \<rightarrow>\<^sub>l s t"
+ "s [\<rightarrow>\<^sub>l] t \<equiv> listrelp (\<rightarrow>\<^sub>l) s t"
| Var: "rs [\<rightarrow>\<^sub>l] rs' \<Longrightarrow> Var x \<degree>\<degree> rs \<rightarrow>\<^sub>l Var x \<degree>\<degree> rs'"
| Abs: "r \<rightarrow>\<^sub>l r' \<Longrightarrow> (Lam [x].r) \<rightarrow>\<^sub>l (Lam [x].r')"
| Beta: "r[x::=s] \<degree>\<degree> ss \<rightarrow>\<^sub>l t \<Longrightarrow> (Lam [x].r) \<degree> s \<degree>\<degree> ss \<rightarrow>\<^sub>l t"
--- a/src/HOL/Nominal/nominal_datatype.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nominal/nominal_datatype.ML Wed Jan 10 15:25:09 2018 +0100
@@ -1444,7 +1444,7 @@
val big_rec_name = big_name ^ "_rec_set";
val rec_set_names' =
if length descr'' = 1 then [big_rec_name] else
- map ((curry (op ^) (big_rec_name ^ "_")) o string_of_int)
+ map ((curry (^) (big_rec_name ^ "_")) o string_of_int)
(1 upto (length descr''));
val rec_set_names = map (Sign.full_bname thy10) rec_set_names';
@@ -2030,7 +2030,7 @@
val big_reccomb_name = space_implode "_" new_type_names ^ "_rec";
val reccomb_names = map (Sign.full_bname thy11)
(if length descr'' = 1 then [big_reccomb_name] else
- (map ((curry (op ^) (big_reccomb_name ^ "_")) o string_of_int)
+ (map ((curry (^) (big_reccomb_name ^ "_")) o string_of_int)
(1 upto (length descr''))));
val reccombs = map (fn ((name, T), T') => list_comb
(Const (name, rec_fn_Ts @ [T] ---> T'), rec_fns))
--- a/src/HOL/Nominal/nominal_inductive.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nominal/nominal_inductive.ML Wed Jan 10 15:25:09 2018 +0100
@@ -45,7 +45,7 @@
proc = fn _ => fn _ => fn ct =>
(case Thm.term_of ct of
Const (@{const_name Nominal.perm}, _) $ _ $ t =>
- if member (op =) names (the_default "" (try (head_of #> dest_Const #> fst) t))
+ if member (=) names (the_default "" (try (head_of #> dest_Const #> fst) t))
then SOME perm_bool else NONE
| _ => NONE)};
--- a/src/HOL/Nominal/nominal_inductive2.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nominal/nominal_inductive2.ML Wed Jan 10 15:25:09 2018 +0100
@@ -49,7 +49,7 @@
proc = fn _ => fn _ => fn ct =>
(case Thm.term_of ct of
Const (@{const_name Nominal.perm}, _) $ _ $ t =>
- if member (op =) names (the_default "" (try (head_of #> dest_Const #> fst) t))
+ if member (=) names (the_default "" (try (head_of #> dest_Const #> fst) t))
then SOME perm_bool else NONE
| _ => NONE)};
--- a/src/HOL/Nonstandard_Analysis/Free_Ultrafilter.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/Free_Ultrafilter.thy Wed Jan 10 15:25:09 2018 +0100
@@ -176,7 +176,7 @@
lemma singleton: "\<not> eventually (\<lambda>x. x = a) F"
by (rule finite) simp
-lemma singleton': "\<not> eventually (op = a) F"
+lemma singleton': "\<not> eventually ((=) a) F"
by (rule finite) simp
lemma ultrafilter: "ultrafilter F" ..
--- a/src/HOL/Nonstandard_Analysis/HDeriv.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/HDeriv.thy Wed Jan 10 15:25:09 2018 +0100
@@ -303,7 +303,7 @@
lemma NSDERIV_Id [simp]: "NSDERIV (\<lambda>x. x) x :> 1"
by (simp add: NSDERIV_NSLIM_iff NSLIM_def del: divide_self_if)
-lemma NSDERIV_cmult_Id [simp]: "NSDERIV (op * c) x :> c"
+lemma NSDERIV_cmult_Id [simp]: "NSDERIV (( * ) c) x :> c"
using NSDERIV_Id [THEN NSDERIV_cmult] by simp
lemma NSDERIV_inverse:
--- a/src/HOL/Nonstandard_Analysis/HLog.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/HLog.thy Wed Jan 10 15:25:09 2018 +0100
@@ -19,7 +19,7 @@
definition powhr :: "hypreal \<Rightarrow> hypreal \<Rightarrow> hypreal" (infixr "powhr" 80)
- where [transfer_unfold]: "x powhr a = starfun2 (op powr) x a"
+ where [transfer_unfold]: "x powhr a = starfun2 (powr) x a"
definition hlog :: "hypreal \<Rightarrow> hypreal \<Rightarrow> hypreal"
where [transfer_unfold]: "hlog a x = starfun2 log a x"
--- a/src/HOL/Nonstandard_Analysis/HyperDef.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/HyperDef.thy Wed Jan 10 15:25:09 2018 +0100
@@ -375,7 +375,7 @@
text \<open>Hypernatural powers of hyperreals.\<close>
definition pow :: "'a::power star \<Rightarrow> nat star \<Rightarrow> 'a star" (infixr "pow" 80)
- where hyperpow_def [transfer_unfold]: "R pow N = ( *f2* op ^) R N"
+ where hyperpow_def [transfer_unfold]: "R pow N = ( *f2* (^)) R N"
lemma Standard_hyperpow [simp]: "r \<in> Standard \<Longrightarrow> n \<in> Standard \<Longrightarrow> r pow n \<in> Standard"
by (simp add: hyperpow_def)
--- a/src/HOL/Nonstandard_Analysis/NatStar.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/NatStar.thy Wed Jan 10 15:25:09 2018 +0100
@@ -160,7 +160,7 @@
"\<And>n. ( *p* P) (0::hypnat) \<Longrightarrow> (\<And>n. ( *p* P) n \<Longrightarrow> ( *p* P) (n + 1)) \<Longrightarrow> ( *p* P) n"
by transfer (induct_tac n, auto)
-lemma starP2_eq_iff: "( *p2* (op =)) = (op =)"
+lemma starP2_eq_iff: "( *p2* (=)) = (=)"
by transfer (rule refl)
lemma starP2_eq_iff2: "( *p2* (\<lambda>x y. x = y)) X Y \<longleftrightarrow> X = Y"
--- a/src/HOL/Nonstandard_Analysis/StarDef.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Nonstandard_Analysis/StarDef.thy Wed Jan 10 15:25:09 2018 +0100
@@ -304,7 +304,7 @@
subsection \<open>Internal sets\<close>
definition Iset :: "'a set star \<Rightarrow> 'a star set"
- where "Iset A = {x. ( *p2* op \<in>) x A}"
+ where "Iset A = {x. ( *p2* (\<in>)) x A}"
lemma Iset_star_n: "(star_n X \<in> Iset (star_n A)) = (eventually (\<lambda>n. X n \<in> A n) \<U>)"
by (simp add: Iset_def starP2_star_n)
@@ -407,13 +407,13 @@
instantiation star :: (plus) plus
begin
- definition star_add_def: "(op +) \<equiv> *f2* (op +)"
+ definition star_add_def: "(+) \<equiv> *f2* (+)"
instance ..
end
instantiation star :: (times) times
begin
- definition star_mult_def: "(op *) \<equiv> *f2* (op *)"
+ definition star_mult_def: "(( * )) \<equiv> *f2* (( * ))"
instance ..
end
@@ -425,7 +425,7 @@
instantiation star :: (minus) minus
begin
- definition star_diff_def: "(op -) \<equiv> *f2* (op -)"
+ definition star_diff_def: "(-) \<equiv> *f2* (-)"
instance ..
end
@@ -457,14 +457,14 @@
instantiation star :: (modulo) modulo
begin
- definition star_mod_def: "(op mod) \<equiv> *f2* (op mod)"
+ definition star_mod_def: "(mod) \<equiv> *f2* (mod)"
instance ..
end
instantiation star :: (ord) ord
begin
- definition star_le_def: "(op \<le>) \<equiv> *p2* (op \<le>)"
- definition star_less_def: "(op <) \<equiv> *p2* (op <)"
+ definition star_le_def: "(\<le>) \<equiv> *p2* (\<le>)"
+ definition star_less_def: "(<) \<equiv> *p2* (<)"
instance ..
end
@@ -841,7 +841,7 @@
subsection \<open>Power\<close>
-lemma star_power_def [transfer_unfold]: "(op ^) \<equiv> \<lambda>x n. ( *f* (\<lambda>x. x ^ n)) x"
+lemma star_power_def [transfer_unfold]: "(^) \<equiv> \<lambda>x n. ( *f* (\<lambda>x. x ^ n)) x"
proof (rule eq_reflection, rule ext, rule ext)
show "x ^ n = ( *f* (\<lambda>x. x ^ n)) x" for n :: nat and x :: "'a star"
proof (induct n arbitrary: x)
--- a/src/HOL/Num.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Num.thy Wed Jan 10 15:25:09 2018 +0100
@@ -540,7 +540,7 @@
by (induct n) (simp_all only: numeral.simps numeral_class.numeral.simps of_nat_add of_nat_1)
lemma numeral_unfold_funpow:
- "numeral k = (op + 1 ^^ numeral k) 0"
+ "numeral k = ((+) 1 ^^ numeral k) 0"
unfolding of_nat_def [symmetric] by simp
end
--- a/src/HOL/Number_Theory/Gauss.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Number_Theory/Gauss.thy Wed Jan 10 15:25:09 2018 +0100
@@ -169,7 +169,7 @@
lemma inj_on_pminusx_E: "inj_on (\<lambda>x. p - x) E"
apply (auto simp add: E_def C_def B_def A_def)
- apply (rule inj_on_inverseI [where g = "op - (int p)"])
+ apply (rule inj_on_inverseI [where g = "(-) (int p)"])
apply auto
done
@@ -315,7 +315,7 @@
lemma prod_F_zcong: "[prod id F = ((-1) ^ (card E)) * prod id E] (mod p)"
proof -
- have FE: "prod id F = prod (op - p) E"
+ have FE: "prod id F = prod ((-) p) E"
apply (auto simp add: F_def)
apply (insert finite_E inj_on_pminusx_E)
apply (drule prod.reindex)
@@ -323,8 +323,8 @@
done
then have "\<forall>x \<in> E. [(p-x) mod p = - x](mod p)"
by (metis cong_def minus_mod_self1 mod_mod_trivial)
- then have "[prod ((\<lambda>x. x mod p) \<circ> (op - p)) E = prod (uminus) E](mod p)"
- using finite_E p_ge_2 cong_prod [of E "(\<lambda>x. x mod p) \<circ> (op - p)" uminus p]
+ then have "[prod ((\<lambda>x. x mod p) \<circ> ((-) p)) E = prod (uminus) E](mod p)"
+ using finite_E p_ge_2 cong_prod [of E "(\<lambda>x. x mod p) \<circ> ((-) p)" uminus p]
by auto
then have two: "[prod id F = prod (uminus) E](mod p)"
by (metis FE cong_cong_mod_int cong_refl cong_prod minus_mod_self1)
--- a/src/HOL/Number_Theory/Pocklington.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Number_Theory/Pocklington.thy Wed Jan 10 15:25:09 2018 +0100
@@ -731,7 +731,7 @@
(* FIXME some overlap with material in UniqueFactorization, class unique_factorization *)
-definition "primefact ps n \<longleftrightarrow> foldr op * ps 1 = n \<and> (\<forall>p\<in> set ps. prime p)"
+definition "primefact ps n \<longleftrightarrow> foldr ( * ) ps 1 = n \<and> (\<forall>p\<in> set ps. prime p)"
lemma primefact:
fixes n :: nat
@@ -743,8 +743,8 @@
from assms have "n = prod_mset (prime_factorization n)"
by (simp add: prod_mset_prime_factorization)
also have "\<dots> = prod_mset (mset xs)" by (simp add: xs)
- also have "\<dots> = foldr op * xs 1" by (induct xs) simp_all
- finally have "foldr op * xs 1 = n" ..
+ also have "\<dots> = foldr ( * ) xs 1" by (induct xs) simp_all
+ finally have "foldr ( * ) xs 1 = n" ..
moreover from xs have "\<forall>p\<in>#mset xs. prime p" by auto
ultimately have "primefact xs n" by (auto simp: primefact_def)
then show ?thesis ..
@@ -763,10 +763,10 @@
next
case (Cons q qs)
from Cons.prems[unfolded primefact_def]
- have q: "prime q" "q * foldr op * qs 1 = n" "\<forall>p \<in>set qs. prime p"
- and p: "prime p" "p dvd q * foldr op * qs 1"
+ have q: "prime q" "q * foldr ( * ) qs 1 = n" "\<forall>p \<in>set qs. prime p"
+ and p: "prime p" "p dvd q * foldr ( * ) qs 1"
by simp_all
- consider "p dvd q" | "p dvd foldr op * qs 1"
+ consider "p dvd q" | "p dvd foldr ( * ) qs 1"
by (metis p prime_dvd_mult_eq_nat)
then show ?case
proof cases
@@ -776,19 +776,19 @@
then show ?thesis by simp
next
case prem: 2
- from q(3) have pqs: "primefact qs (foldr op * qs 1)"
+ from q(3) have pqs: "primefact qs (foldr ( * ) qs 1)"
by (simp add: primefact_def)
from Cons.hyps[OF pqs p(1) prem] show ?thesis by simp
qed
qed
-lemma primefact_variant: "primefact ps n \<longleftrightarrow> foldr op * ps 1 = n \<and> list_all prime ps"
+lemma primefact_variant: "primefact ps n \<longleftrightarrow> foldr ( * ) ps 1 = n \<and> list_all prime ps"
by (auto simp add: primefact_def list_all_iff)
text \<open>Variant of Lucas theorem.\<close>
lemma lucas_primefact:
assumes n: "n \<ge> 2" and an: "[a^(n - 1) = 1] (mod n)"
- and psn: "foldr op * ps 1 = n - 1"
+ and psn: "foldr ( * ) ps 1 = n - 1"
and psp: "list_all (\<lambda>p. prime p \<and> \<not> [a^((n - 1) div p) = 1] (mod n)) ps"
shows "prime n"
proof -
@@ -806,7 +806,7 @@
text \<open>Variant of Pocklington theorem.\<close>
lemma pocklington_primefact:
assumes n: "n \<ge> 2" and qrn: "q*r = n - 1" and nq2: "n \<le> q\<^sup>2"
- and arnb: "(a^r) mod n = b" and psq: "foldr op * ps 1 = q"
+ and arnb: "(a^r) mod n = b" and psq: "foldr ( * ) ps 1 = q"
and bqn: "(b^q) mod n = 1"
and psp: "list_all (\<lambda>p. prime p \<and> coprime ((b^(q div p)) mod n - 1) n) ps"
shows "prime n"
--- a/src/HOL/Number_Theory/Totient.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Number_Theory/Totient.thy Wed Jan 10 15:25:09 2018 +0100
@@ -215,7 +215,7 @@
using \<open>n > 0\<close> by (intro card_UN_disjoint) (auto simp: A_def)
also have "\<dots> = (\<Sum>d | d dvd n. totient (n div d))" by (intro sum.cong refl *) auto
also have "\<dots> = (\<Sum>d | d dvd n. totient d)" using \<open>n > 0\<close>
- by (intro sum.reindex_bij_witness[of _ "op div n" "op div n"]) (auto elim: dvdE)
+ by (intro sum.reindex_bij_witness[of _ "(div) n" "(div) n"]) (auto elim: dvdE)
finally show ?thesis ..
qed auto
@@ -239,11 +239,11 @@
assumes "prime p"
shows "totient (p ^ Suc n) = p ^ n * (p - 1)"
proof -
- from assms have "totient (p ^ Suc n) = card ({0<..p ^ Suc n} - op * p ` {0<..p ^ n})"
+ from assms have "totient (p ^ Suc n) = card ({0<..p ^ Suc n} - ( * ) p ` {0<..p ^ n})"
unfolding totient_def by (subst totatives_prime_power_Suc) simp_all
- also from assms have "\<dots> = p ^ Suc n - card (op * p ` {0<..p^n})"
+ also from assms have "\<dots> = p ^ Suc n - card (( * ) p ` {0<..p^n})"
by (subst card_Diff_subset) (auto intro: prime_gt_0_nat)
- also from assms have "card (op * p ` {0<..p^n}) = p ^ n"
+ also from assms have "card (( * ) p ` {0<..p^n}) = p ^ n"
by (subst card_image) (auto simp: inj_on_def)
also have "p ^ Suc n - p ^ n = p ^ n * (p - 1)" by (simp add: algebra_simps)
finally show ?thesis .
--- a/src/HOL/Option.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Option.thy Wed Jan 10 15:25:09 2018 +0100
@@ -323,7 +323,7 @@
unfolding rel_fun_def split_option_all by simp
lemma pred_option_parametric [transfer_rule]:
- "((A ===> op =) ===> rel_option A ===> op =) pred_option pred_option"
+ "((A ===> (=)) ===> rel_option A ===> (=)) pred_option pred_option"
by (rule rel_funI)+ (auto simp add: rel_option_unfold Option.is_none_def dest: rel_funD)
end
--- a/src/HOL/Partial_Function.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Partial_Function.thy Wed Jan 10 15:25:09 2018 +0100
@@ -13,20 +13,20 @@
ML_file "Tools/Function/partial_function.ML"
lemma (in ccpo) in_chain_finite:
- assumes "Complete_Partial_Order.chain op \<le> A" "finite A" "A \<noteq> {}"
+ assumes "Complete_Partial_Order.chain (\<le>) A" "finite A" "A \<noteq> {}"
shows "\<Squnion>A \<in> A"
using assms(2,1,3)
proof induction
case empty thus ?case by simp
next
case (insert x A)
- note chain = \<open>Complete_Partial_Order.chain op \<le> (insert x A)\<close>
+ note chain = \<open>Complete_Partial_Order.chain (\<le>) (insert x A)\<close>
show ?case
proof(cases "A = {}")
case True thus ?thesis by simp
next
case False
- from chain have chain': "Complete_Partial_Order.chain op \<le> A"
+ from chain have chain': "Complete_Partial_Order.chain (\<le>) A"
by(rule chain_subset) blast
hence "\<Squnion>A \<in> A" using False by(rule insert.IH)
show ?thesis
@@ -48,8 +48,8 @@
qed
lemma (in ccpo) admissible_chfin:
- "(\<forall>S. Complete_Partial_Order.chain op \<le> S \<longrightarrow> finite S)
- \<Longrightarrow> ccpo.admissible Sup op \<le> P"
+ "(\<forall>S. Complete_Partial_Order.chain (\<le>) S \<longrightarrow> finite S)
+ \<Longrightarrow> ccpo.admissible Sup (\<le>) P"
using in_chain_finite by (blast intro: ccpo.admissibleI)
subsection \<open>Axiomatic setup\<close>
--- a/src/HOL/Predicate.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Predicate.thy Wed Jan 10 15:25:09 2018 +0100
@@ -107,10 +107,10 @@
end
definition single :: "'a \<Rightarrow> 'a pred" where
- "single x = Pred ((op =) x)"
+ "single x = Pred ((=) x)"
lemma eval_single [simp]:
- "eval (single x) = (op =) x"
+ "eval (single x) = (=) x"
by (simp add: single_def)
definition bind :: "'a pred \<Rightarrow> ('a \<Rightarrow> 'b pred) \<Rightarrow> 'b pred" (infixl "\<bind>" 70) where
--- a/src/HOL/Predicate_Compile_Examples/Hotel_Example_Prolog.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Predicate_Compile_Examples/Hotel_Example_Prolog.thy Wed Jan 10 15:25:09 2018 +0100
@@ -11,7 +11,7 @@
lemma [code_pred_inline]: "insert == (%y A x. y = x | A x)"
by (auto simp add: insert_iff[unfolded mem_def] fun_eq_iff intro!: eq_reflection)
-lemma [code_pred_inline]: "(op -) == (%A B x. A x \<and> \<not> B x)"
+lemma [code_pred_inline]: "(-) == (%A B x. A x \<and> \<not> B x)"
by (auto simp add: Diff_iff[unfolded mem_def] fun_eq_iff intro!: eq_reflection)
*)
--- a/src/HOL/Predicate_Compile_Examples/Hotel_Example_Small_Generator.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Predicate_Compile_Examples/Hotel_Example_Small_Generator.thy Wed Jan 10 15:25:09 2018 +0100
@@ -9,7 +9,7 @@
lemma [code_pred_inline]: "insert == (%y A x. y = x | A x)"
by (auto simp add: insert_iff[unfolded mem_def] fun_eq_iff intro!: eq_reflection)
-lemma [code_pred_inline]: "(op -) == (%A B x. A x \<and> \<not> B x)"
+lemma [code_pred_inline]: "(-) == (%A B x. A x \<and> \<not> B x)"
by (auto simp add: Diff_iff[unfolded mem_def] fun_eq_iff intro!: eq_reflection)
instantiation room :: small_lazy
--- a/src/HOL/Predicate_Compile_Examples/Predicate_Compile_Tests.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Predicate_Compile_Examples/Predicate_Compile_Tests.thy Wed Jan 10 15:25:09 2018 +0100
@@ -331,7 +331,7 @@
subsection \<open>Preprocessor Inlining\<close>
-definition "equals == (op =)"
+definition "equals == (=)"
inductive zerozero' :: "nat * nat => bool" where
"equals (x, y) (0, 0) ==> zerozero' (x, y)"
--- a/src/HOL/Probability/Distributions.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Distributions.thy Wed Jan 10 15:25:09 2018 +0100
@@ -374,7 +374,7 @@
shows "\<P>(x in M. a + t < X x \<bar> a < X x) = \<P>(x in M. t < X x)"
proof -
have "\<P>(x in M. a + t < X x \<bar> a < X x) = \<P>(x in M. a + t < X x) / \<P>(x in M. a < X x)"
- using \<open>0 \<le> t\<close> by (auto simp: cond_prob_def intro!: arg_cong[where f=prob] arg_cong2[where f="op /"])
+ using \<open>0 \<le> t\<close> by (auto simp: cond_prob_def intro!: arg_cong[where f=prob] arg_cong2[where f="(/)"])
also have "\<dots> = exp (- (a + t) * l) / exp (- a * l)"
using a t by (simp add: exponential_distributedD_gt[OF D _ l])
also have "\<dots> = exp (- t * l)"
--- a/src/HOL/Probability/Fin_Map.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Fin_Map.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1332,4 +1332,4 @@
end
-end
\ No newline at end of file
+end
--- a/src/HOL/Probability/Giry_Monad.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Giry_Monad.thy Wed Jan 10 15:25:09 2018 +0100
@@ -349,7 +349,7 @@
(\<lambda>M'. emeasure M' (f -` A \<inter> space M)) \<in> borel_measurable (subprob_algebra M)"
by (intro measurable_cong)
(auto simp: emeasure_distr space_subprob_algebra
- intro!: arg_cong2[where f=emeasure] sets_eq_imp_space_eq arg_cong2[where f="op \<inter>"])
+ intro!: arg_cong2[where f=emeasure] sets_eq_imp_space_eq arg_cong2[where f="(\<inter>)"])
also have "\<dots>"
using A by (intro measurable_emeasure_subprob_algebra) simp
finally show "(\<lambda>M'. emeasure (distr M' N f) A) \<in> borel_measurable (subprob_algebra M)" .
--- a/src/HOL/Probability/Helly_Selection.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Helly_Selection.thy Wed Jan 10 15:25:09 2018 +0100
@@ -54,7 +54,7 @@
(Suc n + k))) k) (r n)) = (\<lambda>k. f (nat.seqseq (Suc n) k) (r n)) \<circ>
(\<lambda>k. nat.fold_reduce (Suc n) k (Suc n + k))"
by auto
- have 2: "?P n (d \<circ> (op + (Suc n)))"
+ have 2: "?P n (d \<circ> ((+) (Suc n)))"
unfolding d_def nat.diagseq_seqseq 1
by (intro convergent_subseq_convergent Pn_seqseq nat.subseq_diagonal_rest)
then obtain L where 3: "(\<lambda>na. f (d (na + Suc n)) (r n)) \<longlonglongrightarrow> L"
--- a/src/HOL/Probability/Independent_Family.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Independent_Family.thy Wed Jan 10 15:25:09 2018 +0100
@@ -338,7 +338,7 @@
(sigma_sets (space M) { X -` A \<inter> space M | A. A \<in> sets S})
(sigma_sets (space M) { Y -` A \<inter> space M | A. A \<in> sets T})"
unfolding indep_var_def indep_vars_def indep_set_def UNIV_bool
- by (intro arg_cong2[where f="op \<and>"] arg_cong2[where f=indep_sets] ext)
+ by (intro arg_cong2[where f="(\<and>)"] arg_cong2[where f=indep_sets] ext)
(auto split: bool.split)
lemma (in prob_space) indep_sets2_eq:
@@ -1165,7 +1165,7 @@
also have "...= prob (X -` A \<inter> space M) * prob (Y -` B \<inter> space M)"
by (auto intro!: indep_varD[where Ma=N and Mb=N])
also have "... = \<P>(x in M. X x \<in> A) * \<P>(x in M. Y x \<in> B)"
- by (auto intro!: arg_cong2[where f= "op *"] arg_cong[where f= prob])
+ by (auto intro!: arg_cong2[where f= "( * )"] arg_cong[where f= prob])
finally show ?thesis .
qed
--- a/src/HOL/Probability/Infinite_Product_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Infinite_Product_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -341,7 +341,7 @@
using J(3)[THEN sets.sets_into_space] by (auto simp: space_PiM Pi_iff subset_eq)
with J have "?f -` ?X \<inter> space (S \<Otimes>\<^sub>M S) =
(prod_emb ?I ?M (J \<inter> {..<i}) (\<Pi>\<^sub>E j\<in>J \<inter> {..<i}. E j)) \<times>
- (prod_emb ?I ?M ((op + i) -` J) (\<Pi>\<^sub>E j\<in>(op + i) -` J. E (i + j)))" (is "_ = ?E \<times> ?F")
+ (prod_emb ?I ?M (((+) i) -` J) (\<Pi>\<^sub>E j\<in>((+) i) -` J. E (i + j)))" (is "_ = ?E \<times> ?F")
by (auto simp: space_pair_measure space_PiM prod_emb_def all_conj_distrib PiE_iff
split: split_comb_seq split_comb_seq_asm)
then have "emeasure ?D ?X = emeasure (S \<Otimes>\<^sub>M S) (?E \<times> ?F)"
@@ -349,7 +349,7 @@
(auto intro!: sets_PiM_I simp: split_beta' J)
also have "\<dots> = emeasure S ?E * emeasure S ?F"
using J by (intro P.emeasure_pair_measure_Times) (auto intro!: sets_PiM_I finite_vimageI simp: inj_on_def)
- also have "emeasure S ?F = (\<Prod>j\<in>(op + i) -` J. emeasure M (E (i + j)))"
+ also have "emeasure S ?F = (\<Prod>j\<in>((+) i) -` J. emeasure M (E (i + j)))"
using J by (intro emeasure_PiM_emb) (simp_all add: finite_vimageI inj_on_def)
also have "\<dots> = (\<Prod>j\<in>J - (J \<inter> {..<i}). emeasure M (E j))"
by (rule prod.reindex_cong [of "\<lambda>x. x - i"])
--- a/src/HOL/Probability/PMF_Impl.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/PMF_Impl.thy Wed Jan 10 15:25:09 2018 +0100
@@ -145,14 +145,14 @@
assumes "A \<noteq> {#}"
shows "pmf_of_multiset_impl A =
(let p = 1 / real (size A)
- in fold_mset (\<lambda>x. Mapping.map_default x 0 (op + p)) Mapping.empty A)"
+ in fold_mset (\<lambda>x. Mapping.map_default x 0 ((+) p)) Mapping.empty A)"
proof -
define p where "p = 1 / real (size A)"
- interpret comp_fun_commute "\<lambda>x. Mapping.map_default x 0 (op + p)"
+ interpret comp_fun_commute "\<lambda>x. Mapping.map_default x 0 ((+) p)"
unfolding Mapping.map_default_def [abs_def]
by (standard, intro mapping_eqI ext)
(simp_all add: o_def lookup_map_entry' lookup_default' lookup_default_def)
- let ?m = "fold_mset (\<lambda>x. Mapping.map_default x 0 (op + p)) Mapping.empty A"
+ let ?m = "fold_mset (\<lambda>x. Mapping.map_default x 0 ((+) p)) Mapping.empty A"
have keys: "Mapping.keys ?m = set_mset A" by (induction A) simp_all
have lookup: "Mapping.lookup_default 0 ?m x = real (count A x) * p" for x
by (induction A)
@@ -197,12 +197,12 @@
definition fold_combine_plus where
- "fold_combine_plus = comm_monoid_set.F (Mapping.combine (op + :: real \<Rightarrow> _)) Mapping.empty"
+ "fold_combine_plus = comm_monoid_set.F (Mapping.combine ((+) :: real \<Rightarrow> _)) Mapping.empty"
context
begin
-interpretation fold_combine_plus: combine_mapping_abel_semigroup "op + :: real \<Rightarrow> _"
+interpretation fold_combine_plus: combine_mapping_abel_semigroup "(+) :: real \<Rightarrow> _"
by unfold_locales (simp_all add: add_ac)
qualified lemma lookup_default_fold_combine_plus:
@@ -219,7 +219,7 @@
by (simp add: fold_combine_plus_def fold_combine_plus.keys_fold_combine)
qualified lemma fold_combine_plus_code [code]:
- "fold_combine_plus g (set xs) = foldr (\<lambda>x. Mapping.combine op+ (g x)) (remdups xs) Mapping.empty"
+ "fold_combine_plus g (set xs) = foldr (\<lambda>x. Mapping.combine (+) (g x)) (remdups xs) Mapping.empty"
by (simp add: fold_combine_plus_def fold_combine_plus.fold_combine_code)
private lemma lookup_default_0_map_values:
@@ -231,7 +231,7 @@
qualified lemma mapping_of_bind_pmf:
assumes "finite (set_pmf p)"
shows "mapping_of_pmf (bind_pmf p f) =
- fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. op * (pmf p x))
+ fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. ( * ) (pmf p x))
(mapping_of_pmf (f x))) (set_pmf p)"
using assms
by (intro mapping_of_pmfI')
@@ -268,7 +268,7 @@
lemma bind_pmf_aux_code_aux:
assumes "finite A"
shows "bind_pmf_aux p f A =
- fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. op * (pmf p x))
+ fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. ( * ) (pmf p x))
(mapping_of_pmf (f x))) A" (is "?lhs = ?rhs")
proof (intro mapping_eqI'[where d = 0])
fix x assume "x \<in> Mapping.keys ?lhs"
@@ -287,7 +287,7 @@
lemma bind_pmf_aux_code [code]:
"bind_pmf_aux p f (set xs) =
- fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. op * (pmf p x))
+ fold_combine_plus (\<lambda>x. Mapping.map_values (\<lambda>_. ( * ) (pmf p x))
(mapping_of_pmf (f x))) (set xs)"
by (rule bind_pmf_aux_code_aux) simp_all
@@ -536,7 +536,7 @@
'a pmf \<times> (unit \<Rightarrow> Code_Evaluation.term)" where
[code_unfold]: "pmfify A x =
Code_Evaluation.valtermify pmf_of_multiset {\<cdot>}
- (Code_Evaluation.valtermify (op +) {\<cdot>} A {\<cdot>}
+ (Code_Evaluation.valtermify (+) {\<cdot>} A {\<cdot>}
(Code_Evaluation.valtermify single {\<cdot>} x))"
--- a/src/HOL/Probability/Probability_Mass_Function.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Probability_Mass_Function.thy Wed Jan 10 15:25:09 2018 +0100
@@ -447,9 +447,9 @@
by (simp add: map_pmf_def bind_assoc_pmf bind_return_pmf)
lemma map_pmf_transfer[transfer_rule]:
- "rel_fun op = (rel_fun cr_pmf cr_pmf) (\<lambda>f M. distr M (count_space UNIV) f) map_pmf"
+ "rel_fun (=) (rel_fun cr_pmf cr_pmf) (\<lambda>f M. distr M (count_space UNIV) f) map_pmf"
proof -
- have "rel_fun op = (rel_fun pmf_as_measure.cr_pmf pmf_as_measure.cr_pmf)
+ have "rel_fun (=) (rel_fun pmf_as_measure.cr_pmf pmf_as_measure.cr_pmf)
(\<lambda>f M. M \<bind> (return (count_space UNIV) o f)) map_pmf"
unfolding map_pmf_def[abs_def] comp_def by transfer_prover
then show ?thesis
@@ -476,7 +476,7 @@
lemma map_pmf_cong: "p = q \<Longrightarrow> (\<And>x. x \<in> set_pmf q \<Longrightarrow> f x = g x) \<Longrightarrow> map_pmf f p = map_pmf g q"
unfolding map_pmf_def by (rule bind_pmf_cong) auto
-lemma pmf_set_map: "set_pmf \<circ> map_pmf f = op ` f \<circ> set_pmf"
+lemma pmf_set_map: "set_pmf \<circ> map_pmf f = (`) f \<circ> set_pmf"
by (auto simp add: comp_def fun_eq_iff map_pmf_def)
lemma set_map_pmf[simp]: "set_pmf (map_pmf f M) = f`set_pmf M"
@@ -1326,7 +1326,7 @@
show "\<And>f g::'a \<Rightarrow> 'b. \<And>p. (\<And>x. x \<in> set_pmf p \<Longrightarrow> f x = g x) \<Longrightarrow> map_pmf f p = map_pmf g p"
by (intro map_pmf_cong refl)
- show "\<And>f::'a \<Rightarrow> 'b. set_pmf \<circ> map_pmf f = op ` f \<circ> set_pmf"
+ show "\<And>f::'a \<Rightarrow> 'b. set_pmf \<circ> map_pmf f = (`) f \<circ> set_pmf"
by (rule pmf_set_map)
show "(card_of (set_pmf p), natLeq) \<in> ordLeq" for p :: "'s pmf"
@@ -1630,7 +1630,7 @@
shows "p = q"
proof -
from 1 2 refl trans have "rel_pmf (inf R R\<inverse>\<inverse>) p q" by(rule rel_pmf_inf)
- also have "inf R R\<inverse>\<inverse> = op ="
+ also have "inf R R\<inverse>\<inverse> = (=)"
using refl antisym by (auto intro!: ext simp add: reflpD dest: antisympD)
finally show ?thesis unfolding pmf.rel_eq .
qed
--- a/src/HOL/Probability/Probability_Measure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Probability_Measure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -438,7 +438,7 @@
assumes Q: "AE x in M. Q x \<longleftrightarrow> Q' x" "{x\<in>space M. Q x} \<in> events" "{x\<in>space M. Q' x} \<in> events"
shows "cond_prob M P Q = cond_prob M P' Q'"
using P Q
- by (auto simp: cond_prob_def intro!: arg_cong2[where f="op /"] prob_eq_AE sets.sets_Collect_conj)
+ by (auto simp: cond_prob_def intro!: arg_cong2[where f="(/)"] prob_eq_AE sets.sets_Collect_conj)
lemma (in prob_space) joint_distribution_Times_le_fst:
--- a/src/HOL/Probability/Projective_Limit.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Projective_Limit.thy Wed Jan 10 15:25:09 2018 +0100
@@ -47,11 +47,11 @@
assumes "compact S" "\<forall>n\<ge>m. f n \<in> S"
obtains l r where "l \<in> S" "strict_mono (r::nat\<Rightarrow>nat)" "((f \<circ> r) \<longlongrightarrow> l) sequentially"
proof atomize_elim
- have "strict_mono (op + m)" by (simp add: strict_mono_def)
+ have "strict_mono ((+) m)" by (simp add: strict_mono_def)
have "\<forall>n. (f o (\<lambda>i. m + i)) n \<in> S" using assms by auto
from seq_compactE[OF \<open>compact S\<close>[unfolded compact_eq_seq_compact_metric] this] guess l r .
hence "l \<in> S" "strict_mono ((\<lambda>i. m + i) o r) \<and> (f \<circ> ((\<lambda>i. m + i) o r)) \<longlonglongrightarrow> l"
- using strict_mono_o[OF \<open>strict_mono (op + m)\<close> \<open>strict_mono r\<close>] by (auto simp: o_def)
+ using strict_mono_o[OF \<open>strict_mono ((+) m)\<close> \<open>strict_mono r\<close>] by (auto simp: o_def)
thus "\<exists>l r. l \<in> S \<and> strict_mono r \<and> (f \<circ> r) \<longlonglongrightarrow> l" by blast
qed
@@ -74,7 +74,7 @@
lemma (in finmap_seqs_into_compact) diagonal_tendsto: "\<exists>l. (\<lambda>i. (f (diagseq i))\<^sub>F n) \<longlonglongrightarrow> l"
proof -
- obtain l where "(\<lambda>i. ((f o (diagseq o op + (Suc n))) i)\<^sub>F n) \<longlonglongrightarrow> l"
+ obtain l where "(\<lambda>i. ((f o (diagseq o (+) (Suc n))) i)\<^sub>F n) \<longlonglongrightarrow> l"
proof (atomize_elim, rule diagseq_holds)
fix r s n
assume "strict_mono (r :: nat \<Rightarrow> nat)"
@@ -296,8 +296,8 @@
have "(\<Sum>i = 1..n. 2 powr - real i) = (\<Sum>i = 1..<Suc n. (1/2) ^ i)"
by (rule sum.cong) (auto simp: powr_realpow powr_divide power_divide powr_minus_divide)
also have "{1..<Suc n} = {..<Suc n} - {0}" by auto
- also have "sum (op ^ (1 / 2::real)) ({..<Suc n} - {0}) =
- sum (op ^ (1 / 2)) ({..<Suc n}) - 1" by (auto simp: sum_diff1)
+ also have "sum ((^) (1 / 2::real)) ({..<Suc n} - {0}) =
+ sum ((^) (1 / 2)) ({..<Suc n}) - 1" by (auto simp: sum_diff1)
also have "\<dots> < 1" by (subst geometric_sum) auto
finally show "(\<Sum>i = 1..n. 2 powr - enn2real i) < 1" by simp
qed (auto simp: r enn2real_positive_iff)
--- a/src/HOL/Probability/Random_Permutations.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Random_Permutations.thy Wed Jan 10 15:25:09 2018 +0100
@@ -30,7 +30,7 @@
return_pmf (x#xs)
}" (is "?lhs = ?rhs")
proof -
- from assms have "permutations_of_set A = (\<Union>x\<in>A. op # x ` permutations_of_set (A - {x}))"
+ from assms have "permutations_of_set A = (\<Union>x\<in>A. (#) x ` permutations_of_set (A - {x}))"
by (simp add: permutations_of_set_nonempty)
also from assms have "pmf_of_set \<dots> = ?rhs"
by (subst pmf_of_set_UN[where n = "fact (card A - 1)"])
@@ -77,7 +77,7 @@
pmf_of_set A \<bind> (\<lambda>a. fold_random_permutation f (f a x) (A - {a}))" by simp
also from remove
have "\<dots> = pmf_of_set A \<bind> (\<lambda>a. map_pmf (foldl (\<lambda>x y. f y x) x)
- (map_pmf (op # a) (pmf_of_set (permutations_of_set (A - {a})))))"
+ (map_pmf ((#) a) (pmf_of_set (permutations_of_set (A - {a})))))"
by (intro bind_pmf_cong) (simp_all add: pmf.map_comp o_def)
also from remove have "\<dots> = map_pmf (foldl (\<lambda>x y. f y x) x) (pmf_of_set (permutations_of_set A))"
by (simp_all add: random_permutation_of_set map_bind_pmf map_pmf_def [symmetric])
--- a/src/HOL/Probability/SPMF.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/SPMF.thy Wed Jan 10 15:25:09 2018 +0100
@@ -77,8 +77,8 @@
"ord_option ord (Some x) None"
inductive_simps ord_option_eq_simps [simp]:
- "ord_option op = None y"
- "ord_option op = (Some x) y"
+ "ord_option (=) None y"
+ "ord_option (=) (Some x) y"
lemma ord_option_reflI: "(\<And>y. y \<in> set_option x \<Longrightarrow> ord y y) \<Longrightarrow> ord_option ord x x"
by(cases x) simp_all
@@ -124,7 +124,7 @@
using Y
by(cases y)(auto 4 3 simp add: lub_option_def intro: lub_least[OF ord_option_chainD] dest: upper)
-lemma lub_map_option: "lub_option lub (map_option f ` Y) = lub_option (lub \<circ> op ` f) Y"
+lemma lub_map_option: "lub_option lub (map_option f ` Y) = lub_option (lub \<circ> (`) f) Y"
apply(auto simp add: lub_option_def)
apply(erule notE)
apply(rule arg_cong[where f=lub])
@@ -161,15 +161,15 @@
begin
definition rel_pred :: "('a \<Rightarrow> 'b \<Rightarrow> bool) \<Rightarrow> 'a set \<Rightarrow> 'b set \<Rightarrow> bool"
-where "rel_pred R A B = (R ===> op =) (\<lambda>x. x \<in> A) (\<lambda>y. y \<in> B)"
-
-lemma rel_predI: "(R ===> op =) (\<lambda>x. x \<in> A) (\<lambda>y. y \<in> B) \<Longrightarrow> rel_pred R A B"
+where "rel_pred R A B = (R ===> (=)) (\<lambda>x. x \<in> A) (\<lambda>y. y \<in> B)"
+
+lemma rel_predI: "(R ===> (=)) (\<lambda>x. x \<in> A) (\<lambda>y. y \<in> B) \<Longrightarrow> rel_pred R A B"
by(simp add: rel_pred_def)
lemma rel_predD: "\<lbrakk> rel_pred R A B; R x y \<rbrakk> \<Longrightarrow> x \<in> A \<longleftrightarrow> y \<in> B"
by(simp add: rel_pred_def rel_fun_def)
-lemma Collect_parametric: "((A ===> op =) ===> rel_pred A) Collect Collect"
+lemma Collect_parametric: "((A ===> (=)) ===> rel_pred A) Collect Collect"
\<comment> \<open>Declare this rule as @{attribute transfer_rule} only locally
because it blows up the search space for @{method transfer}
(in combination with @{thm [source] Collect_transfer})\<close>
@@ -179,27 +179,27 @@
subsubsection \<open>Monotonicity rules\<close>
-lemma monotone_gfp_eadd1: "monotone op \<ge> op \<ge> (\<lambda>x. x + y :: enat)"
+lemma monotone_gfp_eadd1: "monotone (\<ge>) (\<ge>) (\<lambda>x. x + y :: enat)"
by(auto intro!: monotoneI)
-lemma monotone_gfp_eadd2: "monotone op \<ge> op \<ge> (\<lambda>y. x + y :: enat)"
+lemma monotone_gfp_eadd2: "monotone (\<ge>) (\<ge>) (\<lambda>y. x + y :: enat)"
by(auto intro!: monotoneI)
lemma mono2mono_gfp_eadd[THEN gfp.mono2mono2, cont_intro, simp]:
- shows monotone_eadd: "monotone (rel_prod op \<ge> op \<ge>) op \<ge> (\<lambda>(x, y). x + y :: enat)"
+ shows monotone_eadd: "monotone (rel_prod (\<ge>) (\<ge>)) (\<ge>) (\<lambda>(x, y). x + y :: enat)"
by(simp add: monotone_gfp_eadd1 monotone_gfp_eadd2)
lemma eadd_gfp_partial_function_mono [partial_function_mono]:
- "\<lbrakk> monotone (fun_ord op \<ge>) op \<ge> f; monotone (fun_ord op \<ge>) op \<ge> g \<rbrakk>
- \<Longrightarrow> monotone (fun_ord op \<ge>) op \<ge> (\<lambda>x. f x + g x :: enat)"
+ "\<lbrakk> monotone (fun_ord (\<ge>)) (\<ge>) f; monotone (fun_ord (\<ge>)) (\<ge>) g \<rbrakk>
+ \<Longrightarrow> monotone (fun_ord (\<ge>)) (\<ge>) (\<lambda>x. f x + g x :: enat)"
by(rule mono2mono_gfp_eadd)
lemma mono2mono_ereal[THEN lfp.mono2mono]:
- shows monotone_ereal: "monotone op \<le> op \<le> ereal"
+ shows monotone_ereal: "monotone (\<le>) (\<le>) ereal"
by(rule monotoneI) simp
lemma mono2mono_ennreal[THEN lfp.mono2mono]:
- shows monotone_ennreal: "monotone op \<le> op \<le> ennreal"
+ shows monotone_ennreal: "monotone (\<le>) (\<le>) ennreal"
by(rule monotoneI)(simp add: ennreal_leI)
subsubsection \<open>Bijections\<close>
@@ -719,7 +719,7 @@
lemma spmf_rel_conversep: "rel_spmf R\<inverse>\<inverse> = (rel_spmf R)\<inverse>\<inverse>"
by(simp add: option.rel_conversep pmf.rel_conversep)
-lemma spmf_rel_eq: "rel_spmf op = = op ="
+lemma spmf_rel_eq: "rel_spmf (=) = (=)"
by(simp add: pmf.rel_eq option.rel_eq)
context includes lifting_syntax
@@ -736,7 +736,7 @@
by transfer_prover
lemma rel_spmf_parametric:
- "((A ===> B ===> op =) ===> rel_spmf A ===> rel_spmf B ===> op =) rel_spmf rel_spmf"
+ "((A ===> B ===> (=)) ===> rel_spmf A ===> rel_spmf B ===> (=)) rel_spmf rel_spmf"
by transfer_prover
lemma set_spmf_parametric [transfer_rule]:
@@ -766,7 +766,7 @@
text \<open>We do not yet have a relator for @{typ "'a measure"}, so we combine @{const measure} and @{const measure_pmf}\<close>
lemma measure_pmf_parametric:
- "(rel_pmf A ===> rel_pred A ===> op =) (\<lambda>p. measure (measure_pmf p)) (\<lambda>q. measure (measure_pmf q))"
+ "(rel_pmf A ===> rel_pred A ===> (=)) (\<lambda>p. measure (measure_pmf p)) (\<lambda>q. measure (measure_pmf q))"
proof(rule rel_funI)+
fix p q X Y
assume "rel_pmf A p q" and "rel_pred A X Y"
@@ -777,7 +777,7 @@
qed
lemma measure_spmf_parametric:
- "(rel_spmf A ===> rel_pred A ===> op =) (\<lambda>p. measure (measure_spmf p)) (\<lambda>q. measure (measure_spmf q))"
+ "(rel_spmf A ===> rel_pred A ===> (=)) (\<lambda>p. measure (measure_spmf p)) (\<lambda>q. measure (measure_spmf q))"
unfolding measure_measure_spmf_conv_measure_pmf[abs_def]
apply(rule rel_funI)+
apply(erule measure_pmf_parametric[THEN rel_funD, THEN rel_funD])
@@ -1183,7 +1183,7 @@
also have "\<dots> = (\<integral>\<^sup>+ x. ennreal (pmf pq (x, Some y)) * indicator (range Some) x \<partial>count_space UNIV) + pmf pq (None, Some y)"
by(subst nn_integral_add)(simp_all)
also have "\<dots> = (\<integral>\<^sup>+ x. ennreal (spmf p y) * indicator {Some y} x \<partial>count_space UNIV) + (spmf q y - spmf p y)"
- by(auto simp add: pq_def pmf_embed_pmf[OF f] one_ereal_def[symmetric] simp del: nn_integral_indicator_singleton intro!: arg_cong2[where f="op +"] nn_integral_cong split: option.split)
+ by(auto simp add: pq_def pmf_embed_pmf[OF f] one_ereal_def[symmetric] simp del: nn_integral_indicator_singleton intro!: arg_cong2[where f="(+)"] nn_integral_cong split: option.split)
also have "\<dots> = spmf q y" by(simp add: ennreal_minus[symmetric] le)
finally show ?thesis using Some by simp
qed
@@ -1192,7 +1192,7 @@
qed
lemma ord_spmf_eq_leD:
- assumes "ord_spmf op = p q"
+ assumes "ord_spmf (=) p q"
shows "spmf p x \<le> spmf q x"
proof(cases "x \<in> set_spmf p")
case False
@@ -1200,7 +1200,7 @@
next
case True
from assms obtain pq
- where pq: "\<And>x y. (x, y) \<in> set_pmf pq \<Longrightarrow> ord_option op = x y"
+ where pq: "\<And>x y. (x, y) \<in> set_pmf pq \<Longrightarrow> ord_option (=) x y"
and p: "p = map_pmf fst pq"
and q: "q = map_pmf snd pq" by cases auto
have "ennreal (spmf p x) = integral\<^sup>N pq (indicator (fst -` {Some x}))"
@@ -1213,17 +1213,17 @@
finally show ?thesis by simp
qed
-lemma ord_spmf_eqD_set_spmf: "ord_spmf op = p q \<Longrightarrow> set_spmf p \<subseteq> set_spmf q"
+lemma ord_spmf_eqD_set_spmf: "ord_spmf (=) p q \<Longrightarrow> set_spmf p \<subseteq> set_spmf q"
by(rule subsetI)(drule_tac x=x in ord_spmf_eq_leD, auto simp add: in_set_spmf_iff_spmf)
lemma ord_spmf_eqD_emeasure:
- "ord_spmf op = p q \<Longrightarrow> emeasure (measure_spmf p) A \<le> emeasure (measure_spmf q) A"
+ "ord_spmf (=) p q \<Longrightarrow> emeasure (measure_spmf p) A \<le> emeasure (measure_spmf q) A"
by(auto intro!: nn_integral_mono split: split_indicator dest: ord_spmf_eq_leD simp add: nn_integral_measure_spmf nn_integral_indicator[symmetric])
-lemma ord_spmf_eqD_measure_spmf: "ord_spmf op = p q \<Longrightarrow> measure_spmf p \<le> measure_spmf q"
+lemma ord_spmf_eqD_measure_spmf: "ord_spmf (=) p q \<Longrightarrow> measure_spmf p \<le> measure_spmf q"
by (subst le_measure) (auto simp: ord_spmf_eqD_emeasure)
-subsection \<open>CCPO structure for the flat ccpo @{term "ord_option op ="}\<close>
+subsection \<open>CCPO structure for the flat ccpo @{term "ord_option (=)"}\<close>
context fixes Y :: "'a spmf set" begin
@@ -1234,23 +1234,23 @@
lemma lub_spmf_empty [simp]: "SPMF.lub_spmf {} = return_pmf None"
by(simp add: SPMF.lub_spmf_def bot_ereal_def)
-context assumes chain: "Complete_Partial_Order.chain (ord_spmf op =) Y" begin
-
-lemma chain_ord_spmf_eqD: "Complete_Partial_Order.chain (op \<le>) ((\<lambda>p x. ennreal (spmf p x)) ` Y)"
+context assumes chain: "Complete_Partial_Order.chain (ord_spmf (=)) Y" begin
+
+lemma chain_ord_spmf_eqD: "Complete_Partial_Order.chain (\<le>) ((\<lambda>p x. ennreal (spmf p x)) ` Y)"
(is "Complete_Partial_Order.chain _ (?f ` _)")
proof(rule chainI)
fix f g
assume "f \<in> ?f ` Y" "g \<in> ?f ` Y"
then obtain p q where f: "f = ?f p" "p \<in> Y" and g: "g = ?f q" "q \<in> Y" by blast
- from chain \<open>p \<in> Y\<close> \<open>q \<in> Y\<close> have "ord_spmf op = p q \<or> ord_spmf op = q p" by(rule chainD)
+ from chain \<open>p \<in> Y\<close> \<open>q \<in> Y\<close> have "ord_spmf (=) p q \<or> ord_spmf (=) q p" by(rule chainD)
thus "f \<le> g \<or> g \<le> f"
proof
- assume "ord_spmf op = p q"
+ assume "ord_spmf (=) p q"
hence "\<And>x. spmf p x \<le> spmf q x" by(rule ord_spmf_eq_leD)
hence "f \<le> g" unfolding f g by(auto intro: le_funI)
thus ?thesis ..
next
- assume "ord_spmf op = q p"
+ assume "ord_spmf (=) q p"
hence "\<And>x. spmf q x \<le> spmf p x" by(rule ord_spmf_eq_leD)
hence "g \<le> f" unfolding f g by(auto intro: le_funI)
thus ?thesis ..
@@ -1258,7 +1258,7 @@
qed
lemma ord_spmf_eq_pmf_None_eq:
- assumes le: "ord_spmf op = p q"
+ assumes le: "ord_spmf (=) p q"
and None: "pmf p None = pmf q None"
shows "p = q"
proof(rule spmf_eqI)
@@ -1276,7 +1276,7 @@
qed
lemma ord_spmf_eqD_pmf_None:
- assumes "ord_spmf op = x y"
+ assumes "ord_spmf (=) x y"
shows "pmf x None \<ge> pmf y None"
using assms
apply cases
@@ -1292,16 +1292,16 @@
proof(cases "Y = {}")
case Y: False
show ?thesis
- proof(cases "\<exists>x\<in>Y. \<forall>y\<in>Y. ord_spmf op = y x")
+ proof(cases "\<exists>x\<in>Y. \<forall>y\<in>Y. ord_spmf (=) y x")
case True
- then obtain x where x: "x \<in> Y" and upper: "\<And>y. y \<in> Y \<Longrightarrow> ord_spmf op = y x" by blast
+ then obtain x where x: "x \<in> Y" and upper: "\<And>y. y \<in> Y \<Longrightarrow> ord_spmf (=) y x" by blast
hence "(\<Union>x\<in>Y. set_spmf x) \<subseteq> set_spmf x" by(auto dest: ord_spmf_eqD_set_spmf)
thus ?thesis by(rule countable_subset) simp
next
case False
define N :: "'a option pmf \<Rightarrow> real" where "N p = pmf p None" for p
- have N_less_imp_le_spmf: "\<lbrakk> x \<in> Y; y \<in> Y; N y < N x \<rbrakk> \<Longrightarrow> ord_spmf op = x y" for x y
+ have N_less_imp_le_spmf: "\<lbrakk> x \<in> Y; y \<in> Y; N y < N x \<rbrakk> \<Longrightarrow> ord_spmf (=) x y" for x y
using chainD[OF chain, of x y] ord_spmf_eqD_pmf_None[of x y] ord_spmf_eqD_pmf_None[of y x]
by (auto simp: N_def)
have N_eq_imp_eq: "\<lbrakk> x \<in> Y; y \<in> Y; N y = N x \<rbrakk> \<Longrightarrow> x = y" for x y
@@ -1315,7 +1315,7 @@
{ fix y
assume "y \<in> Y"
with ** consider "N x < N y" | "N x = N y" by(auto simp add: not_less le_less)
- hence "ord_spmf op = y x" using \<open>y \<in> Y\<close> \<open>x \<in> Y\<close>
+ hence "ord_spmf (=) y x" using \<open>y \<in> Y\<close> \<open>x \<in> Y\<close>
by cases(auto dest: N_less_imp_le_spmf N_eq_imp_eq intro: ord_spmf_reflI) }
with False \<open>x \<in> Y\<close> show False by blast
qed
@@ -1394,7 +1394,7 @@
lemma lub_spmf_upper:
assumes p: "p \<in> Y"
- shows "ord_spmf op = p lub_spmf"
+ shows "ord_spmf (=) p lub_spmf"
proof(rule ord_pmf_increaseI)
fix x
from p have [simp]: "Y \<noteq> {}" by auto
@@ -1405,8 +1405,8 @@
qed simp
lemma lub_spmf_least:
- assumes z: "\<And>x. x \<in> Y \<Longrightarrow> ord_spmf op = x z"
- shows "ord_spmf op = lub_spmf z"
+ assumes z: "\<And>x. x \<in> Y \<Longrightarrow> ord_spmf (=) x z"
+ shows "ord_spmf (=) lub_spmf z"
proof(cases "Y = {}")
case nonempty: False
show ?thesis
@@ -1451,9 +1451,9 @@
proof(rule nn_integral_monotone_convergence_SUP_countable)
have "(\<lambda>i x. ennreal (spmf i x) * indicator A x) ` Y = (\<lambda>f x. f x * indicator A x) ` (\<lambda>p x. ennreal (spmf p x)) ` Y"
by(simp add: image_image)
- also have "Complete_Partial_Order.chain op \<le> \<dots>" using chain_ord_spmf_eqD
+ also have "Complete_Partial_Order.chain (\<le>) \<dots>" using chain_ord_spmf_eqD
by(rule chain_imageI)(auto simp add: le_fun_def split: split_indicator)
- finally show "Complete_Partial_Order.chain op \<le> ((\<lambda>i x. ennreal (spmf i x) * indicator A x) ` Y)" .
+ finally show "Complete_Partial_Order.chain (\<le>) ((\<lambda>i x. ennreal (spmf i x) * indicator A x) ` Y)" .
qed simp
also have "\<dots> = (SUP y:Y. \<integral>\<^sup>+ x. ennreal (spmf y x) * indicator A x \<partial>count_space UNIV)"
by(auto simp add: nn_integral_count_space_indicator set_lub_spmf spmf_eq_0_set_spmf split: split_indicator intro!: SUP_cong nn_integral_cong)
@@ -1484,7 +1484,7 @@
shows "measure_spmf lub_spmf = (SUP p:Y. measure_spmf p)" (is "?lhs = ?rhs")
proof(rule measure_eqI)
from assms obtain p where p: "p \<in> Y" by auto
- from chain have chain': "Complete_Partial_Order.chain op \<le> (measure_spmf ` Y)"
+ from chain have chain': "Complete_Partial_Order.chain (\<le>) (measure_spmf ` Y)"
by(rule chain_imageI)(rule ord_spmf_eqD_measure_spmf)
show "sets ?lhs = sets ?rhs"
using Y by (subst sets_SUP) auto
@@ -1496,7 +1496,7 @@
end
-lemma partial_function_definitions_spmf: "partial_function_definitions (ord_spmf op =) lub_spmf"
+lemma partial_function_definitions_spmf: "partial_function_definitions (ord_spmf (=)) lub_spmf"
(is "partial_function_definitions ?R _")
proof
fix x show "?R x x" by(simp add: ord_spmf_reflI)
@@ -1521,10 +1521,10 @@
by(cases "Y = {}")(simp_all add: lub_spmf_least)
qed
-lemma ccpo_spmf: "class.ccpo lub_spmf (ord_spmf op =) (mk_less (ord_spmf op =))"
+lemma ccpo_spmf: "class.ccpo lub_spmf (ord_spmf (=)) (mk_less (ord_spmf (=)))"
by(rule ccpo partial_function_definitions_spmf)+
-interpretation spmf: partial_function_definitions "ord_spmf op =" "lub_spmf"
+interpretation spmf: partial_function_definitions "ord_spmf (=)" "lub_spmf"
rewrites "lub_spmf {} \<equiv> return_pmf None"
by(rule partial_function_definitions_spmf) simp
@@ -1535,15 +1535,15 @@
declare spmf.leq_refl[simp]
declare admissible_leI[OF ccpo_spmf, cont_intro]
-abbreviation "mono_spmf \<equiv> monotone (fun_ord (ord_spmf op =)) (ord_spmf op =)"
+abbreviation "mono_spmf \<equiv> monotone (fun_ord (ord_spmf (=))) (ord_spmf (=))"
lemma lub_spmf_const [simp]: "lub_spmf {p} = p"
by(rule spmf_eqI)(simp add: spmf_lub_spmf[OF ccpo.chain_singleton[OF ccpo_spmf]])
lemma bind_spmf_mono':
- assumes fg: "ord_spmf op = f g"
- and hk: "\<And>x :: 'a. ord_spmf op = (h x) (k x)"
- shows "ord_spmf op = (f \<bind> h) (g \<bind> k)"
+ assumes fg: "ord_spmf (=) f g"
+ and hk: "\<And>x :: 'a. ord_spmf (=) (h x) (k x)"
+ shows "ord_spmf (=) (f \<bind> h) (g \<bind> k)"
unfolding bind_spmf_def using assms(1)
by(rule rel_pmf_bindI)(auto split: option.split simp add: hk)
@@ -1552,33 +1552,33 @@
shows "mono_spmf (\<lambda>f. bind_spmf (B f) (\<lambda>y. C y f))"
proof (rule monotoneI)
fix f g :: "'a \<Rightarrow> 'b spmf"
- assume fg: "fun_ord (ord_spmf op =) f g"
- with mf have "ord_spmf op = (B f) (B g)" by (rule monotoneD[of _ _ _ f g])
- moreover from mg have "\<And>y'. ord_spmf op = (C y' f) (C y' g)"
+ assume fg: "fun_ord (ord_spmf (=)) f g"
+ with mf have "ord_spmf (=) (B f) (B g)" by (rule monotoneD[of _ _ _ f g])
+ moreover from mg have "\<And>y'. ord_spmf (=) (C y' f) (C y' g)"
by (rule monotoneD) (rule fg)
- ultimately show "ord_spmf op = (bind_spmf (B f) (\<lambda>y. C y f)) (bind_spmf (B g) (\<lambda>y'. C y' g))"
+ ultimately show "ord_spmf (=) (bind_spmf (B f) (\<lambda>y. C y f)) (bind_spmf (B g) (\<lambda>y'. C y' g))"
by(rule bind_spmf_mono')
qed
-lemma monotone_bind_spmf1: "monotone (ord_spmf op =) (ord_spmf op =) (\<lambda>y. bind_spmf y g)"
+lemma monotone_bind_spmf1: "monotone (ord_spmf (=)) (ord_spmf (=)) (\<lambda>y. bind_spmf y g)"
by(rule monotoneI)(simp add: bind_spmf_mono' ord_spmf_reflI)
lemma monotone_bind_spmf2:
- assumes g: "\<And>x. monotone ord (ord_spmf op =) (\<lambda>y. g y x)"
- shows "monotone ord (ord_spmf op =) (\<lambda>y. bind_spmf p (g y))"
+ assumes g: "\<And>x. monotone ord (ord_spmf (=)) (\<lambda>y. g y x)"
+ shows "monotone ord (ord_spmf (=)) (\<lambda>y. bind_spmf p (g y))"
by(rule monotoneI)(auto intro: bind_spmf_mono' monotoneD[OF g] ord_spmf_reflI)
lemma bind_lub_spmf:
- assumes chain: "Complete_Partial_Order.chain (ord_spmf op =) Y"
+ assumes chain: "Complete_Partial_Order.chain (ord_spmf (=)) Y"
shows "bind_spmf (lub_spmf Y) f = lub_spmf ((\<lambda>p. bind_spmf p f) ` Y)" (is "?lhs = ?rhs")
proof(cases "Y = {}")
case Y: False
show ?thesis
proof(rule spmf_eqI)
fix i
- have chain': "Complete_Partial_Order.chain op \<le> ((\<lambda>p x. ennreal (spmf p x * spmf (f x) i)) ` Y)"
+ have chain': "Complete_Partial_Order.chain (\<le>) ((\<lambda>p x. ennreal (spmf p x * spmf (f x) i)) ` Y)"
using chain by(rule chain_imageI)(auto simp add: le_fun_def dest: ord_spmf_eq_leD intro: mult_right_mono)
- have chain'': "Complete_Partial_Order.chain (ord_spmf op =) ((\<lambda>p. p \<bind> f) ` Y)"
+ have chain'': "Complete_Partial_Order.chain (ord_spmf (=)) ((\<lambda>p. p \<bind> f) ` Y)"
using chain by(rule chain_imageI)(auto intro!: monotoneI bind_spmf_mono' ord_spmf_reflI)
let ?M = "count_space (set_spmf (lub_spmf Y))"
have "ennreal (spmf ?lhs i) = \<integral>\<^sup>+ x. ennreal (spmf (lub_spmf Y) x) * ennreal (spmf (f x) i) \<partial>?M"
@@ -1595,16 +1595,16 @@
qed simp
lemma map_lub_spmf:
- "Complete_Partial_Order.chain (ord_spmf op =) Y
+ "Complete_Partial_Order.chain (ord_spmf (=)) Y
\<Longrightarrow> map_spmf f (lub_spmf Y) = lub_spmf (map_spmf f ` Y)"
unfolding map_spmf_conv_bind_spmf[abs_def] by(simp add: bind_lub_spmf o_def)
-lemma mcont_bind_spmf1: "mcont lub_spmf (ord_spmf op =) lub_spmf (ord_spmf op =) (\<lambda>y. bind_spmf y f)"
+lemma mcont_bind_spmf1: "mcont lub_spmf (ord_spmf (=)) lub_spmf (ord_spmf (=)) (\<lambda>y. bind_spmf y f)"
using monotone_bind_spmf1 by(rule mcontI)(rule contI, simp add: bind_lub_spmf)
lemma bind_lub_spmf2:
assumes chain: "Complete_Partial_Order.chain ord Y"
- and g: "\<And>y. monotone ord (ord_spmf op =) (g y)"
+ and g: "\<And>y. monotone ord (ord_spmf (=)) (g y)"
shows "bind_spmf x (\<lambda>y. lub_spmf (g y ` Y)) = lub_spmf ((\<lambda>p. bind_spmf x (\<lambda>y. g y p)) ` Y)"
(is "?lhs = ?rhs")
proof(cases "Y = {}")
@@ -1612,11 +1612,11 @@
show ?thesis
proof(rule spmf_eqI)
fix i
- have chain': "\<And>y. Complete_Partial_Order.chain (ord_spmf op =) (g y ` Y)"
+ have chain': "\<And>y. Complete_Partial_Order.chain (ord_spmf (=)) (g y ` Y)"
using chain g[THEN monotoneD] by(rule chain_imageI)
- have chain'': "Complete_Partial_Order.chain op \<le> ((\<lambda>p y. ennreal (spmf x y * spmf (g y p) i)) ` Y)"
+ have chain'': "Complete_Partial_Order.chain (\<le>) ((\<lambda>p y. ennreal (spmf x y * spmf (g y p) i)) ` Y)"
using chain by(rule chain_imageI)(auto simp add: le_fun_def dest: ord_spmf_eq_leD monotoneD[OF g] intro!: mult_left_mono)
- have chain''': "Complete_Partial_Order.chain (ord_spmf op =) ((\<lambda>p. bind_spmf x (\<lambda>y. g y p)) ` Y)"
+ have chain''': "Complete_Partial_Order.chain (ord_spmf (=)) ((\<lambda>p. bind_spmf x (\<lambda>y. g y p)) ` Y)"
using chain by(rule chain_imageI)(rule monotone_bind_spmf2[OF g, THEN monotoneD])
have "ennreal (spmf ?lhs i) = \<integral>\<^sup>+ y. (SUP p:Y. ennreal (spmf x y * spmf (g y p) i)) \<partial>count_space (set_spmf x)"
@@ -1633,18 +1633,18 @@
qed simp
lemma mcont_bind_spmf [cont_intro]:
- assumes f: "mcont luba orda lub_spmf (ord_spmf op =) f"
- and g: "\<And>y. mcont luba orda lub_spmf (ord_spmf op =) (g y)"
- shows "mcont luba orda lub_spmf (ord_spmf op =) (\<lambda>x. bind_spmf (f x) (\<lambda>y. g y x))"
+ assumes f: "mcont luba orda lub_spmf (ord_spmf (=)) f"
+ and g: "\<And>y. mcont luba orda lub_spmf (ord_spmf (=)) (g y)"
+ shows "mcont luba orda lub_spmf (ord_spmf (=)) (\<lambda>x. bind_spmf (f x) (\<lambda>y. g y x))"
proof(rule spmf.mcont2mcont'[OF _ _ f])
fix z
- show "mcont lub_spmf (ord_spmf op =) lub_spmf (ord_spmf op =) (\<lambda>x. bind_spmf x (\<lambda>y. g y z))"
+ show "mcont lub_spmf (ord_spmf (=)) lub_spmf (ord_spmf (=)) (\<lambda>x. bind_spmf x (\<lambda>y. g y z))"
by(rule mcont_bind_spmf1)
next
fix x
let ?f = "\<lambda>z. bind_spmf x (\<lambda>y. g y z)"
- have "monotone orda (ord_spmf op =) ?f" using mcont_mono[OF g] by(rule monotone_bind_spmf2)
- moreover have "cont luba orda lub_spmf (ord_spmf op =) ?f"
+ have "monotone orda (ord_spmf (=)) ?f" using mcont_mono[OF g] by(rule monotone_bind_spmf2)
+ moreover have "cont luba orda lub_spmf (ord_spmf (=)) ?f"
proof(rule contI)
fix Y
assume chain: "Complete_Partial_Order.chain orda Y" and Y: "Y \<noteq> {}"
@@ -1654,7 +1654,7 @@
by(rule bind_lub_spmf2)(rule mcont_mono[OF g])
finally show "bind_spmf x (\<lambda>y. g y (luba Y)) = \<dots>" .
qed
- ultimately show "mcont luba orda lub_spmf (ord_spmf op =) ?f" by(rule mcontI)
+ ultimately show "mcont luba orda lub_spmf (ord_spmf (=)) ?f" by(rule mcontI)
qed
lemma bind_pmf_mono [partial_function_mono]:
@@ -1665,34 +1665,34 @@
unfolding map_spmf_conv_bind_spmf by(rule bind_spmf_mono) simp_all
lemma mcont_map_spmf [cont_intro]:
- "mcont luba orda lub_spmf (ord_spmf op =) g
- \<Longrightarrow> mcont luba orda lub_spmf (ord_spmf op =) (\<lambda>x. map_spmf f (g x))"
+ "mcont luba orda lub_spmf (ord_spmf (=)) g
+ \<Longrightarrow> mcont luba orda lub_spmf (ord_spmf (=)) (\<lambda>x. map_spmf f (g x))"
unfolding map_spmf_conv_bind_spmf by(rule mcont_bind_spmf) simp_all
-lemma monotone_set_spmf: "monotone (ord_spmf op =) op \<subseteq> set_spmf"
+lemma monotone_set_spmf: "monotone (ord_spmf (=)) (\<subseteq>) set_spmf"
by(rule monotoneI)(rule ord_spmf_eqD_set_spmf)
-lemma cont_set_spmf: "cont lub_spmf (ord_spmf op =) Union op \<subseteq> set_spmf"
+lemma cont_set_spmf: "cont lub_spmf (ord_spmf (=)) Union (\<subseteq>) set_spmf"
by(rule contI)(subst set_lub_spmf; simp)
lemma mcont2mcont_set_spmf[THEN mcont2mcont, cont_intro]:
- shows mcont_set_spmf: "mcont lub_spmf (ord_spmf op =) Union op \<subseteq> set_spmf"
+ shows mcont_set_spmf: "mcont lub_spmf (ord_spmf (=)) Union (\<subseteq>) set_spmf"
by(rule mcontI monotone_set_spmf cont_set_spmf)+
-lemma monotone_spmf: "monotone (ord_spmf op =) op \<le> (\<lambda>p. spmf p x)"
+lemma monotone_spmf: "monotone (ord_spmf (=)) (\<le>) (\<lambda>p. spmf p x)"
by(rule monotoneI)(simp add: ord_spmf_eq_leD)
-lemma cont_spmf: "cont lub_spmf (ord_spmf op =) Sup op \<le> (\<lambda>p. spmf p x)"
+lemma cont_spmf: "cont lub_spmf (ord_spmf (=)) Sup (\<le>) (\<lambda>p. spmf p x)"
by(rule contI)(simp add: spmf_lub_spmf)
-lemma mcont_spmf: "mcont lub_spmf (ord_spmf op =) Sup op \<le> (\<lambda>p. spmf p x)"
+lemma mcont_spmf: "mcont lub_spmf (ord_spmf (=)) Sup (\<le>) (\<lambda>p. spmf p x)"
by(rule mcontI monotone_spmf cont_spmf)+
-lemma cont_ennreal_spmf: "cont lub_spmf (ord_spmf op =) Sup op \<le> (\<lambda>p. ennreal (spmf p x))"
+lemma cont_ennreal_spmf: "cont lub_spmf (ord_spmf (=)) Sup (\<le>) (\<lambda>p. ennreal (spmf p x))"
by(rule contI)(simp add: ennreal_spmf_lub_spmf)
lemma mcont2mcont_ennreal_spmf [THEN mcont2mcont, cont_intro]:
- shows mcont_ennreal_spmf: "mcont lub_spmf (ord_spmf op =) Sup op \<le> (\<lambda>p. ennreal (spmf p x))"
+ shows mcont_ennreal_spmf: "mcont lub_spmf (ord_spmf (=)) Sup (\<le>) (\<lambda>p. ennreal (spmf p x))"
by(rule mcontI mono2mono_ennreal monotone_spmf cont_ennreal_spmf)+
lemma nn_integral_map_spmf [simp]: "nn_integral (measure_spmf (map_spmf f p)) g = nn_integral (measure_spmf p) (g \<circ> f)"
@@ -1756,7 +1756,7 @@
qed
lemma admissible_rel_spmf:
- "ccpo.admissible (prod_lub lub_spmf lub_spmf) (rel_prod (ord_spmf op =) (ord_spmf op =)) (case_prod (rel_spmf R))"
+ "ccpo.admissible (prod_lub lub_spmf lub_spmf) (rel_prod (ord_spmf (=)) (ord_spmf (=))) (case_prod (rel_spmf R))"
(is "ccpo.admissible ?lub ?ord ?P")
proof(rule ccpo.admissibleI)
fix Y
@@ -1764,8 +1764,8 @@
and Y: "Y \<noteq> {}"
and R: "\<forall>(p, q) \<in> Y. rel_spmf R p q"
from R have R: "\<And>p q. (p, q) \<in> Y \<Longrightarrow> rel_spmf R p q" by auto
- have chain1: "Complete_Partial_Order.chain (ord_spmf op =) (fst ` Y)"
- and chain2: "Complete_Partial_Order.chain (ord_spmf op =) (snd ` Y)"
+ have chain1: "Complete_Partial_Order.chain (ord_spmf (=)) (fst ` Y)"
+ and chain2: "Complete_Partial_Order.chain (ord_spmf (=)) (snd ` Y)"
using chain by(rule chain_imageI; clarsimp)+
from Y have Y1: "fst ` Y \<noteq> {}" and Y2: "snd ` Y \<noteq> {}" by auto
@@ -1787,7 +1787,7 @@
qed
lemma admissible_rel_spmf_mcont [cont_intro]:
- "\<lbrakk> mcont lub ord lub_spmf (ord_spmf op =) f; mcont lub ord lub_spmf (ord_spmf op =) g \<rbrakk>
+ "\<lbrakk> mcont lub ord lub_spmf (ord_spmf (=)) f; mcont lub ord lub_spmf (ord_spmf (=)) g \<rbrakk>
\<Longrightarrow> ccpo.admissible lub ord (\<lambda>x. rel_spmf R (f x) (g x))"
by(rule admissible_subst[OF admissible_rel_spmf, where f="\<lambda>x. (f x, g x)", simplified])(rule mcont_Pair)
@@ -1795,10 +1795,10 @@
begin
lemma fixp_spmf_parametric':
- assumes f: "\<And>x. monotone (ord_spmf op =) (ord_spmf op =) F"
- and g: "\<And>x. monotone (ord_spmf op =) (ord_spmf op =) G"
+ assumes f: "\<And>x. monotone (ord_spmf (=)) (ord_spmf (=)) F"
+ and g: "\<And>x. monotone (ord_spmf (=)) (ord_spmf (=)) G"
and param: "(rel_spmf R ===> rel_spmf R) F G"
- shows "(rel_spmf R) (ccpo.fixp lub_spmf (ord_spmf op =) F) (ccpo.fixp lub_spmf (ord_spmf op =) G)"
+ shows "(rel_spmf R) (ccpo.fixp lub_spmf (ord_spmf (=)) F) (ccpo.fixp lub_spmf (ord_spmf (=)) G)"
by(rule parallel_fixp_induct[OF ccpo_spmf ccpo_spmf _ f g])(auto intro: param[THEN rel_funD])
lemma fixp_spmf_parametric:
@@ -1808,7 +1808,7 @@
shows "(A ===> rel_spmf R) (spmf.fixp_fun F) (spmf.fixp_fun G)"
using f g
proof(rule parallel_fixp_induct_1_1[OF partial_function_definitions_spmf partial_function_definitions_spmf _ _ reflexive reflexive, where P="(A ===> rel_spmf R)"])
- show "ccpo.admissible (prod_lub (fun_lub lub_spmf) (fun_lub lub_spmf)) (rel_prod (fun_ord (ord_spmf op =)) (fun_ord (ord_spmf op =))) (\<lambda>x. (A ===> rel_spmf R) (fst x) (snd x))"
+ show "ccpo.admissible (prod_lub (fun_lub lub_spmf) (fun_lub lub_spmf)) (rel_prod (fun_ord (ord_spmf (=))) (fun_ord (ord_spmf (=)))) (\<lambda>x. (A ===> rel_spmf R) (fst x) (snd x))"
unfolding rel_fun_def
apply(rule admissible_all admissible_imp admissible_rel_spmf_mcont)+
apply(rule spmf.mcont2mcont[OF mcont_call])
@@ -2075,9 +2075,9 @@
abbreviation coin_spmf :: "bool spmf"
where "coin_spmf \<equiv> spmf_of_set UNIV"
-lemma map_eq_const_coin_spmf: "map_spmf (op = c) coin_spmf = coin_spmf"
+lemma map_eq_const_coin_spmf: "map_spmf ((=) c) coin_spmf = coin_spmf"
proof -
- have "inj (op \<longleftrightarrow> c)" "range (op \<longleftrightarrow> c) = UNIV" by(auto intro: inj_onI)
+ have "inj ((\<longleftrightarrow>) c)" "range ((\<longleftrightarrow>) c) = UNIV" by(auto intro: inj_onI)
then show ?thesis by simp
qed
@@ -2714,11 +2714,11 @@
and fundamental_lemma: "\<bar>measure (measure_spmf p) {x. A x} - measure (measure_spmf q) {y. B y}\<bar> \<le>
measure (measure_spmf p) {x. bad1 x}" (is ?fundamental)
proof -
- have good: "rel_fun ?A op = (\<lambda>x. A x \<and> \<not> bad1 x) (\<lambda>y. B y \<and> \<not> bad2 y)" by(auto simp add: rel_fun_def)
+ have good: "rel_fun ?A (=) (\<lambda>x. A x \<and> \<not> bad1 x) (\<lambda>y. B y \<and> \<not> bad2 y)" by(auto simp add: rel_fun_def)
from assms have 1: "measure (measure_spmf p) {x. A x \<and> \<not> bad1 x} = measure (measure_spmf q) {y. B y \<and> \<not> bad2 y}"
by(rule measure_spmf_parametric[THEN rel_funD, THEN rel_funD])(rule Collect_parametric[THEN rel_funD, OF good])
- have bad: "rel_fun ?A op = bad1 bad2" by(simp add: rel_fun_def)
+ have bad: "rel_fun ?A (=) bad1 bad2" by(simp add: rel_fun_def)
show 2: ?bad using assms
by(rule measure_spmf_parametric[THEN rel_funD, THEN rel_funD])(rule Collect_parametric[THEN rel_funD, OF bad])
--- a/src/HOL/Probability/Stream_Space.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/Stream_Space.thy Wed Jan 10 15:25:09 2018 +0100
@@ -62,9 +62,9 @@
proof (rule measurable_vimage_algebra2)
show "f \<in> space N \<rightarrow> streams (space M)"
using f_snth[THEN measurable_space] by (auto simp add: streams_iff_sset sset_range)
- show "(\<lambda>x. op !! (f x)) \<in> measurable N (Pi\<^sub>M UNIV (\<lambda>i. M))"
+ show "(\<lambda>x. (!!) (f x)) \<in> measurable N (Pi\<^sub>M UNIV (\<lambda>i. M))"
proof (rule measurable_PiM_single')
- show "(\<lambda>x. op !! (f x)) \<in> space N \<rightarrow> UNIV \<rightarrow>\<^sub>E space M"
+ show "(\<lambda>x. (!!) (f x)) \<in> space N \<rightarrow> UNIV \<rightarrow>\<^sub>E space M"
using f_snth[THEN measurable_space] by auto
qed (rule f_snth)
qed
@@ -305,7 +305,7 @@
primrec sstart :: "'a set \<Rightarrow> 'a list \<Rightarrow> 'a stream set" where
"sstart S [] = streams S"
-| [simp del]: "sstart S (x # xs) = op ## x ` sstart S xs"
+| [simp del]: "sstart S (x # xs) = (##) x ` sstart S xs"
lemma in_sstart[simp]: "s \<in> sstart S (x # xs) \<longleftrightarrow> shd s = x \<and> stl s \<in> sstart S xs"
by (cases s) (auto simp: sstart.simps(2))
@@ -391,7 +391,7 @@
show ?case
proof cases
assume "x = y"
- then have "sstart S (x # xs) \<inter> sstart S (y # ys) = op ## x ` (sstart S xs \<inter> sstart S ys)"
+ then have "sstart S (x # xs) \<inter> sstart S (y # ys) = (##) x ` (sstart S xs \<inter> sstart S ys)"
by (auto simp: image_iff intro!: stream.collapse[symmetric])
also have "\<dots> \<in> sstart S ` lists S \<union> {{}}"
using 4 by (auto simp: sstart.simps(2)[symmetric] del: in_listsD)
--- a/src/HOL/Probability/ex/Dining_Cryptographers.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/ex/Dining_Cryptographers.thy Wed Jan 10 15:25:09 2018 +0100
@@ -59,7 +59,7 @@
assumes "dc \<in> dining_cryptographers"
shows "result dc \<longleftrightarrow> (payer dc \<noteq> None)"
proof -
- let ?XOR = "\<lambda>f l. foldl (op \<noteq>) False (map f [0..<l])"
+ let ?XOR = "\<lambda>f l. foldl (\<noteq>) False (map f [0..<l])"
have foldl_coin:
"\<not> ?XOR (\<lambda>c. coin dc c \<noteq> coin dc (c + 1)) n"
--- a/src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -194,7 +194,7 @@
definition t :: "'observation list \<Rightarrow> 'observation \<Rightarrow> nat" where
t_def2: "t seq obs = card { i. i < length seq \<and> seq ! i = obs}"
-lemma t_def: "t seq obs = length (filter (op = obs) seq)"
+lemma t_def: "t seq obs = length (filter ((=) obs) seq)"
unfolding t_def2 length_filter_conv_card by (subst eq_commute) simp
lemma card_T_bound: "card ((t\<circ>OB)`msgs) \<le> (n+1)^card observations"
--- a/src/HOL/Probability/ex/Measure_Not_CCC.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Probability/ex/Measure_Not_CCC.thy Wed Jan 10 15:25:09 2018 +0100
@@ -32,7 +32,7 @@
lemma measurable_const_iff: "(\<lambda>x. c) \<in> measurable A B \<longleftrightarrow> (space A = {} \<or> c \<in> space B)"
by (auto simp: measurable_def)
-lemma measurable_eq[measurable]: "(op = x) \<in> measurable COCOUNT BOOL"
+lemma measurable_eq[measurable]: "((=) x) \<in> measurable COCOUNT BOOL"
unfolding pred_def by (auto simp: COCOUNT_def)
lemma COCOUNT_eq: "A \<in> COCOUNT \<longleftrightarrow> countable A \<or> countable (UNIV - A)"
--- a/src/HOL/Prolog/Test.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Prolog/Test.thy Wed Jan 10 15:25:09 2018 +0100
@@ -210,7 +210,7 @@
apply (prolog prog_Test)
done
-lemma "? P. eq P op | & P k True"
+lemma "? P. eq P (|) & P k True"
apply (prolog prog_Test)
done
--- a/src/HOL/Proofs/Extraction/Higman_Extraction.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Proofs/Extraction/Higman_Extraction.thy Wed Jan 10 15:25:09 2018 +0100
@@ -58,7 +58,7 @@
})}"
by pat_completeness auto
termination
- by (relation "measure ((op -) 1001)") auto
+ by (relation "measure ((-) 1001)") auto
definition mk_word :: "Random.seed \<Rightarrow> letter list \<times> Random.seed"
where "mk_word = mk_word_aux 0"
--- a/src/HOL/Proofs/Lambda/ListApplication.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Proofs/Lambda/ListApplication.thy Wed Jan 10 15:25:09 2018 +0100
@@ -9,7 +9,7 @@
abbreviation
list_application :: "dB => dB list => dB" (infixl "\<degree>\<degree>" 150) where
- "t \<degree>\<degree> ts == foldl (op \<degree>) t ts"
+ "t \<degree>\<degree> ts == foldl (\<degree>) t ts"
lemma apps_eq_tail_conv [iff]: "(r \<degree>\<degree> ts = s \<degree>\<degree> ts) = (r = s)"
by (induct ts rule: rev_induct) auto
@@ -75,7 +75,7 @@
done
lemma size_apps [simp]:
- "size (r \<degree>\<degree> rs) = size r + foldl (op +) 0 (map size rs) + length rs"
+ "size (r \<degree>\<degree> rs) = size r + foldl (+) 0 (map size rs) + length rs"
by (induct rs rule: rev_induct) auto
lemma lem0: "[| (0::nat) < k; m <= n |] ==> m < n + k"
--- a/src/HOL/Proofs/Lambda/Standardization.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Proofs/Lambda/Standardization.thy Wed Jan 10 15:25:09 2018 +0100
@@ -23,7 +23,7 @@
sred :: "dB \<Rightarrow> dB \<Rightarrow> bool" (infixl "\<rightarrow>\<^sub>s" 50)
and sredlist :: "dB list \<Rightarrow> dB list \<Rightarrow> bool" (infixl "[\<rightarrow>\<^sub>s]" 50)
where
- "s [\<rightarrow>\<^sub>s] t \<equiv> listrelp op \<rightarrow>\<^sub>s s t"
+ "s [\<rightarrow>\<^sub>s] t \<equiv> listrelp (\<rightarrow>\<^sub>s) s t"
| Var: "rs [\<rightarrow>\<^sub>s] rs' \<Longrightarrow> Var x \<degree>\<degree> rs \<rightarrow>\<^sub>s Var x \<degree>\<degree> rs'"
| Abs: "r \<rightarrow>\<^sub>s r' \<Longrightarrow> ss [\<rightarrow>\<^sub>s] ss' \<Longrightarrow> Abs r \<degree>\<degree> ss \<rightarrow>\<^sub>s Abs r' \<degree>\<degree> ss'"
| Beta: "r[s/0] \<degree>\<degree> ss \<rightarrow>\<^sub>s t \<Longrightarrow> Abs r \<degree> s \<degree>\<degree> ss \<rightarrow>\<^sub>s t"
@@ -98,7 +98,7 @@
qed
lemma listrelp_betas:
- assumes ts: "listrelp op \<rightarrow>\<^sub>\<beta>\<^sup>* ts ts'"
+ assumes ts: "listrelp (\<rightarrow>\<^sub>\<beta>\<^sup>*) ts ts'"
shows "\<And>t t'. t \<rightarrow>\<^sub>\<beta>\<^sup>* t' \<Longrightarrow> t \<degree>\<degree> ts \<rightarrow>\<^sub>\<beta>\<^sup>* t' \<degree>\<degree> ts'" using ts
by induct auto
@@ -246,7 +246,7 @@
lred :: "dB \<Rightarrow> dB \<Rightarrow> bool" (infixl "\<rightarrow>\<^sub>l" 50)
and lredlist :: "dB list \<Rightarrow> dB list \<Rightarrow> bool" (infixl "[\<rightarrow>\<^sub>l]" 50)
where
- "s [\<rightarrow>\<^sub>l] t \<equiv> listrelp op \<rightarrow>\<^sub>l s t"
+ "s [\<rightarrow>\<^sub>l] t \<equiv> listrelp (\<rightarrow>\<^sub>l) s t"
| Var: "rs [\<rightarrow>\<^sub>l] rs' \<Longrightarrow> Var x \<degree>\<degree> rs \<rightarrow>\<^sub>l Var x \<degree>\<degree> rs'"
| Abs: "r \<rightarrow>\<^sub>l r' \<Longrightarrow> Abs r \<rightarrow>\<^sub>l Abs r'"
| Beta: "r[s/0] \<degree>\<degree> ss \<rightarrow>\<^sub>l t \<Longrightarrow> Abs r \<degree> s \<degree>\<degree> ss \<rightarrow>\<^sub>l t"
--- a/src/HOL/Proofs/ex/Proof_Terms.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Proofs/ex/Proof_Terms.thy Wed Jan 10 15:25:09 2018 +0100
@@ -35,7 +35,7 @@
(*all theorems used in the graph of nested proofs*)
val all_thms =
Proofterm.fold_body_thms
- (fn {name, ...} => insert (op =) name) [body] [];
+ (fn {name, ...} => insert (=) name) [body] [];
\<close>
text \<open>
--- a/src/HOL/Quickcheck_Examples/Quickcheck_Examples.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quickcheck_Examples/Quickcheck_Examples.thy Wed Jan 10 15:25:09 2018 +0100
@@ -474,8 +474,8 @@
fixes R
assumes "R x y --> R y x --> x = y"
-interpretation equal : antisym "op =" by standard simp
-interpretation order_nat : antisym "op <= :: nat => _ => _" by standard simp
+interpretation equal : antisym "(=)" by standard simp
+interpretation order_nat : antisym "(<=) :: nat => _ => _" by standard simp
lemma (in antisym)
"R x y --> R y z --> R x z"
--- a/src/HOL/Quickcheck_Narrowing.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quickcheck_Narrowing.thy Wed Jan 10 15:25:09 2018 +0100
@@ -33,7 +33,7 @@
fun print _ = Code_Haskell.print_numeral "Prelude.Int";
in
Numeral.add_code @{const_name Code_Numeral.Pos} I print target
- #> Numeral.add_code @{const_name Code_Numeral.Neg} (op ~) print target
+ #> Numeral.add_code @{const_name Code_Numeral.Neg} (~) print target
end
\<close>
--- a/src/HOL/Quickcheck_Random.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quickcheck_Random.thy Wed Jan 10 15:25:09 2018 +0100
@@ -136,7 +136,7 @@
\<Rightarrow> Random.seed \<Rightarrow> (('a::term_of \<Rightarrow> 'b::typerep) \<times> (unit \<Rightarrow> term)) \<times> Random.seed"
where
"random_fun_lift f =
- random_fun_aux TYPEREP('a) TYPEREP('b) (op =) Code_Evaluation.term_of f Random.split_seed"
+ random_fun_aux TYPEREP('a) TYPEREP('b) (=) Code_Evaluation.term_of f Random.split_seed"
instantiation "fun" :: ("{equal, term_of}", random) random
begin
--- a/src/HOL/Quotient.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient.thy Wed Jan 10 15:25:09 2018 +0100
@@ -25,7 +25,7 @@
"r1 OOO r2 \<equiv> r1 OO r2 OO r1"
lemma eq_comp_r:
- shows "((op =) OOO R) = R"
+ shows "((=) OOO R) = R"
by (auto simp add: fun_eq_iff)
context includes lifting_syntax
@@ -132,7 +132,7 @@
end
lemma identity_quotient3:
- "Quotient3 (op =) id id"
+ "Quotient3 (=) id id"
unfolding Quotient3_def id_def
by blast
@@ -364,17 +364,17 @@
(* 3 lemmas needed for proving repabs_inj *)
lemma ball_rsp:
- assumes a: "(R ===> (op =)) f g"
+ assumes a: "(R ===> (=)) f g"
shows "Ball (Respects R) f = Ball (Respects R) g"
using a by (auto simp add: Ball_def in_respects elim: rel_funE)
lemma bex_rsp:
- assumes a: "(R ===> (op =)) f g"
+ assumes a: "(R ===> (=)) f g"
shows "(Bex (Respects R) f = Bex (Respects R) g)"
using a by (auto simp add: Bex_def in_respects elim: rel_funE)
lemma bex1_rsp:
- assumes a: "(R ===> (op =)) f g"
+ assumes a: "(R ===> (=)) f g"
shows "Ex1 (\<lambda>x. x \<in> Respects R \<and> f x) = Ex1 (\<lambda>x. x \<in> Respects R \<and> g x)"
using a by (auto elim: rel_funE simp add: Ex1_def in_respects)
@@ -438,7 +438,7 @@
lemma bex1_rel_rsp:
assumes a: "Quotient3 R absf repf"
- shows "((R ===> op =) ===> op =) (Bex1_rel R) (Bex1_rel R)"
+ shows "((R ===> (=)) ===> (=)) (Bex1_rel R) (Bex1_rel R)"
apply (simp add: rel_fun_def)
apply clarify
apply rule
@@ -509,7 +509,7 @@
lemma quot_rel_rsp:
assumes a: "Quotient3 R Abs Rep"
- shows "(R ===> R ===> op =) R R"
+ shows "(R ===> R ===> (=)) R R"
apply(rule rel_funI)+
apply(rule equals_rsp[OF a])
apply(assumption)+
@@ -519,14 +519,14 @@
assumes q1: "Quotient3 R1 Abs1 Rep1"
and q2: "Quotient3 R2 Abs2 Rep2"
and q3: "Quotient3 R3 Abs3 Rep3"
- shows "((Abs2 ---> Rep3) ---> (Abs1 ---> Rep2) ---> (Rep1 ---> Abs3)) op \<circ> = op \<circ>"
- and "(id ---> (Abs1 ---> id) ---> Rep1 ---> id) op \<circ> = op \<circ>"
+ shows "((Abs2 ---> Rep3) ---> (Abs1 ---> Rep2) ---> (Rep1 ---> Abs3)) (\<circ>) = (\<circ>)"
+ and "(id ---> (Abs1 ---> id) ---> Rep1 ---> id) (\<circ>) = (\<circ>)"
using Quotient3_abs_rep[OF q1] Quotient3_abs_rep[OF q2] Quotient3_abs_rep[OF q3]
by (simp_all add: fun_eq_iff)
lemma o_rsp:
- "((R2 ===> R3) ===> (R1 ===> R2) ===> (R1 ===> R3)) op \<circ> op \<circ>"
- "(op = ===> (R1 ===> op =) ===> R1 ===> op =) op \<circ> op \<circ>"
+ "((R2 ===> R3) ===> (R1 ===> R2) ===> (R1 ===> R3)) (\<circ>) (\<circ>)"
+ "((=) ===> (R1 ===> (=)) ===> R1 ===> (=)) (\<circ>) (\<circ>)"
by (force elim: rel_funE)+
lemma cond_prs:
@@ -542,7 +542,7 @@
lemma if_rsp:
assumes q: "Quotient3 R Abs Rep"
- shows "(op = ===> R ===> R ===> R) If If"
+ shows "((=) ===> R ===> R ===> R) If If"
by force
lemma let_prs:
@@ -712,8 +712,8 @@
fixes Abs1 :: "'a \<Rightarrow> 'b" and Rep1 :: "'b \<Rightarrow> 'a"
fixes Abs2 :: "'b \<Rightarrow> 'c" and Rep2 :: "'c \<Rightarrow> 'b"
assumes R1: "Quotient3 R1 Abs1 Rep1"
- assumes R2: "Quotient3 op= Abs2 Rep2"
- shows "Quotient3 (R1 OOO op=) (Abs2 \<circ> Abs1) (Rep1 \<circ> Rep2)"
+ assumes R2: "Quotient3 (=) Abs2 Rep2"
+ shows "Quotient3 (R1 OOO (=)) (Abs2 \<circ> Abs1) (Rep1 \<circ> Rep2)"
using assms
by (rule OOO_quotient3) auto
--- a/src/HOL/Quotient_Examples/Lift_FSet.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient_Examples/Lift_FSet.thy Wed Jan 10 15:25:09 2018 +0100
@@ -30,7 +30,7 @@
lemma list_eq_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "(list_all2 A ===> list_all2 A ===> op =) list_eq list_eq"
+ shows "(list_all2 A ===> list_all2 A ===> (=)) list_eq list_eq"
unfolding list_eq_def [abs_def] by transfer_prover
quotient_type 'a fset = "'a list" / "list_eq" parametric list_eq_transfer
@@ -90,7 +90,7 @@
lemma member_transfer:
assumes [transfer_rule]: "bi_unique A"
- shows "(A ===> list_all2 A ===> op=) (\<lambda>x xs. x \<in> set xs) (\<lambda>x xs. x \<in> set xs)"
+ shows "(A ===> list_all2 A ===> (=)) (\<lambda>x xs. x \<in> set xs) (\<lambda>x xs. x \<in> set xs)"
by transfer_prover
end
--- a/src/HOL/Quotient_Examples/Lift_Fun.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient_Examples/Lift_Fun.thy Wed Jan 10 15:25:09 2018 +0100
@@ -19,7 +19,7 @@
in the following four definitions. This example is based on HOL/Fun.thy.\<close>
quotient_type
-('a, 'b) fun' (infixr "\<rightarrow>" 55) = "'a \<Rightarrow> 'b" / "op ="
+('a, 'b) fun' (infixr "\<rightarrow>" 55) = "'a \<Rightarrow> 'b" / "(=)"
by (simp add: identity_equivp)
quotient_definition "comp' :: ('b \<rightarrow> 'c) \<rightarrow> ('a \<rightarrow> 'b) \<rightarrow> 'a \<rightarrow> 'c" is
@@ -41,7 +41,7 @@
text \<open>'a is a covariant and contravariant type variable in the same time.
The following example is a bit artificial. We haven't had a natural one yet.\<close>
-quotient_type 'a endofun = "'a \<Rightarrow> 'a" / "op =" by (simp add: identity_equivp)
+quotient_type 'a endofun = "'a \<Rightarrow> 'a" / "(=)" by (simp add: identity_equivp)
definition map_endofun' :: "('a \<Rightarrow> 'b) \<Rightarrow> ('b \<Rightarrow> 'a) \<Rightarrow> ('a => 'a) \<Rightarrow> ('b => 'b)"
where "map_endofun' f g e = map_fun g f e"
@@ -58,7 +58,7 @@
by (auto simp: map_endofun_def map_endofun'_def map_fun_def fun_eq_iff)
have a:"\<forall> x. rep_endofun (abs_endofun x) = x" using Quotient3_endofun
- Quotient3_rep_abs[of "(op =)" abs_endofun rep_endofun] by blast
+ Quotient3_rep_abs[of "(=)" abs_endofun rep_endofun] by blast
show "\<And>f g h i. map_endofun f g \<circ> map_endofun h i = map_endofun (f \<circ> h) (i \<circ> g)"
by (auto simp: map_endofun_def map_endofun'_def map_fun_def fun_eq_iff) (simp add: a o_assoc)
qed
@@ -108,7 +108,7 @@
term endofun_id_id
thm endofun_id_id_def
-quotient_type 'a endofun' = "'a endofun" / "op =" by (simp add: identity_equivp)
+quotient_type 'a endofun' = "'a endofun" / "(=)" by (simp add: identity_equivp)
text \<open>We have to map "'a endofun" to "('a endofun') endofun", i.e., mapping (lifting)
over a type variable which is a covariant and contravariant type variable.\<close>
--- a/src/HOL/Quotient_Examples/Quotient_FSet.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient_Examples/Quotient_FSet.thy Wed Jan 10 15:25:09 2018 +0100
@@ -113,11 +113,11 @@
lemma compose_list_refl:
assumes q: "equivp R"
- shows "(list_all2 R OOO op \<approx>) r r"
+ shows "(list_all2 R OOO (\<approx>)) r r"
proof
have *: "r \<approx> r" by (rule equivp_reflp[OF fset_equivp])
show "list_all2 R r r" by (rule list_all2_refl'[OF q])
- with * show "(op \<approx> OO list_all2 R) r r" ..
+ with * show "((\<approx>) OO list_all2 R) r r" ..
qed
lemma map_list_eq_cong: "b \<approx> ba \<Longrightarrow> map f b \<approx> map f ba"
@@ -126,7 +126,7 @@
lemma quotient_compose_list_g:
assumes q: "Quotient3 R Abs Rep"
and e: "equivp R"
- shows "Quotient3 ((list_all2 R) OOO (op \<approx>))
+ shows "Quotient3 ((list_all2 R) OOO (\<approx>))
(abs_fset \<circ> (map Abs)) ((map Rep) \<circ> rep_fset)"
unfolding Quotient3_def comp_def
proof (intro conjI allI)
@@ -135,17 +135,17 @@
by (simp add: abs_o_rep[OF q] Quotient3_abs_rep[OF Quotient3_fset] List.map.id)
have b: "list_all2 R (map Rep (rep_fset a)) (map Rep (rep_fset a))"
by (rule list_all2_refl'[OF e])
- have c: "(op \<approx> OO list_all2 R) (map Rep (rep_fset a)) (map Rep (rep_fset a))"
+ have c: "((\<approx>) OO list_all2 R) (map Rep (rep_fset a)) (map Rep (rep_fset a))"
by (rule, rule equivp_reflp[OF fset_equivp]) (rule b)
- show "(list_all2 R OOO op \<approx>) (map Rep (rep_fset a)) (map Rep (rep_fset a))"
+ show "(list_all2 R OOO (\<approx>)) (map Rep (rep_fset a)) (map Rep (rep_fset a))"
by (rule, rule list_all2_refl'[OF e]) (rule c)
- show "(list_all2 R OOO op \<approx>) r s = ((list_all2 R OOO op \<approx>) r r \<and>
- (list_all2 R OOO op \<approx>) s s \<and> abs_fset (map Abs r) = abs_fset (map Abs s))"
+ show "(list_all2 R OOO (\<approx>)) r s = ((list_all2 R OOO (\<approx>)) r r \<and>
+ (list_all2 R OOO (\<approx>)) s s \<and> abs_fset (map Abs r) = abs_fset (map Abs s))"
proof (intro iffI conjI)
- show "(list_all2 R OOO op \<approx>) r r" by (rule compose_list_refl[OF e])
- show "(list_all2 R OOO op \<approx>) s s" by (rule compose_list_refl[OF e])
+ show "(list_all2 R OOO (\<approx>)) r r" by (rule compose_list_refl[OF e])
+ show "(list_all2 R OOO (\<approx>)) s s" by (rule compose_list_refl[OF e])
next
- assume a: "(list_all2 R OOO op \<approx>) r s"
+ assume a: "(list_all2 R OOO (\<approx>)) r s"
then have b: "map Abs r \<approx> map Abs s"
proof (elim relcomppE)
fix b ba
@@ -162,26 +162,26 @@
then show "abs_fset (map Abs r) = abs_fset (map Abs s)"
using Quotient3_rel[OF Quotient3_fset] by blast
next
- assume a: "(list_all2 R OOO op \<approx>) r r \<and> (list_all2 R OOO op \<approx>) s s
+ assume a: "(list_all2 R OOO (\<approx>)) r r \<and> (list_all2 R OOO (\<approx>)) s s
\<and> abs_fset (map Abs r) = abs_fset (map Abs s)"
- then have s: "(list_all2 R OOO op \<approx>) s s" by simp
+ then have s: "(list_all2 R OOO (\<approx>)) s s" by simp
have d: "map Abs r \<approx> map Abs s"
by (subst Quotient3_rel [OF Quotient3_fset, symmetric]) (simp add: a)
have b: "map Rep (map Abs r) \<approx> map Rep (map Abs s)"
by (rule map_list_eq_cong[OF d])
have y: "list_all2 R (map Rep (map Abs s)) s"
by (fact rep_abs_rsp_left[OF list_quotient3[OF q], OF list_all2_refl'[OF e, of s]])
- have c: "(op \<approx> OO list_all2 R) (map Rep (map Abs r)) s"
+ have c: "((\<approx>) OO list_all2 R) (map Rep (map Abs r)) s"
by (rule relcomppI) (rule b, rule y)
have z: "list_all2 R r (map Rep (map Abs r))"
by (fact rep_abs_rsp[OF list_quotient3[OF q], OF list_all2_refl'[OF e, of r]])
- then show "(list_all2 R OOO op \<approx>) r s"
+ then show "(list_all2 R OOO (\<approx>)) r s"
using a c relcomppI by simp
qed
qed
lemma quotient_compose_list[quot_thm]:
- shows "Quotient3 ((list_all2 op \<approx>) OOO (op \<approx>))
+ shows "Quotient3 ((list_all2 (\<approx>)) OOO (\<approx>))
(abs_fset \<circ> (map abs_fset)) ((map rep_fset) \<circ> rep_fset)"
by (rule quotient_compose_list_g, rule Quotient3_fset, rule list_eq_equivp)
@@ -350,9 +350,9 @@
is fold_once by (rule fold_once_set_equiv)
lemma concat_rsp_pre:
- assumes a: "list_all2 op \<approx> x x'"
+ assumes a: "list_all2 (\<approx>) x x'"
and b: "x' \<approx> y'"
- and c: "list_all2 op \<approx> y' y"
+ and c: "list_all2 (\<approx>) y' y"
and d: "\<exists>x\<in>set x. xa \<in> set x"
shows "\<exists>x\<in>set y. xa \<in> set x"
proof -
@@ -369,12 +369,12 @@
is concat
proof (elim relcomppE)
fix a b ba bb
- assume a: "list_all2 op \<approx> a ba"
- with list_symp [OF list_eq_symp] have a': "list_all2 op \<approx> ba a" by (rule sympE)
+ assume a: "list_all2 (\<approx>) a ba"
+ with list_symp [OF list_eq_symp] have a': "list_all2 (\<approx>) ba a" by (rule sympE)
assume b: "ba \<approx> bb"
with list_eq_symp have b': "bb \<approx> ba" by (rule sympE)
- assume c: "list_all2 op \<approx> bb b"
- with list_symp [OF list_eq_symp] have c': "list_all2 op \<approx> b bb" by (rule sympE)
+ assume c: "list_all2 (\<approx>) bb b"
+ with list_symp [OF list_eq_symp] have c': "list_all2 (\<approx>) b bb" by (rule sympE)
have "\<forall>x. (\<exists>xa\<in>set a. x \<in> set xa) = (\<exists>xa\<in>set b. x \<in> set xa)"
proof
fix x
@@ -398,11 +398,11 @@
subsection \<open>Compositional respectfulness and preservation lemmas\<close>
lemma Nil_rsp2 [quot_respect]:
- shows "(list_all2 op \<approx> OOO op \<approx>) Nil Nil"
+ shows "(list_all2 (\<approx>) OOO (\<approx>)) Nil Nil"
by (rule compose_list_refl, rule list_eq_equivp)
lemma Cons_rsp2 [quot_respect]:
- shows "(op \<approx> ===> list_all2 op \<approx> OOO op \<approx> ===> list_all2 op \<approx> OOO op \<approx>) Cons Cons"
+ shows "((\<approx>) ===> list_all2 (\<approx>) OOO (\<approx>) ===> list_all2 (\<approx>) OOO (\<approx>)) Cons Cons"
apply (auto intro!: rel_funI)
apply (rule_tac b="x # b" in relcomppI)
apply auto
@@ -418,14 +418,14 @@
lemma Cons_prs2 [quot_preserve]:
assumes q: "Quotient3 R1 Abs1 Rep1"
and r: "Quotient3 R2 Abs2 Rep2"
- shows "(Rep1 ---> (map Rep1 \<circ> Rep2) ---> (Abs2 \<circ> map Abs1)) (op #) = (id ---> Rep2 ---> Abs2) (op #)"
+ shows "(Rep1 ---> (map Rep1 \<circ> Rep2) ---> (Abs2 \<circ> map Abs1)) (#) = (id ---> Rep2 ---> Abs2) (#)"
by (auto simp add: fun_eq_iff comp_def Quotient3_abs_rep [OF q])
lemma append_prs2 [quot_preserve]:
assumes q: "Quotient3 R1 Abs1 Rep1"
and r: "Quotient3 R2 Abs2 Rep2"
- shows "((map Rep1 \<circ> Rep2) ---> (map Rep1 \<circ> Rep2) ---> (Abs2 \<circ> map Abs1)) op @ =
- (Rep2 ---> Rep2 ---> Abs2) op @"
+ shows "((map Rep1 \<circ> Rep2) ---> (map Rep1 \<circ> Rep2) ---> (Abs2 \<circ> map Abs1)) (@) =
+ (Rep2 ---> Rep2 ---> Abs2) (@)"
by (simp add: fun_eq_iff abs_o_rep[OF q] List.map.id)
lemma list_all2_app_l:
@@ -435,14 +435,14 @@
using a b by (induct z) (auto elim: reflpE)
lemma append_rsp2_pre0:
- assumes a:"list_all2 op \<approx> x x'"
- shows "list_all2 op \<approx> (x @ z) (x' @ z)"
+ assumes a:"list_all2 (\<approx>) x x'"
+ shows "list_all2 (\<approx>) (x @ z) (x' @ z)"
using a apply (induct x x' rule: list_induct2')
by simp_all (rule list_all2_refl'[OF list_eq_equivp])
lemma append_rsp2_pre1:
- assumes a:"list_all2 op \<approx> x x'"
- shows "list_all2 op \<approx> (z @ x) (z @ x')"
+ assumes a:"list_all2 (\<approx>) x x'"
+ shows "list_all2 (\<approx>) (z @ x) (z @ x')"
using a apply (induct x x' arbitrary: z rule: list_induct2')
apply (rule list_all2_refl'[OF list_eq_equivp])
apply (simp_all del: list_eq_def)
@@ -451,9 +451,9 @@
done
lemma append_rsp2_pre:
- assumes "list_all2 op \<approx> x x'"
- and "list_all2 op \<approx> z z'"
- shows "list_all2 op \<approx> (x @ z) (x' @ z')"
+ assumes "list_all2 (\<approx>) x x'"
+ and "list_all2 (\<approx>) z z'"
+ shows "list_all2 (\<approx>) (x @ z) (x' @ z')"
using assms by (rule list_all2_appendI)
lemma compositional_rsp3:
@@ -463,17 +463,17 @@
(metis (full_types) assms rel_funE relcomppI)
lemma append_rsp2 [quot_respect]:
- "(list_all2 op \<approx> OOO op \<approx> ===> list_all2 op \<approx> OOO op \<approx> ===> list_all2 op \<approx> OOO op \<approx>) append append"
+ "(list_all2 (\<approx>) OOO (\<approx>) ===> list_all2 (\<approx>) OOO (\<approx>) ===> list_all2 (\<approx>) OOO (\<approx>)) append append"
by (intro compositional_rsp3)
(auto intro!: rel_funI simp add: append_rsp2_pre)
lemma map_rsp2 [quot_respect]:
- "((op \<approx> ===> op \<approx>) ===> list_all2 op \<approx> OOO op \<approx> ===> list_all2 op \<approx> OOO op \<approx>) map map"
+ "(((\<approx>) ===> (\<approx>)) ===> list_all2 (\<approx>) OOO (\<approx>) ===> list_all2 (\<approx>) OOO (\<approx>)) map map"
proof (auto intro!: rel_funI)
fix f f' :: "'a list \<Rightarrow> 'b list"
fix xa ya x y :: "'a list list"
- assume fs: "(op \<approx> ===> op \<approx>) f f'" and x: "list_all2 op \<approx> xa x" and xy: "set x = set y" and y: "list_all2 op \<approx> y ya"
- have a: "(list_all2 op \<approx>) (map f xa) (map f x)"
+ assume fs: "((\<approx>) ===> (\<approx>)) f f'" and x: "list_all2 (\<approx>) xa x" and xy: "set x = set y" and y: "list_all2 (\<approx>) y ya"
+ have a: "(list_all2 (\<approx>)) (map f xa) (map f x)"
using x
by (induct xa x rule: list_induct2')
(simp_all, metis fs rel_funE list_eq_def)
@@ -481,11 +481,11 @@
using xy fs
by (induct x y rule: list_induct2')
(simp_all, metis image_insert)
- have c: "(list_all2 op \<approx>) (map f y) (map f' ya)"
+ have c: "(list_all2 (\<approx>)) (map f y) (map f' ya)"
using y fs
by (induct y ya rule: list_induct2')
(simp_all, metis apply_rsp' list_eq_def)
- show "(list_all2 op \<approx> OOO op \<approx>) (map f xa) (map f' ya)"
+ show "(list_all2 (\<approx>) OOO (\<approx>)) (map f xa) (map f' ya)"
by (metis a b c list_eq_def relcomppI)
qed
--- a/src/HOL/Quotient_Examples/Quotient_Int.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient_Examples/Quotient_Int.thy Wed Jan 10 15:25:09 2018 +0100
@@ -33,7 +33,7 @@
"plus_int_raw (x, y) (u, v) = (x + u, y + v)"
quotient_definition
- "(op +) :: (int \<Rightarrow> int \<Rightarrow> int)" is "plus_int_raw" by auto
+ "(+) :: (int \<Rightarrow> int \<Rightarrow> int)" is "plus_int_raw" by auto
fun
uminus_int_raw :: "(nat \<times> nat) \<Rightarrow> (nat \<times> nat)"
@@ -78,7 +78,7 @@
done
quotient_definition
- "(op *) :: (int \<Rightarrow> int \<Rightarrow> int)" is "times_int_raw"
+ "(( * )) :: (int \<Rightarrow> int \<Rightarrow> int)" is "times_int_raw"
apply(rule equivp_transp[OF int_equivp])
apply(rule times_int_raw_fst)
apply(assumption)
@@ -92,7 +92,7 @@
"le_int_raw (x, y) (u, v) = (x+v \<le> u+y)"
quotient_definition
- le_int_def: "(op \<le>) :: int \<Rightarrow> int \<Rightarrow> bool" is "le_int_raw" by auto
+ le_int_def: "(\<le>) :: int \<Rightarrow> int \<Rightarrow> bool" is "le_int_raw" by auto
definition
less_int_def: "(z::int) < w = (z \<le> w \<and> z \<noteq> w)"
--- a/src/HOL/Quotient_Examples/Quotient_Rat.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Quotient_Examples/Quotient_Rat.thy Wed Jan 10 15:25:09 2018 +0100
@@ -41,13 +41,13 @@
"times_rat_raw (a :: int, b :: int) (c, d) = (a * c, b * d)"
quotient_definition
- "(op *) :: (rat \<Rightarrow> rat \<Rightarrow> rat)" is times_rat_raw by (auto simp add: mult.assoc mult.left_commute)
+ "(( * )) :: (rat \<Rightarrow> rat \<Rightarrow> rat)" is times_rat_raw by (auto simp add: mult.assoc mult.left_commute)
fun plus_rat_raw where
"plus_rat_raw (a :: int, b :: int) (c, d) = (a * d + c * b, b * d)"
quotient_definition
- "(op +) :: (rat \<Rightarrow> rat \<Rightarrow> rat)" is plus_rat_raw
+ "(+) :: (rat \<Rightarrow> rat \<Rightarrow> rat)" is plus_rat_raw
by (auto simp add: mult.commute mult.left_commute int_distrib(2))
fun uminus_rat_raw where
@@ -63,7 +63,7 @@
"le_rat_raw (a :: int, b) (c, d) \<longleftrightarrow> (a * d) * (b * d) \<le> (c * b) * (b * d)"
quotient_definition
- "(op \<le>) :: rat \<Rightarrow> rat \<Rightarrow> bool" is "le_rat_raw"
+ "(\<le>) :: rat \<Rightarrow> rat \<Rightarrow> bool" is "le_rat_raw"
proof -
{
fix a b c d e f g h :: int
--- a/src/HOL/Real.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Real.thy Wed Jan 10 15:25:09 2018 +0100
@@ -28,11 +28,11 @@
fixes n::nat shows "\<lbrakk>n \<le> m; n\<noteq>0\<rbrakk> \<Longrightarrow> 1 / of_nat m \<le> (1::'a::linordered_field) / of_nat n"
by (simp add: frac_le)
-lemma inj_add_left [simp]: "inj (op + x)"
+lemma inj_add_left [simp]: "inj ((+) x)"
for x :: "'a::cancel_semigroup_add"
by (meson add_left_imp_eq injI)
-lemma inj_mult_left [simp]: "inj (op * x) \<longleftrightarrow> x \<noteq> 0"
+lemma inj_mult_left [simp]: "inj (( * ) x) \<longleftrightarrow> x \<noteq> 0"
for x :: "'a::idom"
by (metis injI mult_cancel_left the_inv_f_f zero_neq_one)
--- a/src/HOL/Real_Vector_Spaces.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Real_Vector_Spaces.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1412,7 +1412,7 @@
corollary real_linearD:
fixes f :: "real \<Rightarrow> real"
- assumes "linear f" obtains c where "f = op* c"
+ assumes "linear f" obtains c where "f = ( * ) c"
by (rule linear_imp_scaleR [OF assms]) (force simp: scaleR_conv_of_real)
lemma linear_times_of_real: "linear (\<lambda>x. a * of_real x)"
@@ -1549,7 +1549,7 @@
lemma comp1:
assumes "bounded_linear g"
- shows "bounded_bilinear (\<lambda>x. op ** (g x))"
+ shows "bounded_bilinear (\<lambda>x. ( ** ) (g x))"
proof unfold_locales
interpret g: bounded_linear g by fact
show "\<And>a a' b. g (a + a') ** b = g a ** b + g a' ** b"
@@ -1651,7 +1651,7 @@
qed
qed
-lemma bounded_bilinear_mult: "bounded_bilinear (op * :: 'a \<Rightarrow> 'a \<Rightarrow> 'a::real_normed_algebra)"
+lemma bounded_bilinear_mult: "bounded_bilinear (( * ) :: 'a \<Rightarrow> 'a \<Rightarrow> 'a::real_normed_algebra)"
apply (rule bounded_bilinear.intro)
apply (rule distrib_right)
apply (rule distrib_left)
--- a/src/HOL/Relation.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Relation.thy Wed Jan 10 15:25:09 2018 +0100
@@ -214,7 +214,7 @@
"refl_on A r \<longleftrightarrow> (\<forall>(x, y) \<in> r. x \<in> A \<and> y \<in> A) \<and> (\<forall>x \<in> A. (x, x) \<in> r)"
by (auto intro: refl_onI dest: refl_onD refl_onD1 refl_onD2)
-lemma reflp_equality [simp]: "reflp op ="
+lemma reflp_equality [simp]: "reflp (=)"
by (simp add: reflp_def)
lemma reflp_mono: "reflp R \<Longrightarrow> (\<And>x y. R x y \<longrightarrow> Q x y) \<Longrightarrow> reflp Q"
@@ -423,7 +423,7 @@
lemma transp_trans: "transp r \<longleftrightarrow> trans {(x, y). r x y}"
by (simp add: trans_def transp_def)
-lemma transp_equality [simp]: "transp op ="
+lemma transp_equality [simp]: "transp (=)"
by (auto intro: transpI)
lemma trans_empty [simp]: "trans {}"
@@ -441,16 +441,16 @@
context preorder
begin
-lemma transp_le[simp]: "transp (op \<le>)"
+lemma transp_le[simp]: "transp (\<le>)"
by(auto simp add: transp_def intro: order_trans)
-lemma transp_less[simp]: "transp (op <)"
+lemma transp_less[simp]: "transp (<)"
by(auto simp add: transp_def intro: less_trans)
-lemma transp_ge[simp]: "transp (op \<ge>)"
+lemma transp_ge[simp]: "transp (\<ge>)"
by(auto simp add: transp_def intro: order_trans)
-lemma transp_gr[simp]: "transp (op >)"
+lemma transp_gr[simp]: "transp (>)"
by(auto simp add: transp_def intro: less_trans)
end
@@ -704,10 +704,10 @@
lemma relcompp_apply: "(R OO S) a c \<longleftrightarrow> (\<exists>b. R a b \<and> S b c)"
unfolding relcomp_unfold [to_pred] ..
-lemma eq_OO: "op = OO R = R"
+lemma eq_OO: "(=) OO R = R"
by blast
-lemma OO_eq: "R OO op = = R"
+lemma OO_eq: "R OO (=) = R"
by blast
@@ -839,10 +839,10 @@
unfolding converse_def conversep_iff using [[simproc add: finite_Collect]]
by (auto elim: finite_imageD simp: inj_on_def)
-lemma conversep_noteq [simp]: "(op \<noteq>)\<inverse>\<inverse> = op \<noteq>"
+lemma conversep_noteq [simp]: "(\<noteq>)\<inverse>\<inverse> = (\<noteq>)"
by (auto simp add: fun_eq_iff)
-lemma conversep_eq [simp]: "(op =)\<inverse>\<inverse> = op ="
+lemma conversep_eq [simp]: "(=)\<inverse>\<inverse> = (=)"
by (auto simp add: fun_eq_iff)
lemma converse_unfold [code]: "r\<inverse> = {(y, x). (x, y) \<in> r}"
--- a/src/HOL/SMT.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/SMT.thy Wed Jan 10 15:25:09 2018 +0100
@@ -133,14 +133,14 @@
by simp
lemma nat_numeral_as_int: "numeral = (\<lambda>i. nat (numeral i))" by simp
-lemma nat_less_as_int: "op < = (\<lambda>a b. int a < int b)" by simp
-lemma nat_leq_as_int: "op \<le> = (\<lambda>a b. int a \<le> int b)" by simp
+lemma nat_less_as_int: "(<) = (\<lambda>a b. int a < int b)" by simp
+lemma nat_leq_as_int: "(\<le>) = (\<lambda>a b. int a \<le> int b)" by simp
lemma Suc_as_int: "Suc = (\<lambda>a. nat (int a + 1))" by (rule ext) simp
-lemma nat_plus_as_int: "op + = (\<lambda>a b. nat (int a + int b))" by (rule ext)+ simp
-lemma nat_minus_as_int: "op - = (\<lambda>a b. nat (int a - int b))" by (rule ext)+ simp
-lemma nat_times_as_int: "op * = (\<lambda>a b. nat (int a * int b))" by (simp add: nat_mult_distrib)
-lemma nat_div_as_int: "op div = (\<lambda>a b. nat (int a div int b))" by (simp add: nat_div_distrib)
-lemma nat_mod_as_int: "op mod = (\<lambda>a b. nat (int a mod int b))" by (simp add: nat_mod_distrib)
+lemma nat_plus_as_int: "(+) = (\<lambda>a b. nat (int a + int b))" by (rule ext)+ simp
+lemma nat_minus_as_int: "(-) = (\<lambda>a b. nat (int a - int b))" by (rule ext)+ simp
+lemma nat_times_as_int: "( * ) = (\<lambda>a b. nat (int a * int b))" by (simp add: nat_mult_distrib)
+lemma nat_div_as_int: "(div) = (\<lambda>a b. nat (int a div int b))" by (simp add: nat_div_distrib)
+lemma nat_mod_as_int: "(mod) = (\<lambda>a b. nat (int a mod int b))" by (simp add: nat_mod_distrib)
lemma int_Suc: "int (Suc n) = int n + 1" by simp
lemma int_plus: "int (n + m) = int n + int m" by (rule of_nat_add)
--- a/src/HOL/SMT_Examples/SMT_Examples.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/SMT_Examples/SMT_Examples.thy Wed Jan 10 15:25:09 2018 +0100
@@ -435,7 +435,7 @@
by smt+
lemma True using let_rsp by smt
-lemma "le = op \<le> \<Longrightarrow> le (3::int) 42" by smt
+lemma "le = (\<le>) \<Longrightarrow> le (3::int) 42" by smt
lemma "map (\<lambda>i::int. i + 1) [0, 1] = [1, 2]" by (smt list.map)
lemma "(ALL x. P x) \<or> ~ All P" by smt
--- a/src/HOL/SMT_Examples/boogie.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/SMT_Examples/boogie.ML Wed Jan 10 15:25:09 2018 +0100
@@ -132,14 +132,14 @@
in repeat (parse_expr cx) n ls |>> curry Term.list_comb t end
| parse_expr cx (("label" :: _) :: ls) = parse_expr cx ls
| parse_expr _ (["int-num", n] :: ls) = (HOLogic.mk_number @{typ int} (as_int n), ls)
- | parse_expr cx (["<"] :: ls) = parse_bin_expr cx (mk_binary @{term "op < :: int => _"}) ls
- | parse_expr cx (["<="] :: ls) = parse_bin_expr cx (mk_binary @{term "op <= :: int => _"}) ls
- | parse_expr cx ([">"] :: ls) = parse_bin_expr cx (mk_binary @{term "op < :: int => _"}o swap) ls
+ | parse_expr cx (["<"] :: ls) = parse_bin_expr cx (mk_binary @{term "(<) :: int => _"}) ls
+ | parse_expr cx (["<="] :: ls) = parse_bin_expr cx (mk_binary @{term "(<=) :: int => _"}) ls
+ | parse_expr cx ([">"] :: ls) = parse_bin_expr cx (mk_binary @{term "(<) :: int => _"}o swap) ls
| parse_expr cx ([">="] :: ls) =
- parse_bin_expr cx (mk_binary @{term "op <= :: int => _"} o swap) ls
- | parse_expr cx (["+"] :: ls) = parse_bin_expr cx (mk_binary @{term "op + :: int => _"}) ls
- | parse_expr cx (["-"] :: ls) = parse_bin_expr cx (mk_binary @{term "op - :: int => _"}) ls
- | parse_expr cx (["*"] :: ls) = parse_bin_expr cx (mk_binary @{term "op * :: int => _"}) ls
+ parse_bin_expr cx (mk_binary @{term "(<=) :: int => _"} o swap) ls
+ | parse_expr cx (["+"] :: ls) = parse_bin_expr cx (mk_binary @{term "(+) :: int => _"}) ls
+ | parse_expr cx (["-"] :: ls) = parse_bin_expr cx (mk_binary @{term "(-) :: int => _"}) ls
+ | parse_expr cx (["*"] :: ls) = parse_bin_expr cx (mk_binary @{term "( * ) :: int => _"}) ls
| parse_expr cx (["/"] :: ls) = parse_bin_expr cx (mk_binary @{term boogie_div}) ls
| parse_expr cx (["%"] :: ls) = parse_bin_expr cx (mk_binary @{term boogie_mod}) ls
| parse_expr cx (["select", n] :: ls) =
@@ -188,7 +188,7 @@
let
val ((Ts, atts), ls') =
ls |> repeat (parse_type cx) arity ||>> repeat (parse_attr cx) n
- val unique = member (op =) atts "unique"
+ val unique = member (=) atts "unique"
in ((split_last Ts, unique), ls') end
fun parse_decl (("type-decl" :: name :: _) :: ls) cx = (ls, add_type name cx)
--- a/src/HOL/SPARK/SPARK.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/SPARK/SPARK.thy Wed Jan 10 15:25:09 2018 +0100
@@ -12,9 +12,9 @@
text \<open>Bitwise logical operators\<close>
spark_proof_functions
- bit__and (integer, integer) : integer = "op AND"
- bit__or (integer, integer) : integer = "op OR"
- bit__xor (integer, integer) : integer = "op XOR"
+ bit__and (integer, integer) : integer = "(AND)"
+ bit__or (integer, integer) : integer = "(OR)"
+ bit__xor (integer, integer) : integer = "(XOR)"
lemmas [simp] =
OR_upper [of _ 8, simplified zle_diff1_eq [symmetric], simplified]
--- a/src/HOL/Set_Interval.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Set_Interval.thy Wed Jan 10 15:25:09 2018 +0100
@@ -932,14 +932,14 @@
by (simp add: lessThan_atLeast0 atLeastLessThanSuc_atLeastAtMost)
lemma image_diff_atLeastAtMost [simp]:
- fixes d::"'a::linordered_idom" shows "(op - d ` {a..b}) = {d-b..d-a}"
+ fixes d::"'a::linordered_idom" shows "((-) d ` {a..b}) = {d-b..d-a}"
apply auto
apply (rule_tac x="d-x" in rev_image_eqI, auto)
done
lemma image_mult_atLeastAtMost [simp]:
fixes d::"'a::linordered_field"
- assumes "d>0" shows "(op * d ` {a..b}) = {d*a..d*b}"
+ assumes "d>0" shows "(( * ) d ` {a..b}) = {d*a..d*b}"
using assms
by (auto simp: field_simps mult_le_cancel_right intro: rev_image_eqI [where x="x/d" for x])
@@ -2357,7 +2357,7 @@
lemma sum_atLeastAtMost_code:
"sum f {a..b} = fold_atLeastAtMost_nat (\<lambda>a acc. f a + acc) a b 0"
proof -
- have "comp_fun_commute (\<lambda>a. op + (f a))"
+ have "comp_fun_commute (\<lambda>a. (+) (f a))"
by unfold_locales (auto simp: o_def add_ac)
thus ?thesis
by (simp add: sum.eq_fold fold_atLeastAtMost_nat o_def)
@@ -2366,7 +2366,7 @@
lemma prod_atLeastAtMost_code:
"prod f {a..b} = fold_atLeastAtMost_nat (\<lambda>a acc. f a * acc) a b 1"
proof -
- have "comp_fun_commute (\<lambda>a. op * (f a))"
+ have "comp_fun_commute (\<lambda>a. ( * ) (f a))"
by unfold_locales (auto simp: o_def mult_ac)
thus ?thesis
by (simp add: prod.eq_fold fold_atLeastAtMost_nat o_def)
--- a/src/HOL/String.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/String.thy Wed Jan 10 15:25:09 2018 +0100
@@ -339,7 +339,7 @@
instantiation literal :: equal
begin
-lift_definition equal_literal :: "literal \<Rightarrow> literal \<Rightarrow> bool" is "op =" .
+lift_definition equal_literal :: "literal \<Rightarrow> literal \<Rightarrow> bool" is "(=)" .
instance by intro_classes (transfer, simp)
--- a/src/HOL/TLA/Intensional.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/TLA/Intensional.thy Wed Jan 10 15:25:09 2018 +0100
@@ -110,28 +110,28 @@
"w \<Turnstile> A" => "A w"
"LIFT A" => "A::_\<Rightarrow>_"
- "_liftEqu" == "_lift2 (op =)"
+ "_liftEqu" == "_lift2 (=)"
"_liftNeq u v" == "_liftNot (_liftEqu u v)"
"_liftNot" == "_lift (CONST Not)"
- "_liftAnd" == "_lift2 (op \<and>)"
- "_liftOr" == "_lift2 (op \<or>)"
- "_liftImp" == "_lift2 (op \<longrightarrow>)"
+ "_liftAnd" == "_lift2 (\<and>)"
+ "_liftOr" == "_lift2 (\<or>)"
+ "_liftImp" == "_lift2 (\<longrightarrow>)"
"_liftIf" == "_lift3 (CONST If)"
- "_liftPlus" == "_lift2 (op +)"
- "_liftMinus" == "_lift2 (op -)"
- "_liftTimes" == "_lift2 (op *)"
- "_liftDiv" == "_lift2 (op div)"
- "_liftMod" == "_lift2 (op mod)"
- "_liftLess" == "_lift2 (op <)"
- "_liftLeq" == "_lift2 (op \<le>)"
- "_liftMem" == "_lift2 (op \<in>)"
+ "_liftPlus" == "_lift2 (+)"
+ "_liftMinus" == "_lift2 (-)"
+ "_liftTimes" == "_lift2 (( * ))"
+ "_liftDiv" == "_lift2 (div)"
+ "_liftMod" == "_lift2 (mod)"
+ "_liftLess" == "_lift2 (<)"
+ "_liftLeq" == "_lift2 (\<le>)"
+ "_liftMem" == "_lift2 (\<in>)"
"_liftNotMem x xs" == "_liftNot (_liftMem x xs)"
"_liftFinset (_liftargs x xs)" == "_lift2 (CONST insert) x (_liftFinset xs)"
"_liftFinset x" == "_lift2 (CONST insert) x (_const {})"
"_liftPair x (_liftargs y z)" == "_liftPair x (_liftPair y z)"
"_liftPair" == "_lift2 (CONST Pair)"
"_liftCons" == "CONST lift2 (CONST Cons)"
- "_liftApp" == "CONST lift2 (op @)"
+ "_liftApp" == "CONST lift2 (@)"
"_liftList (_liftargs x xs)" == "_liftCons x (_liftList xs)"
"_liftList x" == "_liftCons x (_const [])"
--- a/src/HOL/TPTP/TPTP_Parser/tptp_reconstruct_library.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/TPTP/TPTP_Parser/tptp_reconstruct_library.ML Wed Jan 10 15:25:09 2018 +0100
@@ -306,7 +306,7 @@
Free ("x", @{typ "'a"})))
in
@{assert}
- ((@{term "! x. All (op = x)"}
+ ((@{term "! x. All ((=) x)"}
|> strip_top_All_vars)
= answer)
end
--- a/src/HOL/TPTP/TPTP_Proof_Reconstruction.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction.thy Wed Jan 10 15:25:09 2018 +0100
@@ -189,7 +189,7 @@
|> FIRST')
val attempts = map instantiate parameters
in
- (fold (curry (op APPEND')) attempts (K no_tac)) i st
+ (fold (curry (APPEND')) attempts (K no_tac)) i st
end
end
@@ -227,7 +227,7 @@
in
if is_none quantified_var then no_tac st
else
- if member (op =) parameters (the quantified_var |> fst) then
+ if member (=) parameters (the quantified_var |> fst) then
instantiates (the quantified_var |> fst) i st
else
K no_tac i st
@@ -664,7 +664,7 @@
else
space_implode " " l
|> pair " "
- |> op ^)
+ |> (^))
in
if null gls orelse null candidate_consts then no_tac st
@@ -675,7 +675,7 @@
@{thm leo2_skolemise}
val attempts = map instantiate candidate_consts
in
- (fold (curry (op APPEND')) attempts (K no_tac)) i st
+ (fold (curry (APPEND')) attempts (K no_tac)) i st
end
end
\<close>
@@ -799,7 +799,7 @@
in
map (strip_top_All_vars #> snd) conclusions
|> maps (get_skolem_terms [] [])
- |> distinct (op =)
+ |> distinct (=)
end
\<close>
@@ -827,9 +827,9 @@
(*the parameters we will concern ourselves with*)
val params' =
Term.add_frees lhs []
- |> distinct (op =)
+ |> distinct (=)
(*check to make sure that params' <= params*)
- val _ = @{assert} (forall (member (op =) params) params')
+ val _ = @{assert} (forall (member (=) params) params')
val skolem_const_ty =
let
val (skolem_const_prety, no_params) =
@@ -871,7 +871,7 @@
val (arg_ty, val_ty) = Term.dest_funT cur_ty
(*now find a param of type arg_ty*)
val (candidate_param, params') =
- find_and_remove (snd #> pair arg_ty #> op =) params
+ find_and_remove (snd #> pair arg_ty #> (=)) params
in
use_candidate target_ty params' (candidate_param :: acc) val_ty
end
@@ -948,7 +948,7 @@
val tactic =
if is_none var_opt then no_tac
else
- fold (curry (op APPEND))
+ fold (curry (APPEND))
(map (instantiate_tac (dest_Var (Thm.term_of (the var_opt)))) skolem_cts) no_tac
in
tactic st
@@ -1408,7 +1408,7 @@
fold_options opt_list
|> flat
|> pair sought_sublist
- |> subset (op =)
+ |> subset (=)
in
case x of
CleanUp l' =>
@@ -1423,7 +1423,7 @@
| InnerLoopOnce l' =>
map sublist_of_inner_loop_once l
|> check_sublist l'
- | _ => exists (curry (op =) x) l
+ | _ => exists (curry (=) x) l
end;
fun loop_can_feature loop_feats l =
@@ -1586,7 +1586,7 @@
fun extcnf_combined_tac' ctxt i = fn st =>
let
val skolem_consts_used_so_far = which_skolem_concs_used ctxt st
- val consts_diff' = subtract (op =) skolem_consts_used_so_far consts_diff
+ val consts_diff' = subtract (=) skolem_consts_used_so_far consts_diff
fun feat_to_tac feat =
case feat of
@@ -1692,7 +1692,7 @@
#> uncurry TPTP_Reconstruct.new_consts_between
#> filter
(fn Const (n, _) =>
- not (member (op =) interpreted_consts n))
+ not (member (=) interpreted_consts n))
in
if head_of t = Logic.implies then do_diff t
else []
@@ -1731,8 +1731,8 @@
val (conc_prefix, conc_body) = sep_prefix conc_clause
in
if null hyp_prefix orelse
- member (op =) conc_prefix (hd hyp_prefix) orelse
- member (op =) (Term.add_frees hyp_body []) (hd hyp_prefix) then
+ member (=) conc_prefix (hd hyp_prefix) orelse
+ member (=) (Term.add_frees hyp_body []) (hd hyp_prefix) then
no_tac st
else
Rule_Insts.eres_inst_tac ctxt [((("x", 0), Position.none), "(@X. False)")] []
@@ -1800,7 +1800,7 @@
|> apfst rev)
in
if null hyp_lit_prefix orelse
- member (op =) (Term.add_frees hyp_lit_body []) (hd hyp_lit_prefix) then
+ member (=) (Term.add_frees hyp_lit_body []) (hd hyp_lit_prefix) then
no_tac st
else
dresolve_tac ctxt @{thms drop_redundant_literal_qtfr} i st
@@ -1826,7 +1826,7 @@
hypothesis clause implying the conclusion clause.
There are no parameters.*)
val consts_diff =
- union (op =) skolem_consts
+ union (=) skolem_consts
(if can_feature ConstsDiff feats then
clause_consts_diff st
else [])
@@ -2042,14 +2042,14 @@
[]
val source_inf_opt =
- AList.lookup (op =) (#meta pannot)
+ AList.lookup (=) (#meta pannot)
#> the
#> #source_inf_opt
(*FIXME integrate this with other lookup code, or in the early analysis*)
local
fun node_is_of_role role node =
- AList.lookup (op =) (#meta pannot) node |> the
+ AList.lookup (=) (#meta pannot) node |> the
|> #role
|> (fn role' => role = role')
@@ -2081,7 +2081,7 @@
map snd (values ())
end
else
- map (fn node => AList.lookup (op =) (values ()) node |> the) x)
+ map (fn node => AList.lookup (=) (values ()) node |> the) x)
| _ => []
end
--- a/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test.thy Wed Jan 10 15:25:09 2018 +0100
@@ -737,13 +737,13 @@
| pre_classify_failures ((stock, _, _) :: xs) alist =
let
val inf = annotation_or_id stock
- val count = AList.lookup (op =) alist inf
+ val count = AList.lookup (=) alist inf
in
if is_none count
then pre_classify_failures xs ((inf, 1) :: alist)
else
pre_classify_failures xs
- (AList.update (op =) (inf, the count + 1) alist)
+ (AList.update (=) (inf, the count + 1) alist)
end
fun classify_failures (Whole_proof (_, Nonempty (SOME (((_, _), inferences))))) = pre_classify_failures inferences []
--- a/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test_Units.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test_Units.thy Wed Jan 10 15:25:09 2018 +0100
@@ -904,7 +904,7 @@
fun max_index_floored min l =
let
val max = max_int_floored min l
- in find_index (pair max #> op =) l end
+ in find_index (pair max #> (=)) l end
\<close>
ML \<open>
--- a/src/HOL/Tools/ATP/atp_problem.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/ATP/atp_problem.ML Wed Jan 10 15:25:09 2018 +0100
@@ -711,9 +711,9 @@
val decls =
func_decls @ pred_decls @ datatype_decls @ sort_decls @ subclass_decls
val axioms =
- filt (formula (curry (op <>) Conjecture)) |> separate [""] |> flat
+ filt (formula (curry (<>) Conjecture)) |> separate [""] |> flat
val conjs =
- filt (formula (curry (op =) Conjecture)) |> separate [""] |> flat
+ filt (formula (curry (=) Conjecture)) |> separate [""] |> flat
val settings =
(if is_lpo then ["set_flag(Ordering, 1)."] else []) @
(if gen_prec then
--- a/src/HOL/Tools/ATP/atp_problem_generate.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/ATP/atp_problem_generate.ML Wed Jan 10 15:25:09 2018 +0100
@@ -1036,7 +1036,7 @@
#> raw_mangled_const_name generic_mangled_type_name
val parse_mangled_ident =
- Scan.many1 (not o member (op =) ["(", ")", ","]) >> implode
+ Scan.many1 (not o member (=) ["(", ")", ","]) >> implode
fun parse_mangled_type x =
(parse_mangled_ident
@@ -1796,7 +1796,7 @@
else if lam_trans = combs_or_liftingN then
lift_lams_part_1 ctxt type_enc
##> map (fn t => (case head_of (strip_qnt_body @{const_name All} t) of
- @{term "op = ::bool => bool => bool"} => t
+ @{term "(=) ::bool => bool => bool"} => t
| _ => introduce_combinators ctxt (intentionalize_def t)))
#> lift_lams_part_2 ctxt
else if lam_trans = keep_lamsN then
--- a/src/HOL/Tools/BNF/bnf_def_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_def_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -210,7 +210,7 @@
rtac ctxt @{thm image_subsetI}, rtac ctxt nthO_in, etac ctxt set_mp, assume_tac ctxt]) set_maps;
val rel_OO_Grps_tac = if null rel_OO_Grps then K all_tac
else rtac ctxt (hd rel_OO_Grps RS ord_eq_le_trans) THEN'
- rtac ctxt (@{thm arg_cong2[of _ _ _ _ "op OO"]} OF (replicate 2 (hd rel_OO_Grps RS sym)) RSN
+ rtac ctxt (@{thm arg_cong2[of _ _ _ _ "(OO)"]} OF (replicate 2 (hd rel_OO_Grps RS sym)) RSN
(2, ord_le_eq_trans));
in
if null set_maps then rtac ctxt (rel_eq RS @{thm leq_OOI}) 1
@@ -409,6 +409,6 @@
REPEAT_DETERM o eresolve_tac ctxt @{thms exE conjE CollectE}, hyp_subst_tac ctxt,
rtac ctxt (box_equals OF [@{thm _}, pred_map RS sym, pred_map RS sym]),
rtac ctxt (refl RS pred_cong), REPEAT_DETERM_N n o
- (etac ctxt @{thm rel_fun_Collect_case_prodD[where B="op ="]} THEN_ALL_NEW assume_tac ctxt)]);
+ (etac ctxt @{thm rel_fun_Collect_case_prodD[where B="(=)"]} THEN_ALL_NEW assume_tac ctxt)]);
end;
--- a/src/HOL/Tools/BNF/bnf_fp_def_sugar_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_fp_def_sugar_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -74,9 +74,9 @@
open BNF_FP_Util
val case_sum_transfer = @{thm case_sum_transfer};
-val case_sum_transfer_eq = @{thm case_sum_transfer[of "op =" _ "op =", simplified sum.rel_eq]};
+val case_sum_transfer_eq = @{thm case_sum_transfer[of "(=)" _ "(=)", simplified sum.rel_eq]};
val case_prod_transfer = @{thm case_prod_transfer};
-val case_prod_transfer_eq = @{thm case_prod_transfer[of "op =" "op =", simplified prod.rel_eq]};
+val case_prod_transfer_eq = @{thm case_prod_transfer[of "(=)" "(=)", simplified prod.rel_eq]};
val basic_simp_thms = @{thms simp_thms(7,8,12,14,22,24)};
val more_simp_thms = basic_simp_thms @ @{thms simp_thms(11,15,16,21)};
@@ -252,11 +252,11 @@
val Inl_Inr_Pair_tac = REPEAT_DETERM o (resolve_tac ctxt
[mk_rel_funDN 1 @{thm Inl_transfer},
- mk_rel_funDN 1 @{thm Inl_transfer[of "op =" "op =", simplified sum.rel_eq]},
+ mk_rel_funDN 1 @{thm Inl_transfer[of "(=)" "(=)", simplified sum.rel_eq]},
mk_rel_funDN 1 @{thm Inr_transfer},
- mk_rel_funDN 1 @{thm Inr_transfer[of "op =" "op =", simplified sum.rel_eq]},
+ mk_rel_funDN 1 @{thm Inr_transfer[of "(=)" "(=)", simplified sum.rel_eq]},
mk_rel_funDN 2 @{thm Pair_transfer},
- mk_rel_funDN 2 @{thm Pair_transfer[of "op =" "op =", simplified prod.rel_eq]}]);
+ mk_rel_funDN 2 @{thm Pair_transfer[of "(=)" "(=)", simplified prod.rel_eq]}]);
fun mk_unfold_If_tac total pos =
HEADGOAL (Inl_Inr_Pair_tac THEN'
--- a/src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -69,8 +69,8 @@
unfold_thms_tac ctxt xtor_un_fold_defs THEN
HEADGOAL (REPEAT_DETERM o FIRST' [hyp_subst_tac_thin true ctxt, rtac ctxt refl,
rtac ctxt conjI,
- rtac ctxt @{thm arg_cong2[of _ _ _ _ "op \<circ>", OF refl]},
- rtac ctxt @{thm arg_cong2[of _ _ _ _ "op \<circ>", OF _ refl]},
+ rtac ctxt @{thm arg_cong2[of _ _ _ _ "(\<circ>)", OF refl]},
+ rtac ctxt @{thm arg_cong2[of _ _ _ _ "(\<circ>)", OF _ refl]},
resolve_tac ctxt map_arg_congs,
resolve_tac ctxt fp_un_fold_uniques THEN_ALL_NEW case_fp fp (K all_tac) (rtac ctxt sym),
SELECT_GOAL (CHANGED (unfold_thms_tac ctxt (flat [simp_thms, map_thms, map_defs,
--- a/src/HOL/Tools/BNF/bnf_fp_util_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_fp_util_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -30,7 +30,7 @@
ALLGOALS (rtac ctxt refl);
fun mk_conj_arg_congN 1 = @{thm DEADID.rel_mono_strong}
- | mk_conj_arg_congN n = mk_conj_arg_congN (n - 1) RSN (2, @{thm arg_cong2[of _ _ _ _ "op \<and>"]});
+ | mk_conj_arg_congN n = mk_conj_arg_congN (n - 1) RSN (2, @{thm arg_cong2[of _ _ _ _ "(\<and>)"]});
fun mk_xtor_co_rec_id_tac ctxt xtor_un_fold_xtors xtor_un_fold_unique xtor_un_folds map_comps =
HEADGOAL (rtac ctxt (mk_conj_arg_congN (length xtor_un_fold_xtors) RS iffD1 OF
@@ -87,4 +87,4 @@
etac ctxt (mk_rel_funDN 1 @{thm Inr_transfer})))
(defs ~~ un_fold_transfers));
-end
\ No newline at end of file
+end
--- a/src/HOL/Tools/BNF/bnf_gfp.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_gfp.ML Wed Jan 10 15:25:09 2018 +0100
@@ -549,12 +549,12 @@
||>> mk_Frees "s'" s'Ts
||>> mk_Frees "s''" s''Ts
||>> mk_Frees "f" fTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "Rtuple") all_sbisT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "Rtuple") all_sbisT
||>> mk_Frees "R" setRTs
||>> mk_Frees "R" setRTs
||>> mk_Frees "R'" setR'Ts
||>> mk_Frees "R" setsRTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "i") idxT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "i") idxT
||>> yield_singleton (mk_Frees "I") (HOLogic.mk_setT idxT)
||>> mk_Frees "Ri" (map (fn T => idxT --> T) setRTs);
@@ -831,17 +831,17 @@
|> mk_Frees' "b" activeAs
||>> mk_Frees "b" activeAs
||>> mk_Frees "s" sTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "n") HOLogic.natT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "sumx") sum_sbdT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "n") HOLogic.natT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "sumx") sum_sbdT
||>> mk_Frees' "k" sbdTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "kl") sum_sbd_listT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "kl") sum_sbd_listT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "Kl") sum_sbd_list_setT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "lab") (sum_sbd_listT --> sbdFT)
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "Kl_lab") treeT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "kl") sum_sbd_listT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "kl") sum_sbd_listT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "Kl") sum_sbd_list_setT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "lab") (sum_sbd_listT --> sbdFT)
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "Kl_lab") treeT
||>> mk_Frees "x" bdFTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "rec") Lev_recT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "rec") rv_recT;
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "rec") Lev_recT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "rec") rv_recT;
val (k, k') = (hd kks, hd kks')
@@ -1128,8 +1128,8 @@
||>> mk_Frees "b" activeAs
||>> mk_Frees "b" activeAs
||>> mk_Frees "s" sTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "n") HOLogic.natT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "kl") sum_sbd_listT;
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "n") HOLogic.natT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "kl") sum_sbd_listT;
val (length_Lev_thms, length_Lev'_thms) =
let
@@ -1629,7 +1629,7 @@
val theta =
(funs ~~ @{map 2} mk_fun_insts Ts funs) @ (algs ~~ map (Thm.cterm_of lthy) dtors);
val dtor_unfold_dtors = (dtor_unfold_unique_thm OF
- map (fn thm => mk_trans (thm RS @{thm arg_cong2[of _ _ _ _ "op \<circ>", OF _ refl]})
+ map (fn thm => mk_trans (thm RS @{thm arg_cong2[of _ _ _ _ "(\<circ>)", OF _ refl]})
@{thm trans[OF id_o o_id[symmetric]]}) map_id0s)
|> split_conj_thm |> map mk_sym;
in
@@ -1640,7 +1640,7 @@
end;
(*
thm trans[OF x.dtor_unfold_unique x.dtor_unfold_unique[symmetric,
- OF trans[OF arg_cong2[of _ _ _ _ "op o", OF pre_x.map_id0 refl] trans[OF id_o o_id[symmetric]]]],
+ OF trans[OF arg_cong2[of _ _ _ _ "(o)", OF pre_x.map_id0 refl] trans[OF id_o o_id[symmetric]]]],
OF sym]
*)
@@ -1687,7 +1687,7 @@
val uTs = map2 (curry op -->) Ts Ts';
val (((((nat, nat'), (Jzs, Jzs')), (hrecs, hrecs')), (fs, fs')), _) =
lthy
- |> yield_singleton (apfst (op ~~) oo mk_Frees' "n") HOLogic.natT
+ |> yield_singleton (apfst (~~) oo mk_Frees' "n") HOLogic.natT
||>> mk_Frees' "z" Ts
||>> mk_Frees' "rec" hrecTs
||>> mk_Frees' "f" fTs;
@@ -1798,7 +1798,7 @@
(Jys, Jys')), (Jys_copy, Jys'_copy)), (ys_copy, ys'_copy)), Kss), names_lthy) =
lthy
|> mk_Frees' "y" passiveAs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "n") HOLogic.natT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "n") HOLogic.natT
||>> mk_Frees' "z" Ts
||>> mk_Frees "y" Ts'
||>> mk_Frees "z'" Ts
--- a/src/HOL/Tools/BNF/bnf_gfp_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_gfp_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -109,7 +109,7 @@
val trans_fun_cong_image_id_id_apply = @{thm trans[OF fun_cong[OF image_id] id_apply]};
val Collect_splitD_set_mp = @{thm Collect_case_prodD[OF set_mp]};
val rev_bspec = Drule.rotate_prems 1 bspec;
-val Un_cong = @{thm arg_cong2[of _ _ _ _ "op \<union>"]};
+val Un_cong = @{thm arg_cong2[of _ _ _ _ "(\<union>)"]};
val converse_shift = @{thm converse_subset_swap} RS iffD1;
fun mk_coalg_set_tac ctxt coalg_def =
@@ -807,10 +807,10 @@
EVERY' (map2 (fn map_thm => fn map_comp0 =>
EVERY' (map (rtac ctxt)
[@{thm comp_assoc[symmetric]} RS trans,
- @{thm arg_cong2[of _ _ _ _ "op \<circ>"]} OF [map_thm, refl] RS trans,
+ @{thm arg_cong2[of _ _ _ _ "(\<circ>)"]} OF [map_thm, refl] RS trans,
@{thm comp_assoc[symmetric]} RS sym RS trans, map_thm RS arg_cong RS trans,
@{thm comp_assoc[symmetric]} RS trans,
- @{thm arg_cong2[of _ _ _ _ "op \<circ>"]} OF [map_comp0 RS sym, refl]]))
+ @{thm arg_cong2[of _ _ _ _ "(\<circ>)"]} OF [map_comp0 RS sym, refl]]))
maps map_comp0s)] 1;
fun mk_mcong_tac ctxt m coinduct_tac map_comps dtor_maps map_cong0s set_map0ss set_Jsetss
--- a/src/HOL/Tools/BNF/bnf_lfp.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_lfp.ML Wed Jan 10 15:25:09 2018 +0100
@@ -537,8 +537,8 @@
||>> mk_Frees "s" sTs
||>> mk_Frees "i" (replicate n suc_bdT)
||>> (fn ctxt => apfst the_single (mk_fresh_names ctxt 1 "Asi"))
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "i") suc_bdT
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "j") suc_bdT;
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "i") suc_bdT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "j") suc_bdT;
val suc_bd_limit_thm =
let
@@ -764,7 +764,7 @@
lthy
|> mk_Frees "IIB" II_BTs
||>> mk_Frees "IIs" II_sTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "i") IIT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "i") IIT
||>> mk_Frees "x" init_FTs;
val II = HOLogic.mk_Collect (fst iidx', IIT, list_exists_free (II_Bs @ II_ss)
@@ -816,7 +816,7 @@
|> mk_Frees "B" BTs
||>> mk_Frees "s" sTs
||>> mk_Frees "f" (map (fn T => Asuc_bdT --> T) activeAs)
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "i") IIT
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "i") IIT
||>> mk_Frees "ix" active_initTs
||>> mk_Frees' "x" init_FTs
||>> mk_Frees "f" init_fTs
@@ -941,7 +941,7 @@
val ((ss, (fold_f, fold_f')), _) =
lthy
|> mk_Frees "s" sTs
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "f") foldT;
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "f") foldT;
fun ctor_bind i = nth external_bs (i - 1) |> Binding.prefix_name (ctorN ^ "_");
val ctor_def_bind = rpair [] o Binding.concealed o Thm.def_binding o ctor_bind;
@@ -1279,7 +1279,7 @@
(funs ~~ @{map 2} mk_fun_insts Ts funs) @ (algs ~~ map (Thm.cterm_of lthy) ctors);
val ctor_fold_ctors = (ctor_fold_unique_thm OF
map (fn thm => mk_trans @{thm id_o} (mk_sym (thm RS
- @{thm trans[OF arg_cong2[of _ _ _ _ "op \<circ>", OF refl] o_id]}))) map_id0s)
+ @{thm trans[OF arg_cong2[of _ _ _ _ "(\<circ>)", OF refl] o_id]}))) map_id0s)
|> split_conj_thm |> map mk_sym;
in
infer_instantiate lthy theta ctor_fold_unique_thm
--- a/src/HOL/Tools/BNF/bnf_lfp_tactics.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/BNF/bnf_lfp_tactics.ML Wed Jan 10 15:25:09 2018 +0100
@@ -86,7 +86,7 @@
val subset_trans = @{thm subset_trans};
val trans_fun_cong_image_id_id_apply = @{thm trans[OF fun_cong[OF image_id] id_apply]};
val rev_bspec = Drule.rotate_prems 1 bspec;
-val Un_cong = @{thm arg_cong2[of _ _ _ _ "op \<union>"]};
+val Un_cong = @{thm arg_cong2[of _ _ _ _ "(\<union>)"]};
val relChainD = @{thm iffD2[OF meta_eq_to_obj_eq[OF relChain_def]]};
fun mk_alg_set_tac ctxt alg_def =
--- a/src/HOL/Tools/Ctr_Sugar/ctr_sugar.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Ctr_Sugar/ctr_sugar.ML Wed Jan 10 15:25:09 2018 +0100
@@ -477,7 +477,7 @@
||>> mk_Frees "f" case_Ts
||>> mk_Frees "g" case_Ts
||>> yield_singleton (mk_Frees "z") B
- ||>> yield_singleton (apfst (op ~~) oo mk_Frees' "P") HOLogic.boolT;
+ ||>> yield_singleton (apfst (~~) oo mk_Frees' "P") HOLogic.boolT;
val q = Free (fst p', mk_pred1T B);
--- a/src/HOL/Tools/Lifting/lifting_info.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Lifting/lifting_info.ML Wed Jan 10 15:25:09 2018 +0100
@@ -537,7 +537,7 @@
(* setup fixed reflexivity rules *)
val _ = Context.>> (fold add_reflexivity_rule
- @{thms order_refl[of "op="] eq_onp_le_eq Quotient_composition_le_eq Quotient_composition_ge_eq
+ @{thms order_refl[of "(=)"] eq_onp_le_eq Quotient_composition_le_eq Quotient_composition_ge_eq
bi_unique_OO bi_total_OO right_unique_OO right_total_OO left_unique_OO left_total_OO})
(* outer syntax commands *)
--- a/src/HOL/Tools/Nitpick/nitpick_commands.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Nitpick/nitpick_commands.ML Wed Jan 10 15:25:09 2018 +0100
@@ -96,7 +96,7 @@
fun is_known_raw_param s =
AList.defined (op =) default_default_params s orelse
AList.defined (op =) negated_params s orelse
- member (op =) ["max", "show_all", "whack", "eval", "need", "atoms",
+ member (=) ["max", "show_all", "whack", "eval", "need", "atoms",
"expect"] s orelse
exists (fn p => String.isPrefix (p ^ " ") s)
["card", "max", "iter", "box", "dont_box", "finitize", "dont_finitize",
--- a/src/HOL/Tools/Nitpick/nitpick_mono.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Nitpick/nitpick_mono.ML Wed Jan 10 15:25:09 2018 +0100
@@ -574,7 +574,7 @@
(* use the first ML solver (to avoid startup overhead) *)
val (ml_solvers, nonml_solvers) =
SAT_Solver.get_solvers ()
- |> List.partition (member (op =) ["dptsat", "cdclite"] o fst)
+ |> List.partition (member (=) ["dptsat", "cdclite"] o fst)
val res =
if null nonml_solvers then
Timeout.apply tac_timeout (snd (hd ml_solvers)) prop
@@ -604,7 +604,7 @@
string_for_mtype (nth Ms (length Ms - j - 1))
fun string_for_free relevant_frees ((s, _), M) =
- if member (op =) relevant_frees s then SOME (s ^ " : " ^ string_for_mtype M)
+ if member (=) relevant_frees s then SOME (s ^ " : " ^ string_for_mtype M)
else NONE
fun string_for_mcontext ctxt t ({bound_Ms, frame, frees, ...} : mcontext) =
--- a/src/HOL/Tools/Nunchaku/nunchaku_collect.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Nunchaku/nunchaku_collect.ML Wed Jan 10 15:25:09 2018 +0100
@@ -530,7 +530,7 @@
val def = specialize_type thy x def0;
val lhs = lhs_of_equation def;
in
- if exists_Const (curry (op =) x) lhs then def else raise Fail "cannot specialize"
+ if exists_Const (curry (=) x) lhs then def else raise Fail "cannot specialize"
end;
fun definition_of thy (x as (s, _)) =
--- a/src/HOL/Tools/Nunchaku/nunchaku_commands.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Nunchaku/nunchaku_commands.ML Wed Jan 10 15:25:09 2018 +0100
@@ -56,7 +56,7 @@
AList.defined (op =) default_default_params s orelse
AList.defined (op =) alias_params s orelse
AList.defined (op =) negated_alias_params s orelse
- member (op =) ["atoms", "card", "eval", "expect"] s orelse
+ member (=) ["atoms", "card", "eval", "expect"] s orelse
exists (fn p => String.isPrefix (p ^ " ") s)
["atoms", "card", "dont_whack", "mono", "non_mono", "non_wf", "wf", "whack"];
--- a/src/HOL/Tools/Nunchaku/nunchaku_reconstruct.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Nunchaku/nunchaku_reconstruct.ML Wed Jan 10 15:25:09 2018 +0100
@@ -52,7 +52,7 @@
val nun_arrow_exploded = String.explode nun_arrow;
-val is_ty_meta = member (op =) (String.explode "()->,");
+val is_ty_meta = member (=) (String.explode "()->,");
fun next_token_lowlevel [] = (End_of_Stream, [])
| next_token_lowlevel (c :: cs) =
--- a/src/HOL/Tools/Predicate_Compile/code_prolog.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Predicate_Compile/code_prolog.ML Wed Jan 10 15:25:09 2018 +0100
@@ -603,7 +603,7 @@
| has_positive_recursive_prems _ = false
fun mk_lim_prem (Conj prems) = Conj (map mk_lim_prem prems)
| mk_lim_prem (p as Rel (rel, ts)) =
- if member (op =) rel_names rel then Rel (mk_lim_rel_name rel, Var "Lim" :: ts) else p
+ if member (=) rel_names rel then Rel (mk_lim_rel_name rel, Var "Lim" :: ts) else p
| mk_lim_prem p = p
in
if has_positive_recursive_prems prem then
--- a/src/HOL/Tools/Predicate_Compile/core_data.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Predicate_Compile/core_data.ML Wed Jan 10 15:25:09 2018 +0100
@@ -301,7 +301,7 @@
in
fold Term.add_const_names intros []
|> (fn cs =>
- if member (op =) cs @{const_name "HOL.eq"} then
+ if member (=) cs @{const_name "HOL.eq"} then
insert (op =) @{const_name Predicate.eq} cs
else cs)
|> filter (fn c => (not (c = key)) andalso
--- a/src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML Wed Jan 10 15:25:09 2018 +0100
@@ -1034,7 +1034,7 @@
val process =
rewrite_rule ctxt (Named_Theorems.get ctxt @{named_theorems code_pred_simp})
fun process_False intro_t =
- if member (op =) (Logic.strip_imp_prems intro_t) @{prop "False"}
+ if member (=) (Logic.strip_imp_prems intro_t) @{prop "False"}
then NONE else SOME intro_t
fun process_True intro_t =
map_filter_premises (fn p => if p = @{prop True} then NONE else SOME p) intro_t
--- a/src/HOL/Tools/Qelim/cooper.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Qelim/cooper.ML Wed Jan 10 15:25:09 2018 +0100
@@ -21,16 +21,16 @@
type entry = simpset * term list;
val allowed_consts =
- [@{term "op + :: int => _"}, @{term "op + :: nat => _"},
- @{term "op - :: int => _"}, @{term "op - :: nat => _"},
- @{term "op * :: int => _"}, @{term "op * :: nat => _"},
- @{term "op div :: int => _"}, @{term "op div :: nat => _"},
- @{term "op mod :: int => _"}, @{term "op mod :: nat => _"},
+ [@{term "(+) :: int => _"}, @{term "(+) :: nat => _"},
+ @{term "(-) :: int => _"}, @{term "(-) :: nat => _"},
+ @{term "( * ) :: int => _"}, @{term "( * ) :: nat => _"},
+ @{term "(div) :: int => _"}, @{term "(div) :: nat => _"},
+ @{term "(mod) :: int => _"}, @{term "(mod) :: nat => _"},
@{term HOL.conj}, @{term HOL.disj}, @{term HOL.implies},
- @{term "op = :: int => _"}, @{term "op = :: nat => _"}, @{term "op = :: bool => _"},
- @{term "op < :: int => _"}, @{term "op < :: nat => _"},
- @{term "op <= :: int => _"}, @{term "op <= :: nat => _"},
- @{term "op dvd :: int => _"}, @{term "op dvd :: nat => _"},
+ @{term "(=) :: int => _"}, @{term "(=) :: nat => _"}, @{term "(=) :: bool => _"},
+ @{term "(<) :: int => _"}, @{term "(<) :: nat => _"},
+ @{term "(<=) :: int => _"}, @{term "(<=) :: nat => _"},
+ @{term "(dvd) :: int => _"}, @{term "(dvd) :: nat => _"},
@{term "abs :: int => _"},
@{term "max :: int => _"}, @{term "max :: nat => _"},
@{term "min :: int => _"}, @{term "min :: nat => _"},
@@ -170,9 +170,9 @@
val infDTrue = Thm.instantiate' [] [SOME true_tm] infDP;
val infDFalse = Thm.instantiate' [] [SOME false_tm] infDP;
-val cadd = @{cterm "op + :: int => _"}
-val cmulC = @{cterm "op * :: int => _"}
-val cminus = @{cterm "op - :: int => _"}
+val cadd = @{cterm "(+) :: int => _"}
+val cmulC = @{cterm "( * ) :: int => _"}
+val cminus = @{cterm "(-) :: int => _"}
val cone = @{cterm "1 :: int"}
val [addC, mulC, subC] = map Thm.term_of [cadd, cmulC, cminus]
val [zero, one] = [@{term "0 :: int"}, @{term "1 :: int"}];
@@ -340,7 +340,7 @@
RS eq_reflection
else Thm.reflexive ct;
-val dvdc = @{cterm "op dvd :: int => _"};
+val dvdc = @{cterm "(dvd) :: int => _"};
fun unify ctxt q =
let
@@ -374,7 +374,7 @@
val th =
Simplifier.rewrite (put_simpset lin_ss ctxt)
(Thm.apply @{cterm Trueprop} (Thm.apply @{cterm "Not"}
- (Thm.apply (Thm.apply @{cterm "op = :: int => _"} (Numeral.mk_cnumber @{ctyp "int"} x))
+ (Thm.apply (Thm.apply @{cterm "(=) :: int => _"} (Numeral.mk_cnumber @{ctyp "int"} x))
@{cterm "0::int"})))
in Thm.equal_elim (Thm.symmetric th) TrueI end;
val notz =
@@ -479,7 +479,7 @@
val dp =
let val th = Simplifier.rewrite (put_simpset lin_ss ctxt)
(Thm.apply @{cterm Trueprop}
- (Thm.apply (Thm.apply @{cterm "op < :: int => _"} @{cterm "0::int"}) cd))
+ (Thm.apply (Thm.apply @{cterm "(<) :: int => _"} @{cterm "0::int"}) cd))
in Thm.equal_elim (Thm.symmetric th) TrueI end;
(* A and B set *)
local
@@ -582,8 +582,8 @@
fun add_bools t =
let
- val ops = [@{term "op = :: int => _"}, @{term "op < :: int => _"}, @{term "op <= :: int => _"},
- @{term HOL.conj}, @{term HOL.disj}, @{term HOL.implies}, @{term "op = :: bool => _"},
+ val ops = [@{term "(=) :: int => _"}, @{term "(<) :: int => _"}, @{term "(<=) :: int => _"},
+ @{term HOL.conj}, @{term HOL.disj}, @{term HOL.implies}, @{term "(=) :: bool => _"},
@{term "Not"}, @{term "All :: (int => _) => _"},
@{term "Ex :: (int => _) => _"}, @{term "True"}, @{term "False"}];
val is_op = member (op =) ops;
@@ -632,7 +632,7 @@
Proc.Or (fm_of_term ps vs t1, fm_of_term ps vs t2)
| fm_of_term ps vs (Const (@{const_name HOL.implies}, _) $ t1 $ t2) =
Proc.Imp (fm_of_term ps vs t1, fm_of_term ps vs t2)
- | fm_of_term ps vs (@{term "op = :: bool => _ "} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(=) :: bool => _ "} $ t1 $ t2) =
Proc.Iff (fm_of_term ps vs t1, fm_of_term ps vs t2)
| fm_of_term ps vs (Const (@{const_name Not}, _) $ t') =
Proc.NOT (fm_of_term ps vs t')
@@ -640,7 +640,7 @@
Proc.E (uncurry (fm_of_term ps) (descend vs abs))
| fm_of_term ps vs (Const (@{const_name All}, _) $ Abs abs) =
Proc.A (uncurry (fm_of_term ps) (descend vs abs))
- | fm_of_term ps vs (@{term "op = :: int => _"} $ t1 $ t2) =
+ | fm_of_term ps vs (@{term "(=) :: int => _"} $ t1 $ t2) =
Proc.Eq (Proc.Sub (num_of_term vs t1, num_of_term vs t2))
| fm_of_term ps vs (Const (@{const_name Orderings.less_eq}, _) $ t1 $ t2) =
Proc.Le (Proc.Sub (num_of_term vs t1, num_of_term vs t2))
@@ -658,11 +658,11 @@
| term_of_num vs (Proc.Neg t') =
@{term "uminus :: int => _"} $ term_of_num vs t'
| term_of_num vs (Proc.Add (t1, t2)) =
- @{term "op + :: int => _"} $ term_of_num vs t1 $ term_of_num vs t2
+ @{term "(+) :: int => _"} $ term_of_num vs t1 $ term_of_num vs t2
| term_of_num vs (Proc.Sub (t1, t2)) =
- @{term "op - :: int => _"} $ term_of_num vs t1 $ term_of_num vs t2
+ @{term "(-) :: int => _"} $ term_of_num vs t1 $ term_of_num vs t2
| term_of_num vs (Proc.Mul (i, t2)) =
- @{term "op * :: int => _"} $ HOLogic.mk_number HOLogic.intT (Proc.integer_of_int i) $ term_of_num vs t2
+ @{term "( * ) :: int => _"} $ HOLogic.mk_number HOLogic.intT (Proc.integer_of_int i) $ term_of_num vs t2
| term_of_num vs (Proc.CN (n, i, t')) =
term_of_num vs (Proc.Add (Proc.Mul (i, Proc.Bound n), t'));
@@ -671,15 +671,15 @@
| term_of_fm ps vs (Proc.And (t1, t2)) = HOLogic.conj $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
| term_of_fm ps vs (Proc.Or (t1, t2)) = HOLogic.disj $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
| term_of_fm ps vs (Proc.Imp (t1, t2)) = HOLogic.imp $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
- | term_of_fm ps vs (Proc.Iff (t1, t2)) = @{term "op = :: bool => _"} $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
+ | term_of_fm ps vs (Proc.Iff (t1, t2)) = @{term "(=) :: bool => _"} $ term_of_fm ps vs t1 $ term_of_fm ps vs t2
| term_of_fm ps vs (Proc.NOT t') = HOLogic.Not $ term_of_fm ps vs t'
- | term_of_fm ps vs (Proc.Eq t') = @{term "op = :: int => _ "} $ term_of_num vs t'$ @{term "0::int"}
+ | term_of_fm ps vs (Proc.Eq t') = @{term "(=) :: int => _ "} $ term_of_num vs t'$ @{term "0::int"}
| term_of_fm ps vs (Proc.NEq t') = term_of_fm ps vs (Proc.NOT (Proc.Eq t'))
- | term_of_fm ps vs (Proc.Lt t') = @{term "op < :: int => _ "} $ term_of_num vs t' $ @{term "0::int"}
- | term_of_fm ps vs (Proc.Le t') = @{term "op <= :: int => _ "} $ term_of_num vs t' $ @{term "0::int"}
- | term_of_fm ps vs (Proc.Gt t') = @{term "op < :: int => _ "} $ @{term "0::int"} $ term_of_num vs t'
- | term_of_fm ps vs (Proc.Ge t') = @{term "op <= :: int => _ "} $ @{term "0::int"} $ term_of_num vs t'
- | term_of_fm ps vs (Proc.Dvd (i, t')) = @{term "op dvd :: int => _ "} $
+ | term_of_fm ps vs (Proc.Lt t') = @{term "(<) :: int => _ "} $ term_of_num vs t' $ @{term "0::int"}
+ | term_of_fm ps vs (Proc.Le t') = @{term "(<=) :: int => _ "} $ term_of_num vs t' $ @{term "0::int"}
+ | term_of_fm ps vs (Proc.Gt t') = @{term "(<) :: int => _ "} $ @{term "0::int"} $ term_of_num vs t'
+ | term_of_fm ps vs (Proc.Ge t') = @{term "(<=) :: int => _ "} $ @{term "0::int"} $ term_of_num vs t'
+ | term_of_fm ps vs (Proc.Dvd (i, t')) = @{term "(dvd) :: int => _ "} $
HOLogic.mk_number HOLogic.intT (Proc.integer_of_int i) $ term_of_num vs t'
| term_of_fm ps vs (Proc.NDvd (i, t')) = term_of_fm ps vs (Proc.NOT (Proc.Dvd (i, t')))
| term_of_fm ps vs (Proc.Closed n) = nth ps (Proc.integer_of_nat n)
@@ -732,7 +732,7 @@
val q = if P c then c else @{cterm "False"}
val ng = fold_rev (fn (a,v) => fn t => Thm.apply a (Thm.lambda v t)) qvs
(fold_rev (fn p => fn q => Thm.apply (Thm.apply @{cterm HOL.implies} p) q) qs q)
- val g = Thm.apply (Thm.apply @{cterm "op ==>"} (Thm.apply @{cterm "Trueprop"} ng)) p'
+ val g = Thm.apply (Thm.apply @{cterm "(==>)"} (Thm.apply @{cterm "Trueprop"} ng)) p'
val ntac = (case qs of [] => q aconvc @{cterm "False"}
| _ => false)
in
@@ -765,7 +765,7 @@
if not (member (op =) [HOLogic.intT, HOLogic.natT, HOLogic.boolT] (Thm.typ_of_cterm t))
then false
else case Thm.term_of t of
- c$l$r => if member (op =) [@{term"op *::int => _"}, @{term"op *::nat => _"}] c
+ c$l$r => if member (=) [@{term"( * )::int => _"}, @{term"( * )::nat => _"}] c
then not (isnum l orelse isnum r)
else not (member (op aconv) cts c)
| c$_ => not (member (op aconv) cts c)
--- a/src/HOL/Tools/SMT/smt_systems.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/SMT/smt_systems.ML Wed Jan 10 15:25:09 2018 +0100
@@ -37,7 +37,7 @@
in (test_outcome solver_name l, ls) end
fun on_first_non_unsupported_line test_outcome solver_name lines =
- on_first_line test_outcome solver_name (filter (curry (op <>) "unsupported") lines)
+ on_first_line test_outcome solver_name (filter (curry (<>) "unsupported") lines)
(* CVC3 *)
--- a/src/HOL/Tools/SMT/smtlib.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/SMT/smtlib.ML Wed Jan 10 15:25:09 2018 +0100
@@ -67,7 +67,7 @@
(* hex numbers *)
-val is_hex = member (op =) (raw_explode "0123456789abcdefABCDEF")
+val is_hex = member (=) (raw_explode "0123456789abcdefABCDEF")
fun within c1 c2 c = (ord c1 <= ord c andalso ord c <= ord c2)
--- a/src/HOL/Tools/SMT/smtlib_interface.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/SMT/smtlib_interface.ML Wed Jan 10 15:25:09 2018 +0100
@@ -146,7 +146,7 @@
fun serialize smt_options comments {logic, sorts, dtyps, funcs} ts =
let
- val unsat_core = member (op =) smt_options (":produce-unsat-cores", "true")
+ val unsat_core = member (=) smt_options (":produce-unsat-cores", "true")
in
Buffer.empty
|> fold (Buffer.add o enclose "; " "\n") comments
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML Wed Jan 10 15:25:09 2018 +0100
@@ -98,7 +98,7 @@
AList.defined (op =) default_default_params s orelse
AList.defined (op =) alias_params s orelse
AList.defined (op =) negated_alias_params s orelse
- member (op =) property_dependent_params s orelse s = "expect"
+ member (=) property_dependent_params s orelse s = "expect"
fun is_prover_list ctxt s =
(case space_explode " " s of
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar_proof.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar_proof.ML Wed Jan 10 15:25:09 2018 +0100
@@ -284,15 +284,15 @@
fun of_label l = if l = no_label then "" else string_of_label l ^ ": "
fun of_obtain qs nr =
- (if nr > 1 orelse (nr = 1 andalso member (op =) qs Then) then "ultimately "
- else if nr = 1 orelse member (op =) qs Then then "then "
+ (if nr > 1 orelse (nr = 1 andalso member (=) qs Then) then "ultimately "
+ else if nr = 1 orelse member (=) qs Then then "then "
else "") ^ "obtain"
- fun of_show_have qs = if member (op =) qs Show then "show" else "have"
- fun of_thus_hence qs = if member (op =) qs Show then "then show" else "then have"
+ fun of_show_have qs = if member (=) qs Show then "show" else "have"
+ fun of_thus_hence qs = if member (=) qs Show then "then show" else "then have"
fun of_have qs nr =
- if nr > 1 orelse (nr = 1 andalso member (op =) qs Then) then "ultimately " ^ of_show_have qs
+ if nr > 1 orelse (nr = 1 andalso member (=) qs Then) then "ultimately " ^ of_show_have qs
else if nr = 1 orelse member (op =) qs Then then of_thus_hence qs
else of_show_have qs
@@ -344,7 +344,7 @@
end
and of_subproofs _ _ _ [] = ""
| of_subproofs ind ctxt qs subs =
- (if member (op =) qs Then then of_moreover ind else "") ^
+ (if member (=) qs Then then of_moreover ind else "") ^
space_implode (of_moreover ind) (map (of_subproof ind ctxt) subs)
and add_step_pre ind qs subs (s, ctxt) =
(s ^ of_subproofs ind ctxt qs subs ^ of_indent ind, ctxt)
--- a/src/HOL/Tools/Transfer/transfer.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/Transfer/transfer.ML Wed Jan 10 15:25:09 2018 +0100
@@ -243,7 +243,7 @@
Const (@{const_name is_equality}, Term.fastype_of t --> HOLogic.boolT) $ t
val is_equality_lemma =
- @{lemma "(!!R. is_equality R ==> PROP (P R)) == PROP (P (op =))"
+ @{lemma "(!!R. is_equality R ==> PROP (P R)) == PROP (P (=))"
by (unfold is_equality_def, rule, drule meta_spec,
erule meta_mp, rule refl, simp)}
@@ -251,7 +251,7 @@
let
val prop = Thm.prop_of thm
val (t, mk_prop') = dest prop
- (* Only consider "op =" at non-base types *)
+ (* Only consider "(=)" at non-base types *)
fun is_eq (Const (@{const_name HOL.eq}, Type ("fun", [T, _]))) =
(case T of Type (_, []) => false | _ => true)
| is_eq _ = false
--- a/src/HOL/Tools/datatype_realizer.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/datatype_realizer.ML Wed Jan 10 15:25:09 2018 +0100
@@ -34,7 +34,7 @@
else map (fn i => "P" ^ string_of_int i) (1 upto length descr);
val rec_result_Ts = map (fn ((i, _), P) =>
- if member (op =) is i then TFree ("'" ^ P, @{sort type}) else HOLogic.unitT)
+ if member (=) is i then TFree ("'" ^ P, @{sort type}) else HOLogic.unitT)
(descr ~~ pnames);
fun make_pred i T U r x =
--- a/src/HOL/Tools/functor.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/functor.ML Wed Jan 10 15:25:09 2018 +0100
@@ -199,7 +199,7 @@
| add_tycos _ = I;
val tycos = add_tycos T [];
val tyco = if tycos = ["fun"] then "fun"
- else case remove (op =) "fun" tycos
+ else case remove (=) "fun" tycos
of [tyco] => tyco
| _ => error ("Bad number of type constructors: " ^ Syntax.string_of_typ ctxt T);
in (mapper, T, tyco) end;
--- a/src/HOL/Tools/groebner.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/groebner.ML Wed Jan 10 15:25:09 2018 +0100
@@ -523,7 +523,7 @@
Free(s,_) => s
| Var ((s,_),_) => s
| _ => "x"
- fun mk_eq s t = Thm.apply (Thm.apply \<^cterm>\<open>op \<equiv> :: bool \<Rightarrow> _\<close> s) t
+ fun mk_eq s t = Thm.apply (Thm.apply \<^cterm>\<open>(\<equiv>) :: bool \<Rightarrow> _\<close> s) t
fun mk_exists ctxt v th = Drule.arg_cong_rule (ext ctxt (Thm.typ_of_cterm v))
(Thm.abstract_rule (getname v) v th)
fun simp_ex_conv ctxt =
@@ -601,7 +601,7 @@
else tm::acc ;
fun grobify_term vars tm =
-((if not (member (op aconvc) vars tm) then raise CTERM ("Not a variable", [tm]) else
+((if not (member (aconvc) vars tm) then raise CTERM ("Not a variable", [tm]) else
[(@1, map (fn i => if i aconvc tm then 1 else 0) vars)])
handle CTERM _ =>
((let val x = dest_const tm
@@ -823,7 +823,7 @@
val th1 = (the (get_first (try (isolate_variable vars)) cjs)
handle Option.Option => raise CTERM ("unwind_polys_conv",[tm]))
val eq = Thm.lhs_of th1
- val bod' = list_mk_binop \<^cterm>\<open>HOL.conj\<close> (eq::(remove op aconvc eq cjs))
+ val bod' = list_mk_binop \<^cterm>\<open>HOL.conj\<close> (eq::(remove (aconvc) eq cjs))
val th2 = conj_ac_rule (mk_eq bod bod')
val th3 =
Thm.transitive th2
@@ -900,7 +900,7 @@
| Const (\<^const_name>\<open>HOL.disj\<close>, _) $ _ $ _ => find_args bounds tm
| Const (\<^const_name>\<open>HOL.implies\<close>, _) $ _ $ _ => find_args bounds tm
| \<^term>\<open>Pure.imp\<close> $_$_ => find_args bounds tm
- | Const("op ==",_)$_$_ => find_args bounds tm (* FIXME proper const name *)
+ | Const("(==)",_)$_$_ => find_args bounds tm (* FIXME proper const name *)
| \<^term>\<open>Trueprop\<close>$_ => find_term bounds (Thm.dest_arg tm)
| _ => raise TERM ("find_term", []))
and find_args bounds tm =
--- a/src/HOL/Tools/rewrite_hol_proof.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/rewrite_hol_proof.ML Wed Jan 10 15:25:09 2018 +0100
@@ -63,15 +63,15 @@
\<open>(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> x1 \<cdot> x2 \<bullet> prfT \<bullet> (equal_elim \<cdot> x3 \<cdot> x4 \<bullet>
(combination \<cdot> TYPE('T) \<cdot> TYPE(prop) \<cdot> x7 \<cdot> x8 \<cdot> C \<cdot> D \<bullet>
- (combination \<cdot> TYPE('T) \<cdot> TYPE('T3) \<cdot> op \<equiv> \<cdot> op \<equiv> \<cdot> A \<cdot> B \<bullet>
- (axm.reflexive \<cdot> TYPE('T4) \<cdot> op \<equiv>) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3)) \<equiv>
+ (combination \<cdot> TYPE('T) \<cdot> TYPE('T3) \<cdot> (\<equiv>) \<cdot> (\<equiv>) \<cdot> A \<cdot> B \<bullet>
+ (axm.reflexive \<cdot> TYPE('T4) \<cdot> (\<equiv>)) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3)) \<equiv>
(iffD1 \<cdot> A = C \<cdot> B = D \<bullet>
- (cong \<cdot> TYPE('T) \<cdot> TYPE(bool) \<cdot> op = A \<cdot> op = B \<cdot> C \<cdot> D \<bullet>
+ (cong \<cdot> TYPE('T) \<cdot> TYPE(bool) \<cdot> (=) A \<cdot> (=) B \<cdot> C \<cdot> D \<bullet>
prfT \<bullet> arity_type_bool \<bullet>
(cong \<cdot> TYPE('T) \<cdot> TYPE('T\<Rightarrow>bool) \<cdot>
- (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> A \<cdot> B \<bullet>
+ ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> A \<cdot> B \<bullet>
prfT \<bullet> (OfClass type_class \<cdot> TYPE('T\<Rightarrow>bool)) \<bullet>
- (HOL.refl \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool))) \<bullet>
(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> A \<cdot> B \<bullet> prfT \<bullet> prf1)) \<bullet>
(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> C \<cdot> D \<bullet> prfT \<bullet> prf2)) \<bullet>
@@ -80,15 +80,15 @@
\<open>(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> x1 \<cdot> x2 \<bullet> prfT \<bullet> (equal_elim \<cdot> x3 \<cdot> x4 \<bullet>
(axm.symmetric \<cdot> TYPE('T2) \<cdot> x5 \<cdot> x6 \<bullet>
(combination \<cdot> TYPE('T) \<cdot> TYPE(prop) \<cdot> x7 \<cdot> x8 \<cdot> C \<cdot> D \<bullet>
- (combination \<cdot> TYPE('T) \<cdot> TYPE('T3) \<cdot> op \<equiv> \<cdot> op \<equiv> \<cdot> A \<cdot> B \<bullet>
- (axm.reflexive \<cdot> TYPE('T4) \<cdot> op \<equiv>) \<bullet> prf1) \<bullet> prf2)) \<bullet> prf3)) \<equiv>
+ (combination \<cdot> TYPE('T) \<cdot> TYPE('T3) \<cdot> (\<equiv>) \<cdot> (\<equiv>) \<cdot> A \<cdot> B \<bullet>
+ (axm.reflexive \<cdot> TYPE('T4) \<cdot> (\<equiv>)) \<bullet> prf1) \<bullet> prf2)) \<bullet> prf3)) \<equiv>
(iffD2 \<cdot> A = C \<cdot> B = D \<bullet>
- (cong \<cdot> TYPE('T) \<cdot> TYPE(bool) \<cdot> op = A \<cdot> op = B \<cdot> C \<cdot> D \<bullet>
+ (cong \<cdot> TYPE('T) \<cdot> TYPE(bool) \<cdot> (=) A \<cdot> (=) B \<cdot> C \<cdot> D \<bullet>
prfT \<bullet> arity_type_bool \<bullet>
(cong \<cdot> TYPE('T) \<cdot> TYPE('T\<Rightarrow>bool) \<cdot>
- (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> A \<cdot> B \<bullet>
+ ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> A \<cdot> B \<bullet>
prfT \<bullet> (OfClass type_class \<cdot> TYPE('T\<Rightarrow>bool)) \<bullet>
- (HOL.refl \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> (op = :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool) \<cdot> ((=) :: 'T\<Rightarrow>'T\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE('T\<Rightarrow>'T\<Rightarrow>bool))) \<bullet>
(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> A \<cdot> B \<bullet> prfT \<bullet> prf1)) \<bullet>
(meta_eq_to_obj_eq \<cdot> TYPE('T) \<cdot> C \<cdot> D \<bullet> prfT \<bullet> prf2)) \<bullet>
@@ -135,76 +135,76 @@
(* \<and> *)
\<open>(iffD1 \<cdot> A \<and> C \<cdot> B \<and> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<and> \<cdot> op \<and> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<and> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<and>) \<cdot> (\<and>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<and>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(conjI \<cdot> B \<cdot> D \<bullet>
(iffD1 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> (conjunct1 \<cdot> A \<cdot> C \<bullet> prf3)) \<bullet>
(iffD1 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> (conjunct2 \<cdot> A \<cdot> C \<bullet> prf3)))\<close>,
\<open>(iffD2 \<cdot> A \<and> C \<cdot> B \<and> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<and> \<cdot> op \<and> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<and> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<and>) \<cdot> (\<and>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<and>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(conjI \<cdot> A \<cdot> C \<bullet>
(iffD2 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> (conjunct1 \<cdot> B \<cdot> D \<bullet> prf3)) \<bullet>
(iffD2 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> (conjunct2 \<cdot> B \<cdot> D \<bullet> prf3)))\<close>,
- \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<and> A \<cdot> op \<and> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> op \<and> A \<bullet> prfbb)) \<equiv>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<and> A \<cdot> op \<and> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<and>) A \<cdot> (\<and>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> (\<and>) A \<bullet> prfbb)) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<and>) A \<cdot> (\<and>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot>
- (op \<and> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<and> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
+ ((\<and>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<and>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
prfb \<bullet> prfbb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<and> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<and>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool))) \<bullet>
(HOL.refl \<cdot> TYPE(bool) \<cdot> A \<bullet> prfb)))\<close>,
(* \<or> *)
\<open>(iffD1 \<cdot> A \<or> C \<cdot> B \<or> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<or> \<cdot> op \<or> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<or> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<or>) \<cdot> (\<or>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<or>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(disjE \<cdot> A \<cdot> C \<cdot> B \<or> D \<bullet> prf3 \<bullet>
(\<^bold>\<lambda>H : A. disjI1 \<cdot> B \<cdot> D \<bullet> (iffD1 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> H)) \<bullet>
(\<^bold>\<lambda>H : C. disjI2 \<cdot> D \<cdot> B \<bullet> (iffD1 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> H)))\<close>,
\<open>(iffD2 \<cdot> A \<or> C \<cdot> B \<or> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<or> \<cdot> op \<or> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<or> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<or>) \<cdot> (\<or>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<or>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(disjE \<cdot> B \<cdot> D \<cdot> A \<or> C \<bullet> prf3 \<bullet>
(\<^bold>\<lambda>H : B. disjI1 \<cdot> A \<cdot> C \<bullet> (iffD2 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> H)) \<bullet>
(\<^bold>\<lambda>H : D. disjI2 \<cdot> C \<cdot> A \<bullet> (iffD2 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> H)))\<close>,
- \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<or> A \<cdot> op \<or> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> op \<or> A \<bullet> prfbb)) \<equiv>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<or> A \<cdot> op \<or> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<or>) A \<cdot> (\<or>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> (\<or>) A \<bullet> prfbb)) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<or>) A \<cdot> (\<or>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot>
- (op \<or> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<or> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
+ ((\<or>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<or>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
prfb \<bullet> prfbb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<or> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<or>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool))) \<bullet>
(HOL.refl \<cdot> TYPE(bool) \<cdot> A \<bullet> prfb)))\<close>,
(* \<longrightarrow> *)
\<open>(iffD1 \<cdot> A \<longrightarrow> C \<cdot> B \<longrightarrow> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<longrightarrow> \<cdot> op \<longrightarrow> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<longrightarrow> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<longrightarrow>) \<cdot> (\<longrightarrow>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<longrightarrow>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(impI \<cdot> B \<cdot> D \<bullet> (\<^bold>\<lambda>H: B. iffD1 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet>
(mp \<cdot> A \<cdot> C \<bullet> prf3 \<bullet> (iffD2 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> H))))\<close>,
\<open>(iffD2 \<cdot> A \<longrightarrow> C \<cdot> B \<longrightarrow> D \<bullet> (cong \<cdot> TYPE('T1) \<cdot> TYPE('T2) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfT1 \<bullet> prfT2 \<bullet>
- (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> op \<longrightarrow> \<cdot> op \<longrightarrow> \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
- (HOL.refl \<cdot> TYPE('T5) \<cdot> op \<longrightarrow> \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
+ (cong \<cdot> TYPE('T3) \<cdot> TYPE('T4) \<cdot> (\<longrightarrow>) \<cdot> (\<longrightarrow>) \<cdot> A \<cdot> B \<bullet> prfT3 \<bullet> prfT4 \<bullet>
+ (HOL.refl \<cdot> TYPE('T5) \<cdot> (\<longrightarrow>) \<bullet> prfT5) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<equiv>
(impI \<cdot> A \<cdot> C \<bullet> (\<^bold>\<lambda>H: A. iffD2 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet>
(mp \<cdot> B \<cdot> D \<bullet> prf3 \<bullet> (iffD1 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> H))))\<close>,
- \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<longrightarrow> A \<cdot> op \<longrightarrow> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> op \<longrightarrow> A \<bullet> prfbb)) \<equiv>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op \<longrightarrow> A \<cdot> op \<longrightarrow> A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<longrightarrow>) A \<cdot> (\<longrightarrow>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> (\<longrightarrow>) A \<bullet> prfbb)) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (\<longrightarrow>) A \<cdot> (\<longrightarrow>) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot>
- (op \<longrightarrow> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<longrightarrow> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
+ ((\<longrightarrow>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<longrightarrow>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
prfb \<bullet> prfbb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op \<longrightarrow> :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((\<longrightarrow>) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool))) \<bullet>
(HOL.refl \<cdot> TYPE(bool) \<cdot> A \<bullet> prfb)))\<close>,
@@ -224,39 +224,39 @@
\<open>(iffD1 \<cdot> B \<cdot> D \<bullet>
(iffD1 \<cdot> A = C \<cdot> B = D \<bullet> (cong \<cdot> TYPE(bool) \<cdot> TYPE('T1) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfb \<bullet> prfT1 \<bullet>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> op = \<cdot> op = \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
- (HOL.refl \<cdot> TYPE('T3) \<cdot> op = \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> (=) \<cdot> (=) \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
+ (HOL.refl \<cdot> TYPE('T3) \<cdot> (=) \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
(iffD1 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet>
(iffD1 \<cdot> A \<cdot> C \<bullet> prf3 \<bullet> (iffD2 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> prf4)))\<close>,
\<open>(iffD2 \<cdot> B \<cdot> D \<bullet>
(iffD1 \<cdot> A = C \<cdot> B = D \<bullet> (cong \<cdot> TYPE(bool) \<cdot> TYPE('T1) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfb \<bullet> prfT1 \<bullet>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> op = \<cdot> op = \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
- (HOL.refl \<cdot> TYPE('T3) \<cdot> op = \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> (=) \<cdot> (=) \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
+ (HOL.refl \<cdot> TYPE('T3) \<cdot> (=) \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
(iffD1 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet>
(iffD2 \<cdot> A \<cdot> C \<bullet> prf3 \<bullet> (iffD2 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> prf4)))\<close>,
\<open>(iffD1 \<cdot> A \<cdot> C \<bullet>
(iffD2 \<cdot> A = C \<cdot> B = D \<bullet> (cong \<cdot> TYPE(bool) \<cdot> TYPE('T1) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfb \<bullet> prfT1 \<bullet>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> op = \<cdot> op = \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
- (HOL.refl \<cdot> TYPE('T3) \<cdot> op = \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4)\<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> (=) \<cdot> (=) \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
+ (HOL.refl \<cdot> TYPE('T3) \<cdot> (=) \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4)\<equiv>
(iffD2 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet>
(iffD1 \<cdot> B \<cdot> D \<bullet> prf3 \<bullet> (iffD1 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet> prf4)))\<close>,
\<open>(iffD2 \<cdot> A \<cdot> C \<bullet>
(iffD2 \<cdot> A = C \<cdot> B = D \<bullet> (cong \<cdot> TYPE(bool) \<cdot> TYPE('T1) \<cdot> x1 \<cdot> x2 \<cdot> C \<cdot> D \<bullet> prfb \<bullet> prfT1 \<bullet>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> op = \<cdot> op = \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
- (HOL.refl \<cdot> TYPE('T3) \<cdot> op = \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE('T2) \<cdot> (=) \<cdot> (=) \<cdot> A \<cdot> B \<bullet> prfb \<bullet> prfT2 \<bullet>
+ (HOL.refl \<cdot> TYPE('T3) \<cdot> (=) \<bullet> prfT3) \<bullet> prf1) \<bullet> prf2) \<bullet> prf3) \<bullet> prf4) \<equiv>
(iffD2 \<cdot> A \<cdot> B \<bullet> prf1 \<bullet>
(iffD2 \<cdot> B \<cdot> D \<bullet> prf3 \<bullet> (iffD1 \<cdot> C \<cdot> D \<bullet> prf2 \<bullet> prf4)))\<close>,
- \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op = A \<cdot> op = A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> op = A \<bullet> prfbb)) \<equiv>
- (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> op = A \<cdot> op = A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ \<open>(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (=) A \<cdot> (=) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot> (=) A \<bullet> prfbb)) \<equiv>
+ (cong \<cdot> TYPE(bool) \<cdot> TYPE(bool) \<cdot> (=) A \<cdot> (=) A \<cdot> B \<cdot> C \<bullet> prfb \<bullet> prfb \<bullet>
(cong \<cdot> TYPE(bool) \<cdot> TYPE(bool\<Rightarrow>bool) \<cdot>
- (op = :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op = :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
+ ((=) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((=) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> A \<cdot> A \<bullet>
prfb \<bullet> prfbb \<bullet>
- (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> (op = :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
+ (HOL.refl \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool) \<cdot> ((=) :: bool\<Rightarrow>bool\<Rightarrow>bool) \<bullet>
(OfClass type_class \<cdot> TYPE(bool\<Rightarrow>bool\<Rightarrow>bool))) \<bullet>
(HOL.refl \<cdot> TYPE(bool) \<cdot> A \<bullet> prfb)))\<close>,
--- a/src/HOL/Tools/sat_solver.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/sat_solver.ML Wed Jan 10 15:25:09 2018 +0100
@@ -339,7 +339,7 @@
o (map (map literal_from_int))
o clauses
o (map int_from_string)
- o (maps (String.tokens (member (op =) [#" ", #"\t", #"\n"])))
+ o (maps (String.tokens (member (=) [#" ", #"\t", #"\n"])))
o filter_preamble
o filter (fn l => l <> "")
o split_lines
--- a/src/HOL/Tools/semiring_normalizer.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/semiring_normalizer.ML Wed Jan 10 15:25:09 2018 +0100
@@ -124,7 +124,7 @@
Simplifier.rewrite (put_simpset semiring_norm_ss ctxt)
then_conv Simplifier.rewrite (put_simpset HOL_basic_ss ctxt addsimps @{thms numeral_One}))};
-val divide_const = Thm.cterm_of @{context} (Logic.varify_global @{term "op /"});
+val divide_const = Thm.cterm_of @{context} (Logic.varify_global @{term "(/)"});
val [divide_tvar] = Term.add_tvars (Thm.term_of divide_const) [];
val field_funs =
--- a/src/HOL/Tools/set_comprehension_pointfree.ML Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Tools/set_comprehension_pointfree.ML Wed Jan 10 15:25:09 2018 +0100
@@ -324,7 +324,7 @@
resolve_tac ctxt @{thms image_eqI}
THEN' (REPEAT_DETERM1 o
(resolve_tac ctxt @{thms refl}
- ORELSE' resolve_tac ctxt @{thms arg_cong2 [OF refl, where f = "op =", OF prod.case, THEN iffD2]}
+ ORELSE' resolve_tac ctxt @{thms arg_cong2 [OF refl, where f = "(=)", OF prod.case, THEN iffD2]}
ORELSE' CONVERSION (Conv.params_conv ~1 (K (Conv.concl_conv ~1
(HOLogic.Trueprop_conv
(HOLogic.eq_conv Conv.all_conv (Conv.rewr_conv (mk_meta_eq case_prod_beta)))))) ctxt)))
@@ -356,7 +356,7 @@
ORELSE' (resolve_tac ctxt @{thms image_eqI} THEN'
(REPEAT_DETERM o
(resolve_tac ctxt @{thms refl}
- ORELSE' resolve_tac ctxt @{thms arg_cong2[OF refl, where f = "op =", OF prod.case, THEN iffD2]})))
+ ORELSE' resolve_tac ctxt @{thms arg_cong2[OF refl, where f = "(=)", OF prod.case, THEN iffD2]})))
ORELSE' resolve_tac ctxt @{thms UNIV_I}
ORELSE' resolve_tac ctxt @{thms iffD2[OF Compl_iff]}
ORELSE' assume_tac ctxt)
--- a/src/HOL/Transcendental.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Transcendental.thy Wed Jan 10 15:25:09 2018 +0100
@@ -1902,7 +1902,7 @@
using geometric_sums[OF \<open>norm (1 - x) < 1\<close>] by (rule sums_unique)
also have "\<dots> = suminf (?f' x)"
unfolding power_mult_distrib[symmetric]
- by (rule arg_cong[where f=suminf], rule arg_cong[where f="op ^"], auto)
+ by (rule arg_cong[where f=suminf], rule arg_cong[where f="(^)"], auto)
finally have "DERIV ln x :> suminf (?f' x)"
using DERIV_ln[OF \<open>0 < x\<close>] unfolding divide_inverse by auto
moreover
@@ -5622,7 +5622,7 @@
by (simp only: power_mult)
qed
- have sums_even: "op sums f = op sums (\<lambda> n. if even n then f (n div 2) else 0)"
+ have sums_even: "(sums) f = (sums) (\<lambda> n. if even n then f (n div 2) else 0)"
for f :: "nat \<Rightarrow> real"
proof -
have "f sums x = (\<lambda> n. if even n then f (n div 2) else 0) sums x" for x :: real
--- a/src/HOL/Transfer.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Transfer.thy Wed Jan 10 15:25:09 2018 +0100
@@ -33,7 +33,7 @@
lemmas rel_fun_eq = fun.rel_eq
lemma rel_fun_eq_rel:
-shows "rel_fun (op =) R = (\<lambda>f g. \<forall>x. R (f x) (g x))"
+shows "rel_fun (=) R = (\<lambda>f g. \<forall>x. R (f x) (g x))"
by (simp add: rel_fun_def)
@@ -48,9 +48,9 @@
text \<open>Handling of equality relations\<close>
definition is_equality :: "('a \<Rightarrow> 'a \<Rightarrow> bool) \<Rightarrow> bool"
- where "is_equality R \<longleftrightarrow> R = (op =)"
+ where "is_equality R \<longleftrightarrow> R = (=)"
-lemma is_equality_eq: "is_equality (op =)"
+lemma is_equality_eq: "is_equality (=)"
unfolding is_equality_def by simp
text \<open>Reverse implication for monotonicity rules\<close>
@@ -64,7 +64,7 @@
"transfer_forall \<equiv> All"
definition transfer_implies where
- "transfer_implies \<equiv> op \<longrightarrow>"
+ "transfer_implies \<equiv> (\<longrightarrow>)"
definition transfer_bforall :: "('a \<Rightarrow> bool) \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool"
where "transfer_bforall \<equiv> (\<lambda>P Q. \<forall>x. P x \<longrightarrow> Q x)"
@@ -79,19 +79,19 @@
"Trueprop (transfer_bforall P (\<lambda>x. Q x)) \<equiv> (\<And>x. P x \<Longrightarrow> Q x)"
unfolding transfer_bforall_def atomize_imp atomize_all ..
-lemma transfer_start: "\<lbrakk>P; Rel (op =) P Q\<rbrakk> \<Longrightarrow> Q"
+lemma transfer_start: "\<lbrakk>P; Rel (=) P Q\<rbrakk> \<Longrightarrow> Q"
unfolding Rel_def by simp
-lemma transfer_start': "\<lbrakk>P; Rel (op \<longrightarrow>) P Q\<rbrakk> \<Longrightarrow> Q"
+lemma transfer_start': "\<lbrakk>P; Rel (\<longrightarrow>) P Q\<rbrakk> \<Longrightarrow> Q"
unfolding Rel_def by simp
lemma transfer_prover_start: "\<lbrakk>x = x'; Rel R x' y\<rbrakk> \<Longrightarrow> Rel R x y"
by simp
-lemma untransfer_start: "\<lbrakk>Q; Rel (op =) P Q\<rbrakk> \<Longrightarrow> P"
+lemma untransfer_start: "\<lbrakk>Q; Rel (=) P Q\<rbrakk> \<Longrightarrow> P"
unfolding Rel_def by simp
-lemma Rel_eq_refl: "Rel (op =) x x"
+lemma Rel_eq_refl: "Rel (=) x x"
unfolding Rel_def ..
lemma Rel_app:
@@ -162,7 +162,7 @@
using assms by(auto simp add: right_total_def)
lemma right_total_alt_def2:
- "right_total R \<longleftrightarrow> ((R ===> op \<longrightarrow>) ===> op \<longrightarrow>) All All"
+ "right_total R \<longleftrightarrow> ((R ===> (\<longrightarrow>)) ===> (\<longrightarrow>)) All All"
unfolding right_total_def rel_fun_def
apply (rule iffI, fast)
apply (rule allI)
@@ -172,11 +172,11 @@
done
lemma right_unique_alt_def2:
- "right_unique R \<longleftrightarrow> (R ===> R ===> op \<longrightarrow>) (op =) (op =)"
+ "right_unique R \<longleftrightarrow> (R ===> R ===> (\<longrightarrow>)) (=) (=)"
unfolding right_unique_def rel_fun_def by auto
lemma bi_total_alt_def2:
- "bi_total R \<longleftrightarrow> ((R ===> op =) ===> op =) All All"
+ "bi_total R \<longleftrightarrow> ((R ===> (=)) ===> (=)) All All"
unfolding bi_total_def rel_fun_def
apply (rule iffI, fast)
apply safe
@@ -189,7 +189,7 @@
done
lemma bi_unique_alt_def2:
- "bi_unique R \<longleftrightarrow> (R ===> R ===> op =) (op =) (op =)"
+ "bi_unique R \<longleftrightarrow> (R ===> R ===> (=)) (=) (=)"
unfolding bi_unique_def rel_fun_def by auto
lemma [simp]:
@@ -208,11 +208,11 @@
lemma bi_total_conversep [simp]: "bi_total R\<inverse>\<inverse> = bi_total R"
by(auto simp add: bi_total_def)
-lemma right_unique_alt_def: "right_unique R = (conversep R OO R \<le> op=)" unfolding right_unique_def by blast
-lemma left_unique_alt_def: "left_unique R = (R OO (conversep R) \<le> op=)" unfolding left_unique_def by blast
+lemma right_unique_alt_def: "right_unique R = (conversep R OO R \<le> (=))" unfolding right_unique_def by blast
+lemma left_unique_alt_def: "left_unique R = (R OO (conversep R) \<le> (=))" unfolding left_unique_def by blast
-lemma right_total_alt_def: "right_total R = (conversep R OO R \<ge> op=)" unfolding right_total_def by blast
-lemma left_total_alt_def: "left_total R = (R OO conversep R \<ge> op=)" unfolding left_total_def by blast
+lemma right_total_alt_def: "right_total R = (conversep R OO R \<ge> (=))" unfolding right_total_def by blast
+lemma left_total_alt_def: "left_total R = (R OO conversep R \<ge> (=))" unfolding left_total_def by blast
lemma bi_total_alt_def: "bi_total A = (left_total A \<and> right_total A)"
unfolding left_total_def right_total_def bi_total_def by blast
@@ -246,7 +246,7 @@
lemma Domainp_refl[transfer_domain_rule]:
"Domainp T = Domainp T" ..
-lemma Domain_eq_top[transfer_domain_rule]: "Domainp op= = top" by auto
+lemma Domain_eq_top[transfer_domain_rule]: "Domainp (=) = top" by auto
lemma Domainp_pred_fun_eq[relator_domain]:
assumes "left_unique T"
@@ -287,22 +287,22 @@
subsection \<open>Properties of relators\<close>
-lemma left_total_eq[transfer_rule]: "left_total op="
+lemma left_total_eq[transfer_rule]: "left_total (=)"
unfolding left_total_def by blast
-lemma left_unique_eq[transfer_rule]: "left_unique op="
+lemma left_unique_eq[transfer_rule]: "left_unique (=)"
unfolding left_unique_def by blast
-lemma right_total_eq [transfer_rule]: "right_total op="
+lemma right_total_eq [transfer_rule]: "right_total (=)"
unfolding right_total_def by simp
-lemma right_unique_eq [transfer_rule]: "right_unique op="
+lemma right_unique_eq [transfer_rule]: "right_unique (=)"
unfolding right_unique_def by simp
-lemma bi_total_eq[transfer_rule]: "bi_total (op =)"
+lemma bi_total_eq[transfer_rule]: "bi_total (=)"
unfolding bi_total_def by simp
-lemma bi_unique_eq[transfer_rule]: "bi_unique (op =)"
+lemma bi_unique_eq[transfer_rule]: "bi_unique (=)"
unfolding bi_unique_def by simp
lemma left_total_fun[transfer_rule]:
@@ -379,7 +379,7 @@
lemma Domainp_forall_transfer [transfer_rule]:
assumes "right_total A"
- shows "((A ===> op =) ===> op =)
+ shows "((A ===> (=)) ===> (=))
(transfer_bforall (Domainp A)) transfer_forall"
using assms unfolding right_total_def
unfolding transfer_forall_def transfer_bforall_def rel_fun_def Domainp_iff
@@ -388,28 +388,28 @@
text \<open>Transfer rules using implication instead of equality on booleans.\<close>
lemma transfer_forall_transfer [transfer_rule]:
- "bi_total A \<Longrightarrow> ((A ===> op =) ===> op =) transfer_forall transfer_forall"
- "right_total A \<Longrightarrow> ((A ===> op =) ===> implies) transfer_forall transfer_forall"
+ "bi_total A \<Longrightarrow> ((A ===> (=)) ===> (=)) transfer_forall transfer_forall"
+ "right_total A \<Longrightarrow> ((A ===> (=)) ===> implies) transfer_forall transfer_forall"
"right_total A \<Longrightarrow> ((A ===> implies) ===> implies) transfer_forall transfer_forall"
- "bi_total A \<Longrightarrow> ((A ===> op =) ===> rev_implies) transfer_forall transfer_forall"
+ "bi_total A \<Longrightarrow> ((A ===> (=)) ===> rev_implies) transfer_forall transfer_forall"
"bi_total A \<Longrightarrow> ((A ===> rev_implies) ===> rev_implies) transfer_forall transfer_forall"
unfolding transfer_forall_def rev_implies_def rel_fun_def right_total_def bi_total_def
by fast+
lemma transfer_implies_transfer [transfer_rule]:
- "(op = ===> op = ===> op = ) transfer_implies transfer_implies"
+ "((=) ===> (=) ===> (=) ) transfer_implies transfer_implies"
"(rev_implies ===> implies ===> implies ) transfer_implies transfer_implies"
- "(rev_implies ===> op = ===> implies ) transfer_implies transfer_implies"
- "(op = ===> implies ===> implies ) transfer_implies transfer_implies"
- "(op = ===> op = ===> implies ) transfer_implies transfer_implies"
+ "(rev_implies ===> (=) ===> implies ) transfer_implies transfer_implies"
+ "((=) ===> implies ===> implies ) transfer_implies transfer_implies"
+ "((=) ===> (=) ===> implies ) transfer_implies transfer_implies"
"(implies ===> rev_implies ===> rev_implies) transfer_implies transfer_implies"
- "(implies ===> op = ===> rev_implies) transfer_implies transfer_implies"
- "(op = ===> rev_implies ===> rev_implies) transfer_implies transfer_implies"
- "(op = ===> op = ===> rev_implies) transfer_implies transfer_implies"
+ "(implies ===> (=) ===> rev_implies) transfer_implies transfer_implies"
+ "((=) ===> rev_implies ===> rev_implies) transfer_implies transfer_implies"
+ "((=) ===> (=) ===> rev_implies) transfer_implies transfer_implies"
unfolding transfer_implies_def rev_implies_def rel_fun_def by auto
lemma eq_imp_transfer [transfer_rule]:
- "right_unique A \<Longrightarrow> (A ===> A ===> op \<longrightarrow>) (op =) (op =)"
+ "right_unique A \<Longrightarrow> (A ===> A ===> (\<longrightarrow>)) (=) (=)"
unfolding right_unique_alt_def2 .
text \<open>Transfer rules using equality.\<close>
@@ -418,40 +418,40 @@
assumes "right_total A"
assumes "right_total B"
assumes "bi_unique A"
- shows "((A ===> B ===> op=) ===> implies) left_unique left_unique"
+ shows "((A ===> B ===> (=)) ===> implies) left_unique left_unique"
using assms unfolding left_unique_def[abs_def] right_total_def bi_unique_def rel_fun_def
by metis
lemma eq_transfer [transfer_rule]:
assumes "bi_unique A"
- shows "(A ===> A ===> op =) (op =) (op =)"
+ shows "(A ===> A ===> (=)) (=) (=)"
using assms unfolding bi_unique_def rel_fun_def by auto
lemma right_total_Ex_transfer[transfer_rule]:
assumes "right_total A"
- shows "((A ===> op=) ===> op=) (Bex (Collect (Domainp A))) Ex"
+ shows "((A ===> (=)) ===> (=)) (Bex (Collect (Domainp A))) Ex"
using assms unfolding right_total_def Bex_def rel_fun_def Domainp_iff[abs_def]
by fast
lemma right_total_All_transfer[transfer_rule]:
assumes "right_total A"
- shows "((A ===> op =) ===> op =) (Ball (Collect (Domainp A))) All"
+ shows "((A ===> (=)) ===> (=)) (Ball (Collect (Domainp A))) All"
using assms unfolding right_total_def Ball_def rel_fun_def Domainp_iff[abs_def]
by fast
lemma All_transfer [transfer_rule]:
assumes "bi_total A"
- shows "((A ===> op =) ===> op =) All All"
+ shows "((A ===> (=)) ===> (=)) All All"
using assms unfolding bi_total_def rel_fun_def by fast
lemma Ex_transfer [transfer_rule]:
assumes "bi_total A"
- shows "((A ===> op =) ===> op =) Ex Ex"
+ shows "((A ===> (=)) ===> (=)) Ex Ex"
using assms unfolding bi_total_def rel_fun_def by fast
lemma Ex1_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_unique A" "bi_total A"
- shows "((A ===> op =) ===> op =) Ex1 Ex1"
+ shows "((A ===> (=)) ===> (=)) Ex1 Ex1"
unfolding Ex1_def[abs_def] by transfer_prover
declare If_transfer [transfer_rule]
@@ -473,77 +473,77 @@
unfolding fun_upd_def [abs_def] by transfer_prover
lemma case_nat_transfer [transfer_rule]:
- "(A ===> (op = ===> A) ===> op = ===> A) case_nat case_nat"
+ "(A ===> ((=) ===> A) ===> (=) ===> A) case_nat case_nat"
unfolding rel_fun_def by (simp split: nat.split)
lemma rec_nat_transfer [transfer_rule]:
- "(A ===> (op = ===> A ===> A) ===> op = ===> A) rec_nat rec_nat"
+ "(A ===> ((=) ===> A ===> A) ===> (=) ===> A) rec_nat rec_nat"
unfolding rel_fun_def by (clarsimp, rename_tac n, induct_tac n, simp_all)
lemma funpow_transfer [transfer_rule]:
- "(op = ===> (A ===> A) ===> (A ===> A)) compow compow"
+ "((=) ===> (A ===> A) ===> (A ===> A)) compow compow"
unfolding funpow_def by transfer_prover
lemma mono_transfer[transfer_rule]:
assumes [transfer_rule]: "bi_total A"
- assumes [transfer_rule]: "(A ===> A ===> op=) op\<le> op\<le>"
- assumes [transfer_rule]: "(B ===> B ===> op=) op\<le> op\<le>"
- shows "((A ===> B) ===> op=) mono mono"
+ assumes [transfer_rule]: "(A ===> A ===> (=)) (\<le>) (\<le>)"
+ assumes [transfer_rule]: "(B ===> B ===> (=)) (\<le>) (\<le>)"
+ shows "((A ===> B) ===> (=)) mono mono"
unfolding mono_def[abs_def] by transfer_prover
lemma right_total_relcompp_transfer[transfer_rule]:
assumes [transfer_rule]: "right_total B"
- shows "((A ===> B ===> op=) ===> (B ===> C ===> op=) ===> A ===> C ===> op=)
- (\<lambda>R S x z. \<exists>y\<in>Collect (Domainp B). R x y \<and> S y z) op OO"
+ shows "((A ===> B ===> (=)) ===> (B ===> C ===> (=)) ===> A ===> C ===> (=))
+ (\<lambda>R S x z. \<exists>y\<in>Collect (Domainp B). R x y \<and> S y z) (OO)"
unfolding OO_def[abs_def] by transfer_prover
lemma relcompp_transfer[transfer_rule]:
assumes [transfer_rule]: "bi_total B"
- shows "((A ===> B ===> op=) ===> (B ===> C ===> op=) ===> A ===> C ===> op=) op OO op OO"
+ shows "((A ===> B ===> (=)) ===> (B ===> C ===> (=)) ===> A ===> C ===> (=)) (OO) (OO)"
unfolding OO_def[abs_def] by transfer_prover
lemma right_total_Domainp_transfer[transfer_rule]:
assumes [transfer_rule]: "right_total B"
- shows "((A ===> B ===> op=) ===> A ===> op=) (\<lambda>T x. \<exists>y\<in>Collect(Domainp B). T x y) Domainp"
+ shows "((A ===> B ===> (=)) ===> A ===> (=)) (\<lambda>T x. \<exists>y\<in>Collect(Domainp B). T x y) Domainp"
apply(subst(2) Domainp_iff[abs_def]) by transfer_prover
lemma Domainp_transfer[transfer_rule]:
assumes [transfer_rule]: "bi_total B"
- shows "((A ===> B ===> op=) ===> A ===> op=) Domainp Domainp"
+ shows "((A ===> B ===> (=)) ===> A ===> (=)) Domainp Domainp"
unfolding Domainp_iff[abs_def] by transfer_prover
lemma reflp_transfer[transfer_rule]:
- "bi_total A \<Longrightarrow> ((A ===> A ===> op=) ===> op=) reflp reflp"
+ "bi_total A \<Longrightarrow> ((A ===> A ===> (=)) ===> (=)) reflp reflp"
"right_total A \<Longrightarrow> ((A ===> A ===> implies) ===> implies) reflp reflp"
- "right_total A \<Longrightarrow> ((A ===> A ===> op=) ===> implies) reflp reflp"
+ "right_total A \<Longrightarrow> ((A ===> A ===> (=)) ===> implies) reflp reflp"
"bi_total A \<Longrightarrow> ((A ===> A ===> rev_implies) ===> rev_implies) reflp reflp"
- "bi_total A \<Longrightarrow> ((A ===> A ===> op=) ===> rev_implies) reflp reflp"
+ "bi_total A \<Longrightarrow> ((A ===> A ===> (=)) ===> rev_implies) reflp reflp"
unfolding reflp_def[abs_def] rev_implies_def bi_total_def right_total_def rel_fun_def
by fast+
lemma right_unique_transfer [transfer_rule]:
"\<lbrakk> right_total A; right_total B; bi_unique B \<rbrakk>
- \<Longrightarrow> ((A ===> B ===> op=) ===> implies) right_unique right_unique"
+ \<Longrightarrow> ((A ===> B ===> (=)) ===> implies) right_unique right_unique"
unfolding right_unique_def[abs_def] right_total_def bi_unique_def rel_fun_def
by metis
lemma left_total_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_total A" "bi_total B"
- shows "((A ===> B ===> op =) ===> op =) left_total left_total"
+ shows "((A ===> B ===> (=)) ===> (=)) left_total left_total"
unfolding left_total_def[abs_def] by transfer_prover
lemma right_total_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_total A" "bi_total B"
- shows "((A ===> B ===> op =) ===> op =) right_total right_total"
+ shows "((A ===> B ===> (=)) ===> (=)) right_total right_total"
unfolding right_total_def[abs_def] by transfer_prover
lemma left_unique_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_unique A" "bi_total A" "bi_total B"
- shows "((A ===> B ===> op =) ===> op =) left_unique left_unique"
+ shows "((A ===> B ===> (=)) ===> (=)) left_unique left_unique"
unfolding left_unique_def[abs_def] by transfer_prover
lemma prod_pred_parametric [transfer_rule]:
- "((A ===> op =) ===> (B ===> op =) ===> rel_prod A B ===> op =) pred_prod pred_prod"
+ "((A ===> (=)) ===> (B ===> (=)) ===> rel_prod A B ===> (=)) pred_prod pred_prod"
unfolding prod.pred_set[abs_def] Basic_BNFs.fsts_def Basic_BNFs.snds_def fstsp.simps sndsp.simps
by simp transfer_prover
@@ -551,7 +551,7 @@
"((A ===> B) ===> rel_prod A C ===> rel_prod B C) apfst apfst"
unfolding apfst_def[abs_def] by transfer_prover
-lemma rel_fun_eq_eq_onp: "(op= ===> eq_onp P) = eq_onp (\<lambda>f. \<forall>x. P(f x))"
+lemma rel_fun_eq_eq_onp: "((=) ===> eq_onp P) = eq_onp (\<lambda>f. \<forall>x. P(f x))"
unfolding eq_onp_def rel_fun_def by auto
lemma rel_fun_eq_onp_rel:
@@ -560,15 +560,15 @@
lemma eq_onp_transfer [transfer_rule]:
assumes [transfer_rule]: "bi_unique A"
- shows "((A ===> op=) ===> A ===> A ===> op=) eq_onp eq_onp"
+ shows "((A ===> (=)) ===> A ===> A ===> (=)) eq_onp eq_onp"
unfolding eq_onp_def[abs_def] by transfer_prover
lemma rtranclp_parametric [transfer_rule]:
assumes "bi_unique A" "bi_total A"
- shows "((A ===> A ===> op =) ===> A ===> A ===> op =) rtranclp rtranclp"
+ shows "((A ===> A ===> (=)) ===> A ===> A ===> (=)) rtranclp rtranclp"
proof(rule rel_funI iffI)+
fix R :: "'a \<Rightarrow> 'a \<Rightarrow> bool" and R' x y x' y'
- assume R: "(A ===> A ===> op =) R R'" and "A x x'"
+ assume R: "(A ===> A ===> (=)) R R'" and "A x x'"
{
assume "R\<^sup>*\<^sup>* x y" "A y y'"
thus "R'\<^sup>*\<^sup>* x' y'"
@@ -604,7 +604,7 @@
lemma right_unique_parametric [transfer_rule]:
assumes [transfer_rule]: "bi_total A" "bi_unique B" "bi_total B"
- shows "((A ===> B ===> op =) ===> op =) right_unique right_unique"
+ shows "((A ===> B ===> (=)) ===> (=)) right_unique right_unique"
unfolding right_unique_def[abs_def] by transfer_prover
lemma map_fun_parametric [transfer_rule]:
--- a/src/HOL/Transitive_Closure.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Transitive_Closure.thy Wed Jan 10 15:25:09 2018 +0100
@@ -51,7 +51,7 @@
where "r\<^sup>= \<equiv> r \<union> Id"
abbreviation reflclp :: "('a \<Rightarrow> 'a \<Rightarrow> bool) \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> bool" ("(_\<^sup>=\<^sup>=)" [1000] 1000)
- where "r\<^sup>=\<^sup>= \<equiv> sup r op ="
+ where "r\<^sup>=\<^sup>= \<equiv> sup r (=)"
notation (ASCII)
rtrancl ("(_^*)" [1000] 999) and
@@ -79,7 +79,7 @@
subsection \<open>Reflexive-transitive closure\<close>
-lemma reflcl_set_eq [pred_set_conv]: "(sup (\<lambda>x y. (x, y) \<in> r) op =) = (\<lambda>x y. (x, y) \<in> r \<union> Id)"
+lemma reflcl_set_eq [pred_set_conv]: "(sup (\<lambda>x y. (x, y) \<in> r) (=)) = (\<lambda>x y. (x, y) \<in> r \<union> Id)"
by (auto simp add: fun_eq_iff)
lemma r_into_rtrancl [intro]: "\<And>p. p \<in> r \<Longrightarrow> p \<in> r\<^sup>*"
@@ -223,7 +223,7 @@
apply blast
done
-lemma rtranclp_r_diff_Id: "(inf r op \<noteq>)\<^sup>*\<^sup>* = r\<^sup>*\<^sup>*"
+lemma rtranclp_r_diff_Id: "(inf r (\<noteq>))\<^sup>*\<^sup>* = r\<^sup>*\<^sup>*"
apply (rule sym)
apply (rule rtranclp_subset)
apply blast+
--- a/src/HOL/Types_To_Sets/Examples/Finite.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Types_To_Sets/Examples/Finite.thy Wed Jan 10 15:25:09 2018 +0100
@@ -33,7 +33,7 @@
includes lifting_syntax
assumes [transfer_rule]: "right_total T"
assumes [transfer_rule]: "bi_unique T"
- shows "((T ===> op =) ===> op=) (injective_on (Collect(Domainp T))) injective"
+ shows "((T ===> (=)) ===> (=)) (injective_on (Collect(Domainp T))) injective"
unfolding injective_on_def[abs_def] injective_def[abs_def] by transfer_prover
text\<open>Similarly, we define the relativization of the internalization
@@ -44,7 +44,7 @@
lemma class_finite_transfer[transfer_rule]:
assumes [transfer_rule]: "right_total (T::'a\<Rightarrow>'b\<Rightarrow>bool)"
assumes [transfer_rule]: "bi_unique T"
- shows "op= (finite_on (Collect(Domainp T))) (class.finite TYPE('b))"
+ shows "(=) (finite_on (Collect(Domainp T))) (class.finite TYPE('b))"
unfolding finite_on_def class.finite_def by transfer_prover
text\<open>The aforementioned development can be automated. The main part is already automated
--- a/src/HOL/Types_To_Sets/Examples/T2_Spaces.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Types_To_Sets/Examples/T2_Spaces.thy Wed Jan 10 15:25:09 2018 +0100
@@ -32,7 +32,7 @@
lemma topological_space_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "right_total T" "bi_unique T"
- shows "((rel_set T ===> op=) ===> op=) (topological_space_on_with (Collect (Domainp T)))
+ shows "((rel_set T ===> (=)) ===> (=)) (topological_space_on_with (Collect (Domainp T)))
class.topological_space"
unfolding topological_space_on_with_def[abs_def] class.topological_space_def[abs_def]
apply transfer_prover_start
@@ -47,7 +47,7 @@
lemma t2_space_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "right_total T" "bi_unique T"
- shows "((rel_set T ===> op=) ===> op=) (t2_space_on_with (Collect (Domainp T))) class.t2_space"
+ shows "((rel_set T ===> (=)) ===> (=)) (t2_space_on_with (Collect (Domainp T))) class.t2_space"
unfolding t2_space_on_with_def[abs_def] class.t2_space_def[abs_def]
class.t2_space_axioms_def[abs_def]
apply transfer_prover_start
@@ -67,7 +67,7 @@
lemma closed_with_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "right_total T" "bi_unique T"
- shows "((rel_set T ===> op=) ===> rel_set T===> op=) (closed_on_with (Collect (Domainp T)))
+ shows "((rel_set T ===> (=)) ===> rel_set T===> (=)) (closed_on_with (Collect (Domainp T)))
closed_with"
unfolding closed_with_def closed_on_with_def by transfer_prover
@@ -89,7 +89,7 @@
lemma compact_with_transfer[transfer_rule]:
includes lifting_syntax
assumes [transfer_rule]: "right_total T" "bi_unique T"
- shows "((rel_set T ===> op=) ===> rel_set T===> op=) (compact_on_with (Collect (Domainp T)))
+ shows "((rel_set T ===> (=)) ===> rel_set T===> (=)) (compact_on_with (Collect (Domainp T)))
compact_with"
unfolding compact_with_def compact_on_with_def
apply transfer_prover_start
--- a/src/HOL/Wellfounded.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Wellfounded.thy Wed Jan 10 15:25:09 2018 +0100
@@ -500,7 +500,7 @@
subsection \<open>@{typ nat} is well-founded\<close>
-lemma less_nat_rel: "op < = (\<lambda>m n. n = Suc m)\<^sup>+\<^sup>+"
+lemma less_nat_rel: "(<) = (\<lambda>m n. n = Suc m)\<^sup>+\<^sup>+"
proof (rule ext, rule ext, rule iffI)
fix n m :: nat
show "(\<lambda>m n. n = Suc m)\<^sup>+\<^sup>+ m n" if "m < n"
--- a/src/HOL/Word/Bool_List_Representation.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Word/Bool_List_Representation.thy Wed Jan 10 15:25:09 2018 +0100
@@ -415,8 +415,8 @@
done
lemma bl_or_aux_bin:
- "map2 (op \<or>) (bin_to_bl_aux n v bs) (bin_to_bl_aux n w cs) =
- bin_to_bl_aux n (v OR w) (map2 (op \<or>) bs cs)"
+ "map2 (\<or>) (bin_to_bl_aux n v bs) (bin_to_bl_aux n w cs) =
+ bin_to_bl_aux n (v OR w) (map2 (\<or>) bs cs)"
apply (induct n arbitrary: v w bs cs)
apply simp
apply (case_tac v rule: bin_exhaust)
@@ -425,8 +425,8 @@
done
lemma bl_and_aux_bin:
- "map2 (op \<and>) (bin_to_bl_aux n v bs) (bin_to_bl_aux n w cs) =
- bin_to_bl_aux n (v AND w) (map2 (op \<and>) bs cs)"
+ "map2 (\<and>) (bin_to_bl_aux n v bs) (bin_to_bl_aux n w cs) =
+ bin_to_bl_aux n (v AND w) (map2 (\<and>) bs cs)"
apply (induct n arbitrary: v w bs cs)
apply simp
apply (case_tac v rule: bin_exhaust)
@@ -440,10 +440,10 @@
lemma bl_not_bin: "map Not (bin_to_bl n w) = bin_to_bl n (NOT w)"
by (simp add: bin_to_bl_def bl_not_aux_bin)
-lemma bl_and_bin: "map2 (op \<and>) (bin_to_bl n v) (bin_to_bl n w) = bin_to_bl n (v AND w)"
+lemma bl_and_bin: "map2 (\<and>) (bin_to_bl n v) (bin_to_bl n w) = bin_to_bl n (v AND w)"
by (simp add: bin_to_bl_def bl_and_aux_bin)
-lemma bl_or_bin: "map2 (op \<or>) (bin_to_bl n v) (bin_to_bl n w) = bin_to_bl n (v OR w)"
+lemma bl_or_bin: "map2 (\<or>) (bin_to_bl n v) (bin_to_bl n w) = bin_to_bl n (v OR w)"
by (simp add: bin_to_bl_def bl_or_aux_bin)
lemma bl_xor_bin: "map2 (\<lambda>x y. x \<noteq> y) (bin_to_bl n v) (bin_to_bl n w) = bin_to_bl n (v XOR w)"
@@ -652,7 +652,7 @@
apply simp
done
-lemma bl_of_nth_nth [simp]: "bl_of_nth (length xs) (op ! (rev xs)) = xs"
+lemma bl_of_nth_nth [simp]: "bl_of_nth (length xs) ((!) (rev xs)) = xs"
by (simp add: bl_of_nth_nth_le)
lemma size_rbl_pred: "length (rbl_pred bl) = length bl"
@@ -833,8 +833,8 @@
lemmas bin_rsplit_aux_simps = bin_rsplit_aux.simps bin_rsplitl_aux.simps
lemmas rsplit_aux_simps = bin_rsplit_aux_simps
-lemmas th_if_simp1 = if_split [where P = "op = l", THEN iffD1, THEN conjunct1, THEN mp] for l
-lemmas th_if_simp2 = if_split [where P = "op = l", THEN iffD1, THEN conjunct2, THEN mp] for l
+lemmas th_if_simp1 = if_split [where P = "(=) l", THEN iffD1, THEN conjunct1, THEN mp] for l
+lemmas th_if_simp2 = if_split [where P = "(=) l", THEN iffD1, THEN conjunct2, THEN mp] for l
lemmas rsplit_aux_simp1s = rsplit_aux_simps [THEN th_if_simp1]
--- a/src/HOL/Word/Misc_Typedef.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Word/Misc_Typedef.thy Wed Jan 10 15:25:09 2018 +0100
@@ -17,7 +17,7 @@
and tdD3: "type_definition Rep Abs A \<Longrightarrow> \<forall>y. y \<in> A \<longrightarrow> Rep (Abs y) = y"
by (auto simp: type_definition_def)
-lemma td_nat_int: "type_definition int nat (Collect (op \<le> 0))"
+lemma td_nat_int: "type_definition int nat (Collect ((\<le>) 0))"
unfolding type_definition_def by auto
context type_definition
@@ -75,7 +75,7 @@
end
-interpretation nat_int: type_definition int nat "Collect (op \<le> 0)"
+interpretation nat_int: type_definition int nat "Collect ((\<le>) 0)"
by (rule td_nat_int)
declare
--- a/src/HOL/Word/Word.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Word/Word.thy Wed Jan 10 15:25:09 2018 +0100
@@ -164,7 +164,7 @@
text \<open>TODO: The next lemma could be generated automatically.\<close>
lemma uint_transfer [transfer_rule]:
- "(rel_fun pcr_word op =) (bintrunc (len_of TYPE('a))) (uint :: 'a::len0 word \<Rightarrow> int)"
+ "(rel_fun pcr_word (=)) (bintrunc (len_of TYPE('a))) (uint :: 'a::len0 word \<Rightarrow> int)"
unfolding rel_fun_def word.pcr_cr_eq cr_word_def
by (simp add: no_bintr_alt1 uint_word_of_int)
@@ -264,16 +264,16 @@
lift_definition one_word :: "'a word" is "1" .
-lift_definition plus_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "op +"
+lift_definition plus_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "(+)"
by (auto simp add: bintrunc_mod2p intro: mod_add_cong)
-lift_definition minus_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "op -"
+lift_definition minus_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "(-)"
by (auto simp add: bintrunc_mod2p intro: mod_diff_cong)
lift_definition uminus_word :: "'a word \<Rightarrow> 'a word" is uminus
by (auto simp add: bintrunc_mod2p intro: mod_minus_cong)
-lift_definition times_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "op *"
+lift_definition times_word :: "'a word \<Rightarrow> 'a word \<Rightarrow> 'a word" is "( * )"
by (auto simp add: bintrunc_mod2p intro: mod_mult_cong)
definition word_div_def: "a div b = word_of_int (uint a div uint b)"
@@ -572,8 +572,8 @@
declare word_neg_numeral_alt [symmetric, code_abbrev]
lemma word_numeral_transfer [transfer_rule]:
- "(rel_fun op = pcr_word) numeral numeral"
- "(rel_fun op = pcr_word) (- numeral) (- numeral)"
+ "(rel_fun (=) pcr_word) numeral numeral"
+ "(rel_fun (=) pcr_word) (- numeral) (- numeral)"
apply (simp_all add: rel_fun_def word.pcr_cr_eq cr_word_def)
using word_numeral_alt [symmetric] word_neg_numeral_alt [symmetric] by auto
@@ -2163,7 +2163,7 @@
by (simp add: word_test_bit_def word_ubin.eq_norm nth_bintr)
lemma word_test_bit_transfer [transfer_rule]:
- "(rel_fun pcr_word (rel_fun op = op =))
+ "(rel_fun pcr_word (rel_fun (=) (=)))
(\<lambda>x n. n < len_of TYPE('a) \<and> bin_nth x n) (test_bit :: 'a::len0 word \<Rightarrow> _)"
unfolding rel_fun_def word.pcr_cr_eq cr_word_def by simp
@@ -2314,15 +2314,15 @@
unfolding to_bl_def word_log_defs bl_not_bin
by (simp add: word_ubin.eq_norm)
-lemma bl_word_xor: "to_bl (v XOR w) = map2 op \<noteq> (to_bl v) (to_bl w)"
+lemma bl_word_xor: "to_bl (v XOR w) = map2 (\<noteq>) (to_bl v) (to_bl w)"
unfolding to_bl_def word_log_defs bl_xor_bin
by (simp add: word_ubin.eq_norm)
-lemma bl_word_or: "to_bl (v OR w) = map2 op \<or> (to_bl v) (to_bl w)"
+lemma bl_word_or: "to_bl (v OR w) = map2 (\<or>) (to_bl v) (to_bl w)"
unfolding to_bl_def word_log_defs bl_or_bin
by (simp add: word_ubin.eq_norm)
-lemma bl_word_and: "to_bl (v AND w) = map2 op \<and> (to_bl v) (to_bl w)"
+lemma bl_word_and: "to_bl (v AND w) = map2 (\<and>) (to_bl v) (to_bl w)"
unfolding to_bl_def word_log_defs bl_and_bin
by (simp add: word_ubin.eq_norm)
@@ -2452,7 +2452,7 @@
interpretation test_bit:
td_ext
- "op !! :: 'a::len0 word \<Rightarrow> nat \<Rightarrow> bool"
+ "(!!) :: 'a::len0 word \<Rightarrow> nat \<Rightarrow> bool"
set_bits
"{f. \<forall>i. f i \<longrightarrow> i < len_of TYPE('a::len0)}"
"(\<lambda>h i. h i \<and> i < len_of TYPE('a::len0))"
@@ -2987,7 +2987,7 @@
lemma align_lem_or [rule_format] :
"\<forall>x m. length x = n + m \<longrightarrow> length y = n + m \<longrightarrow>
drop m x = replicate n False \<longrightarrow> take m y = replicate m False \<longrightarrow>
- map2 op | x y = take m x @ drop m y"
+ map2 (|) x y = take m x @ drop m y"
apply (induct y)
apply force
apply clarsimp
@@ -3002,7 +3002,7 @@
lemma align_lem_and [rule_format] :
"\<forall>x m. length x = n + m \<longrightarrow> length y = n + m \<longrightarrow>
drop m x = replicate n False \<longrightarrow> take m y = replicate m False \<longrightarrow>
- map2 op \<and> x y = replicate (n + m) False"
+ map2 (\<and>) x y = replicate (n + m) False"
apply (induct y)
apply force
apply clarsimp
@@ -3683,7 +3683,7 @@
apply (auto simp: test_bit_bl word_size td_gal_lt_len [THEN iffD2, THEN nth_rcat_lem])
done
-lemma foldl_eq_foldr: "foldl op + x xs = foldr op + (x # xs) 0"
+lemma foldl_eq_foldr: "foldl (+) x xs = foldr (+) (x # xs) 0"
for x :: "'a::comm_monoid_add"
by (induct xs arbitrary: x) (auto simp: add.assoc)
@@ -4195,7 +4195,7 @@
lemma word_or_not [simp]: "x OR NOT x = max_word"
by (rule word_eqI) (auto simp add: word_ops_nth_size word_size)
-lemma word_boolean: "boolean (op AND) (op OR) bitNOT 0 max_word"
+lemma word_boolean: "boolean (AND) (OR) bitNOT 0 max_word"
apply (rule boolean.intro)
apply (rule word_bw_assocs)
apply (rule word_bw_assocs)
@@ -4209,14 +4209,14 @@
apply (rule word_or_not)
done
-interpretation word_bool_alg: boolean "op AND" "op OR" bitNOT 0 max_word
+interpretation word_bool_alg: boolean "(AND)" "(OR)" bitNOT 0 max_word
by (rule word_boolean)
lemma word_xor_and_or: "x XOR y = x AND NOT y OR NOT x AND y"
for x y :: "'a::len0 word"
by (rule word_eqI) (auto simp add: word_ops_nth_size word_size)
-interpretation word_bool_alg: boolean_xor "op AND" "op OR" bitNOT 0 max_word "op XOR"
+interpretation word_bool_alg: boolean_xor "(AND)" "(OR)" bitNOT 0 max_word "(XOR)"
apply (rule boolean_xor.intro)
apply (rule word_boolean)
apply (rule boolean_xor_axioms.intro)
@@ -4270,11 +4270,11 @@
shows "to_bl (w AND mask n) = replicate n' False @ drop n' (to_bl w)"
proof -
note [simp] = map_replicate_True map_replicate_False
- have "to_bl (w AND mask n) = map2 op \<and> (to_bl w) (to_bl (mask n::'a::len word))"
+ have "to_bl (w AND mask n) = map2 (\<and>) (to_bl w) (to_bl (mask n::'a::len word))"
by (simp add: bl_word_and)
also have "to_bl w = take n' (to_bl w) @ drop n' (to_bl w)"
by simp
- also have "map2 op \<and> \<dots> (to_bl (mask n::'a::len word)) =
+ also have "map2 (\<and>) \<dots> (to_bl (mask n::'a::len word)) =
replicate n' False @ drop n' (to_bl w)"
unfolding to_bl_mask n'_def map2_def by (subst zip_append) auto
finally show ?thesis .
@@ -4285,7 +4285,7 @@
drop (n - length xs) (rev (takefill False n (rev xs))) = xs"
by (simp add: takefill_alt rev_take)
-lemma map_nth_0 [simp]: "map (op !! (0::'a::len0 word)) xs = replicate (length xs) False"
+lemma map_nth_0 [simp]: "map ((!!) (0::'a::len0 word)) xs = replicate (length xs) False"
by (induct xs) auto
lemma uint_plus_if_size:
@@ -4433,11 +4433,11 @@
lemma word_rec_in: "f (word_rec z (\<lambda>_. f) n) = word_rec (f z) (\<lambda>_. f) n"
by (induct n) (simp_all add: word_rec_0 word_rec_Suc)
-lemma word_rec_in2: "f n (word_rec z f n) = word_rec (f 0 z) (f \<circ> op + 1) n"
+lemma word_rec_in2: "f n (word_rec z f n) = word_rec (f 0 z) (f \<circ> (+) 1) n"
by (induct n) (simp_all add: word_rec_0 word_rec_Suc)
lemma word_rec_twice:
- "m \<le> n \<Longrightarrow> word_rec z f n = word_rec (word_rec z f (n - m)) (f \<circ> op + (n - m)) m"
+ "m \<le> n \<Longrightarrow> word_rec z f n = word_rec (word_rec z f (n - m)) (f \<circ> (+) (n - m)) m"
apply (erule rev_mp)
apply (rule_tac x=z in spec)
apply (rule_tac x=f in spec)
@@ -4455,7 +4455,7 @@
apply (simp add: word_rec_Suc word_rec_in2)
apply (erule impE)
apply uint_arith
- apply (drule_tac x="x \<circ> op + 1" in spec)
+ apply (drule_tac x="x \<circ> (+) 1" in spec)
apply (drule_tac x="x 0 xa" in spec)
apply simp
apply (rule_tac t="\<lambda>a. x (1 + (n - m + a))" and s="\<lambda>a. x (1 + (n - m) + a)" in subst)
--- a/src/HOL/Word/WordBitwise.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Word/WordBitwise.thy Wed Jan 10 15:25:09 2018 +0100
@@ -39,13 +39,13 @@
lemma word_eq_rbl_eq: "x = y \<longleftrightarrow> rev (to_bl x) = rev (to_bl y)"
by simp
-lemma rbl_word_or: "rev (to_bl (x OR y)) = map2 op \<or> (rev (to_bl x)) (rev (to_bl y))"
+lemma rbl_word_or: "rev (to_bl (x OR y)) = map2 (\<or>) (rev (to_bl x)) (rev (to_bl y))"
by (simp add: map2_def zip_rev bl_word_or rev_map)
-lemma rbl_word_and: "rev (to_bl (x AND y)) = map2 op \<and> (rev (to_bl x)) (rev (to_bl y))"
+lemma rbl_word_and: "rev (to_bl (x AND y)) = map2 (\<and>) (rev (to_bl x)) (rev (to_bl y))"
by (simp add: map2_def zip_rev bl_word_and rev_map)
-lemma rbl_word_xor: "rev (to_bl (x XOR y)) = map2 op \<noteq> (rev (to_bl x)) (rev (to_bl y))"
+lemma rbl_word_xor: "rev (to_bl (x XOR y)) = map2 (\<noteq>) (rev (to_bl x)) (rev (to_bl y))"
by (simp add: map2_def zip_rev bl_word_xor rev_map)
lemma rbl_word_not: "rev (to_bl (NOT x)) = map Not (rev (to_bl x))"
@@ -206,10 +206,10 @@
done
definition rbl_mul :: "bool list \<Rightarrow> bool list \<Rightarrow> bool list"
- where "rbl_mul xs ys = foldr (\<lambda>x sm. rbl_plus False (map (op \<and> x) ys) (False # sm)) xs []"
+ where "rbl_mul xs ys = foldr (\<lambda>x sm. rbl_plus False (map ((\<and>) x) ys) (False # sm)) xs []"
lemma rbl_mul_simps:
- "rbl_mul (x # xs) ys = rbl_plus False (map (op \<and> x) ys) (False # rbl_mul xs ys)"
+ "rbl_mul (x # xs) ys = rbl_plus False (map ((\<and>) x) ys) (False # rbl_mul xs ys)"
"rbl_mul [] ys = []"
by (simp_all add: rbl_mul_def)
@@ -238,7 +238,7 @@
for x y :: "'a word"
by (simp add: rbl_word_plus[symmetric])
- have mult_bit: "to_bl (of_bl [z] * y) = map (op \<and> z) (to_bl y)"
+ have mult_bit: "to_bl (of_bl [z] * y) = map ((\<and>) z) (to_bl y)"
by (cases z) (simp cong: map_cong, simp add: map_replicate_const cong: map_cong)
have shiftl: "of_bl xs * 2 * y = (of_bl xs * y) << 1" for xs
@@ -392,13 +392,13 @@
apply (simp_all add: bin_to_bl_zero_aux bin_to_bl_minus1_aux)
done
-lemma to_bl_upt: "to_bl x = rev (map (op !! x) [0 ..< size x])"
+lemma to_bl_upt: "to_bl x = rev (map ((!!) x) [0 ..< size x])"
apply (rule nth_equalityI)
apply (simp add: word_size)
apply (auto simp: to_bl_nth word_size nth_rev)
done
-lemma rev_to_bl_upt: "rev (to_bl x) = map (op !! x) [0 ..< size x]"
+lemma rev_to_bl_upt: "rev (to_bl x) = map ((!!) x) [0 ..< size x]"
by (simp add: to_bl_upt)
lemma upt_eq_list_intros:
@@ -427,7 +427,7 @@
val ns = map (Numeral.mk_cnumber @{ctyp nat}) (i upto (j - 1))
|> mk_nat_clist;
val prop =
- Thm.mk_binop @{cterm "op = :: nat list \<Rightarrow> _"} ct ns
+ Thm.mk_binop @{cterm "(=) :: nat list \<Rightarrow> _"} ct ns
|> Thm.apply @{cterm Trueprop};
in
try (fn () =>
@@ -448,7 +448,7 @@
val T = fastype_of t |> dest_Type |> snd |> the_single
val n = Numeral.mk_cnumber @{ctyp nat} (Word_Lib.dest_binT T);
val prop =
- Thm.mk_binop @{cterm "op = :: nat \<Rightarrow> _"} ct n
+ Thm.mk_binop @{cterm "(=) :: nat \<Rightarrow> _"} ct n
|> Thm.apply @{cterm Trueprop};
in
Goal.prove_internal ctxt [] prop (K (simp_tac (put_simpset word_ss ctxt) 1))
@@ -479,7 +479,7 @@
Goal.prove_internal ctxt [] (propfn I)
(K (simp_tac (put_simpset word_ss ctxt) 1));
in
- Goal.prove_internal ctxt [] (propfn (curry (op $) f))
+ Goal.prove_internal ctxt [] (propfn (curry ($) f))
(K (simp_tac (put_simpset HOL_ss ctxt addsimps [eq1]) 1))
|> mk_meta_eq |> SOME
end handle TERM _ => NONE;
@@ -529,7 +529,7 @@
let
val (ss, sss) = expand_word_eq_sss;
in
- foldr1 (op THEN_ALL_NEW)
+ foldr1 (THEN_ALL_NEW)
((CHANGED o safe_full_simp_tac (put_simpset ss ctxt)) ::
map (fn ss => safe_full_simp_tac (put_simpset ss ctxt)) sss)
end;
--- a/src/HOL/Zorn.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/Zorn.thy Wed Jan 10 15:25:09 2018 +0100
@@ -356,7 +356,7 @@
subsubsection \<open>Results for the proper subset relation\<close>
-interpretation subset: pred_on "A" "op \<subset>" for A .
+interpretation subset: pred_on "A" "(\<subset>)" for A .
lemma subset_maxchain_max:
assumes "subset.maxchain A C"
--- a/src/HOL/ex/Ballot.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Ballot.thy Wed Jan 10 15:25:09 2018 +0100
@@ -42,7 +42,7 @@
lemma Collect_on_transfer:
assumes "rel_set R X Y"
- shows "rel_fun (rel_fun R op =) (rel_set R) (\<lambda>P. {x\<in>X. P x}) (\<lambda>P. {y\<in>Y. P y})"
+ shows "rel_fun (rel_fun R (=)) (rel_set R) (\<lambda>P. {x\<in>X. P x}) (\<lambda>P. {y\<in>Y. P y})"
using assms unfolding rel_fun_def rel_set_def by fast
lemma rel_fun_trans:
@@ -55,19 +55,19 @@
by (auto simp: rel_fun_def)
lemma rel_fun_trans2':
- "rel_fun R (op =) f1 f1' \<Longrightarrow> rel_fun R (op =) f2 f2' \<Longrightarrow>
- rel_fun R (op =) (\<lambda>x. g (f1 x) (f2 x)) (\<lambda>y. g (f1' y) (f2' y))"
+ "rel_fun R (=) f1 f1' \<Longrightarrow> rel_fun R (=) f2 f2' \<Longrightarrow>
+ rel_fun R (=) (\<lambda>x. g (f1 x) (f2 x)) (\<lambda>y. g (f1' y) (f2' y))"
by (auto simp: rel_fun_def)
-lemma rel_fun_const: "rel_fun R (op =) (\<lambda>x. a) (\<lambda>y. a)"
+lemma rel_fun_const: "rel_fun R (=) (\<lambda>x. a) (\<lambda>y. a)"
by auto
lemma rel_fun_conj:
- "rel_fun R (op =) f f' \<Longrightarrow> rel_fun R (op =) g g' \<Longrightarrow> rel_fun R (op =) (\<lambda>x. f x \<and> g x) (\<lambda>y. f' y \<and> g' y)"
+ "rel_fun R (=) f f' \<Longrightarrow> rel_fun R (=) g g' \<Longrightarrow> rel_fun R (=) (\<lambda>x. f x \<and> g x) (\<lambda>y. f' y \<and> g' y)"
by (auto simp: rel_fun_def)
lemma rel_fun_ball:
- "(\<And>i. i \<in> I \<Longrightarrow> rel_fun R (op =) (f i) (f' i)) \<Longrightarrow> rel_fun R (op =) (\<lambda>x. \<forall>i\<in>I. f i x) (\<lambda>y. \<forall>i\<in>I. f' i y)"
+ "(\<And>i. i \<in> I \<Longrightarrow> rel_fun R (=) (f i) (f' i)) \<Longrightarrow> rel_fun R (=) (\<lambda>x. \<forall>i\<in>I. f i x) (\<lambda>y. \<forall>i\<in>I. f' i y)"
by (auto simp: rel_fun_def rel_set_def)
lemma
@@ -101,7 +101,7 @@
ultimately have total_R: "rel_set R (extensional {1..a+b}) (Pow {0..<a+b})"
by (auto simp: rel_set_def)
- have P: "rel_fun R (rel_fun P op =) (\<lambda>f x. f x = A) (\<lambda>V y. y \<in> V)"
+ have P: "rel_fun R (rel_fun P (=)) (\<lambda>f x. f x = A) (\<lambda>V y. y \<in> V)"
by (auto simp: P_def R_def Suc_le_eq gr0_conv_Suc rel_fun_def)
have eq_B: "x = B \<longleftrightarrow> x \<noteq> A" for x
@@ -118,7 +118,7 @@
note transfers = rel_fun_const card_transfer[THEN rel_funD, OF unique_R] rel_fun_conj rel_fun_ball
Collect_on_transfer[THEN rel_funD, OF total_R] Collect_on_transfer[THEN rel_funD, OF total_P]
rel_fun_trans[OF card_transfer, OF unique_P] rel_fun_trans[OF Collect_on_transfer[OF total_P]]
- rel_fun_trans2'[where g="op ="] rel_fun_trans2'[where g="op <"] rel_fun_trans2'[where g="op -"]
+ rel_fun_trans2'[where g="(=)"] rel_fun_trans2'[where g="(<)"] rel_fun_trans2'[where g="(-)"]
have "all_countings a b = card {f \<in> extensional {1..a + b}. card {x \<in> {1..a + b}. f x = A} = a}"
using card_B by (simp add: all_countings_def PiE_iff vote.nchotomy cong: conj_cong)
@@ -227,7 +227,7 @@
also have "\<dots> = (Suc a * a + (Suc a * Suc b - Suc b * b)) - Suc a * Suc b"
using \<open>b<a\<close> by (intro add_diff_assoc2 mult_mono) auto
also have "\<dots> = (Suc a * a + Suc a * Suc b) - Suc b * b - Suc a * Suc b"
- using \<open>b<a\<close> by (intro arg_cong2[where f="op -"] add_diff_assoc mult_mono) auto
+ using \<open>b<a\<close> by (intro arg_cong2[where f="(-)"] add_diff_assoc mult_mono) auto
also have "\<dots> = (Suc a * Suc (a + b)) - (Suc b * Suc (a + b))"
by (simp add: sign_simps)
finally have rearrange: "Suc a * (a - Suc b) + (Suc a - b) * Suc b = (Suc a - Suc b) * Suc (a + b)"
--- a/src/HOL/ex/Coercion_Examples.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Coercion_Examples.thy Wed Jan 10 15:25:09 2018 +0100
@@ -65,7 +65,7 @@
term "(1::nat) = (True = (1::nat))"
-term "op = (True = (1::nat))"
+term "(=) (True = (1::nat))"
term "[1::nat,True]"
--- a/src/HOL/ex/Conditional_Parametricity_Examples.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Conditional_Parametricity_Examples.thy Wed Jan 10 15:25:09 2018 +0100
@@ -61,4 +61,4 @@
definition "foo f x y = (if f x = f y then x else sup y x)"
parametric_constant foo_parametricity: foo_def
-end
\ No newline at end of file
+end
--- a/src/HOL/ex/Erdoes_Szekeres.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Erdoes_Szekeres.thy Wed Jan 10 15:25:09 2018 +0100
@@ -66,21 +66,21 @@
unfolding mono_on_def by blast
lemma [simp]:
- "reflp (op \<le> :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
- "reflp (op \<ge> :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
- "transp (op \<le> :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
- "transp (op \<ge> :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
+ "reflp ((\<le>) :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
+ "reflp ((\<ge>) :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
+ "transp ((\<le>) :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
+ "transp ((\<ge>) :: 'a::order \<Rightarrow> _ \<Rightarrow> bool)"
unfolding reflp_def transp_def by auto
subsection \<open>The Erdoes-Szekeres Theorem following Seidenberg's (1959) argument\<close>
lemma Erdoes_Szekeres:
fixes f :: "_ \<Rightarrow> 'a::linorder"
- shows "(\<exists>S. S \<subseteq> {0..m * n} \<and> card S = m + 1 \<and> mono_on f (op \<le>) S) \<or>
- (\<exists>S. S \<subseteq> {0..m * n} \<and> card S = n + 1 \<and> mono_on f (op \<ge>) S)"
+ shows "(\<exists>S. S \<subseteq> {0..m * n} \<and> card S = m + 1 \<and> mono_on f (\<le>) S) \<or>
+ (\<exists>S. S \<subseteq> {0..m * n} \<and> card S = n + 1 \<and> mono_on f (\<ge>) S)"
proof (rule ccontr)
let ?max_subseq = "\<lambda>R k. Max (card ` {S. S \<subseteq> {0..k} \<and> mono_on f R S \<and> k \<in> S})"
- define phi where "phi k = (?max_subseq (op \<le>) k, ?max_subseq (op \<ge>) k)" for k
+ define phi where "phi k = (?max_subseq (\<le>) k, ?max_subseq (\<ge>) k)" for k
have one_member: "\<And>R k. reflp R \<Longrightarrow> {k} \<in> {S. S \<subseteq> {0..k} \<and> mono_on f R S \<and> k \<in> S}" by auto
@@ -114,9 +114,9 @@
} note bounds = this
assume contraposition: "\<not> ?thesis"
- from contraposition bounds[of "op \<le>" "m"] bounds[of "op \<ge>" "n"]
- have "\<And>k. k \<le> m * n \<Longrightarrow> 1 \<le> ?max_subseq (op \<le>) k \<and> ?max_subseq (op \<le>) k \<le> m"
- and "\<And>k. k \<le> m * n \<Longrightarrow> 1 \<le> ?max_subseq (op \<ge>) k \<and> ?max_subseq (op \<ge>) k \<le> n"
+ from contraposition bounds[of "(\<le>)" "m"] bounds[of "(\<ge>)" "n"]
+ have "\<And>k. k \<le> m * n \<Longrightarrow> 1 \<le> ?max_subseq (\<le>) k \<and> ?max_subseq (\<le>) k \<le> m"
+ and "\<And>k. k \<le> m * n \<Longrightarrow> 1 \<le> ?max_subseq (\<ge>) k \<and> ?max_subseq (\<ge>) k \<le> n"
using reflp_def by simp+
from this have "\<forall>i \<in> {0..m * n}. phi i \<in> {1..m} \<times> {1..n}"
unfolding phi_def by auto
@@ -146,13 +146,13 @@
by (auto intro!: imageI) (auto simp add: \<open>finite S\<close>)
from this S(2) have "?max_subseq R i < ?max_subseq R j" by (auto intro: Max_gr)
} note max_subseq_increase = this
- have "?max_subseq (op \<le>) i < ?max_subseq (op \<le>) j \<or> ?max_subseq (op \<ge>) i < ?max_subseq (op \<ge>) j"
+ have "?max_subseq (\<le>) i < ?max_subseq (\<le>) j \<or> ?max_subseq (\<ge>) i < ?max_subseq (\<ge>) j"
proof (cases "f j \<ge> f i")
case True
- from this max_subseq_increase[of "op \<le>", simplified] show ?thesis by simp
+ from this max_subseq_increase[of "(\<le>)", simplified] show ?thesis by simp
next
case False
- from this max_subseq_increase[of "op \<ge>", simplified] show ?thesis by simp
+ from this max_subseq_increase[of "(\<ge>)", simplified] show ?thesis by simp
qed
from this have "phi i \<noteq> phi j" using phi_def by auto
}
--- a/src/HOL/ex/LocaleTest2.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/LocaleTest2.thy Wed Jan 10 15:25:09 2018 +0100
@@ -43,7 +43,7 @@
where "(x \<sqsubset> y) = (x \<sqsubseteq> y & x ~= y)"
theorem abs_test:
- "op \<sqsubset> = (%x y. x \<sqsubset> y)"
+ "(\<sqsubset>) = (%x y. x \<sqsubset> y)"
by simp
definition
@@ -468,15 +468,15 @@
subsubsection \<open>Total order \<open><=\<close> on @{typ int}\<close>
-interpretation int: dpo "op <= :: [int, int] => bool"
- rewrites "(dpo.less (op <=) (x::int) y) = (x < y)"
+interpretation int: dpo "(<=) :: [int, int] => bool"
+ rewrites "(dpo.less (<=) (x::int) y) = (x < y)"
txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
proof -
- show "dpo (op <= :: [int, int] => bool)"
+ show "dpo ((<=) :: [int, int] => bool)"
proof qed auto
- then interpret int: dpo "op <= :: [int, int] => bool" .
+ then interpret int: dpo "(<=) :: [int, int] => bool" .
txt \<open>Gives interpreted version of \<open>less_def\<close> (without condition).\<close>
- show "(dpo.less (op <=) (x::int) y) = (x < y)"
+ show "(dpo.less (<=) (x::int) y) = (x < y)"
by (unfold int.less_def) auto
qed
@@ -484,34 +484,34 @@
lemma "\<lbrakk> (x::int) \<le> y; y \<le> z; z \<le> x\<rbrakk> \<Longrightarrow> x = y \<and> y = z"
apply (rule int.circular) apply assumption apply assumption apply assumption done
thm int.abs_test
-lemma "(op < :: [int, int] => bool) = op <"
+lemma "((<) :: [int, int] => bool) = (<)"
apply (rule int.abs_test) done
-interpretation int: dlat "op <= :: [int, int] => bool"
- rewrites meet_eq: "dlat.meet (op <=) (x::int) y = min x y"
- and join_eq: "dlat.join (op <=) (x::int) y = max x y"
+interpretation int: dlat "(<=) :: [int, int] => bool"
+ rewrites meet_eq: "dlat.meet (<=) (x::int) y = min x y"
+ and join_eq: "dlat.join (<=) (x::int) y = max x y"
proof -
- show "dlat (op <= :: [int, int] => bool)"
+ show "dlat ((<=) :: [int, int] => bool)"
apply unfold_locales
apply (unfold int.is_inf_def int.is_sup_def)
apply arith+
done
- then interpret int: dlat "op <= :: [int, int] => bool" .
+ then interpret int: dlat "(<=) :: [int, int] => bool" .
txt \<open>Interpretation to ease use of definitions, which are
conditional in general but unconditional after interpretation.\<close>
- show "dlat.meet (op <=) (x::int) y = min x y"
+ show "dlat.meet (<=) (x::int) y = min x y"
apply (unfold int.meet_def)
apply (rule the_equality)
apply (unfold int.is_inf_def)
by auto
- show "dlat.join (op <=) (x::int) y = max x y"
+ show "dlat.join (<=) (x::int) y = max x y"
apply (unfold int.join_def)
apply (rule the_equality)
apply (unfold int.is_sup_def)
by auto
qed
-interpretation int: dlo "op <= :: [int, int] => bool"
+interpretation int: dlo "(<=) :: [int, int] => bool"
proof qed arith
text \<open>Interpreted theorems from the locales, involving defined terms.\<close>
@@ -524,45 +524,45 @@
subsubsection \<open>Total order \<open><=\<close> on @{typ nat}\<close>
-interpretation nat: dpo "op <= :: [nat, nat] => bool"
- rewrites "dpo.less (op <=) (x::nat) y = (x < y)"
+interpretation nat: dpo "(<=) :: [nat, nat] => bool"
+ rewrites "dpo.less (<=) (x::nat) y = (x < y)"
txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
proof -
- show "dpo (op <= :: [nat, nat] => bool)"
+ show "dpo ((<=) :: [nat, nat] => bool)"
proof qed auto
- then interpret nat: dpo "op <= :: [nat, nat] => bool" .
+ then interpret nat: dpo "(<=) :: [nat, nat] => bool" .
txt \<open>Gives interpreted version of \<open>less_def\<close> (without condition).\<close>
- show "dpo.less (op <=) (x::nat) y = (x < y)"
+ show "dpo.less (<=) (x::nat) y = (x < y)"
apply (unfold nat.less_def)
apply auto
done
qed
-interpretation nat: dlat "op <= :: [nat, nat] => bool"
- rewrites "dlat.meet (op <=) (x::nat) y = min x y"
- and "dlat.join (op <=) (x::nat) y = max x y"
+interpretation nat: dlat "(<=) :: [nat, nat] => bool"
+ rewrites "dlat.meet (<=) (x::nat) y = min x y"
+ and "dlat.join (<=) (x::nat) y = max x y"
proof -
- show "dlat (op <= :: [nat, nat] => bool)"
+ show "dlat ((<=) :: [nat, nat] => bool)"
apply unfold_locales
apply (unfold nat.is_inf_def nat.is_sup_def)
apply arith+
done
- then interpret nat: dlat "op <= :: [nat, nat] => bool" .
+ then interpret nat: dlat "(<=) :: [nat, nat] => bool" .
txt \<open>Interpretation to ease use of definitions, which are
conditional in general but unconditional after interpretation.\<close>
- show "dlat.meet (op <=) (x::nat) y = min x y"
+ show "dlat.meet (<=) (x::nat) y = min x y"
apply (unfold nat.meet_def)
apply (rule the_equality)
apply (unfold nat.is_inf_def)
by auto
- show "dlat.join (op <=) (x::nat) y = max x y"
+ show "dlat.join (<=) (x::nat) y = max x y"
apply (unfold nat.join_def)
apply (rule the_equality)
apply (unfold nat.is_sup_def)
by auto
qed
-interpretation nat: dlo "op <= :: [nat, nat] => bool"
+interpretation nat: dlo "(<=) :: [nat, nat] => bool"
proof qed arith
text \<open>Interpreted theorems from the locales, involving defined terms.\<close>
@@ -575,25 +575,25 @@
subsubsection \<open>Lattice \<open>dvd\<close> on @{typ nat}\<close>
-interpretation nat_dvd: dpo "op dvd :: [nat, nat] => bool"
- rewrites "dpo.less (op dvd) (x::nat) y = (x dvd y & x ~= y)"
+interpretation nat_dvd: dpo "(dvd) :: [nat, nat] => bool"
+ rewrites "dpo.less (dvd) (x::nat) y = (x dvd y & x ~= y)"
txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
proof -
- show "dpo (op dvd :: [nat, nat] => bool)"
+ show "dpo ((dvd) :: [nat, nat] => bool)"
proof qed (auto simp: dvd_def)
- then interpret nat_dvd: dpo "op dvd :: [nat, nat] => bool" .
+ then interpret nat_dvd: dpo "(dvd) :: [nat, nat] => bool" .
txt \<open>Gives interpreted version of \<open>less_def\<close> (without condition).\<close>
- show "dpo.less (op dvd) (x::nat) y = (x dvd y & x ~= y)"
+ show "dpo.less (dvd) (x::nat) y = (x dvd y & x ~= y)"
apply (unfold nat_dvd.less_def)
apply auto
done
qed
-interpretation nat_dvd: dlat "op dvd :: [nat, nat] => bool"
- rewrites "dlat.meet (op dvd) (x::nat) y = gcd x y"
- and "dlat.join (op dvd) (x::nat) y = lcm x y"
+interpretation nat_dvd: dlat "(dvd) :: [nat, nat] => bool"
+ rewrites "dlat.meet (dvd) (x::nat) y = gcd x y"
+ and "dlat.join (dvd) (x::nat) y = lcm x y"
proof -
- show "dlat (op dvd :: [nat, nat] => bool)"
+ show "dlat ((dvd) :: [nat, nat] => bool)"
apply unfold_locales
apply (unfold nat_dvd.is_inf_def nat_dvd.is_sup_def)
apply (rule_tac x = "gcd x y" in exI)
@@ -601,15 +601,15 @@
apply (rule_tac x = "lcm x y" in exI)
apply (auto intro: dvd_lcm1 dvd_lcm2 lcm_least)
done
- then interpret nat_dvd: dlat "op dvd :: [nat, nat] => bool" .
+ then interpret nat_dvd: dlat "(dvd) :: [nat, nat] => bool" .
txt \<open>Interpretation to ease use of definitions, which are
conditional in general but unconditional after interpretation.\<close>
- show "dlat.meet (op dvd) (x::nat) y = gcd x y"
+ show "dlat.meet (dvd) (x::nat) y = gcd x y"
apply (unfold nat_dvd.meet_def)
apply (rule the_equality)
apply (unfold nat_dvd.is_inf_def)
by auto
- show "dlat.join (op dvd) (x::nat) y = lcm x y"
+ show "dlat.join (dvd) (x::nat) y = lcm x y"
apply (unfold nat_dvd.join_def)
apply (rule the_equality)
apply (unfold nat_dvd.is_sup_def)
@@ -738,7 +738,7 @@
locale Dgrp = Dmonoid +
- assumes unit [intro, simp]: "Dmonoid.unit (op **) one x"
+ assumes unit [intro, simp]: "Dmonoid.unit (( ** )) one x"
begin
@@ -834,16 +834,16 @@
subsubsection \<open>Interpretation of Functions\<close>
-interpretation Dfun: Dmonoid "op o" "id :: 'a => 'a"
- rewrites "Dmonoid.unit (op o) id f = bij (f::'a => 'a)"
-(* and "Dmonoid.inv (op o) id" = "inv :: ('a => 'a) => ('a => 'a)" *)
+interpretation Dfun: Dmonoid "(o)" "id :: 'a => 'a"
+ rewrites "Dmonoid.unit (o) id f = bij (f::'a => 'a)"
+(* and "Dmonoid.inv (o) id" = "inv :: ('a => 'a) => ('a => 'a)" *)
proof -
- show "Dmonoid op o (id :: 'a => 'a)" proof qed (simp_all add: o_assoc)
+ show "Dmonoid (o) (id :: 'a => 'a)" proof qed (simp_all add: o_assoc)
note Dmonoid = this
(*
- from this interpret Dmonoid "op o" "id :: 'a => 'a" .
+ from this interpret Dmonoid "(o)" "id :: 'a => 'a" .
*)
- show "Dmonoid.unit (op o) (id :: 'a => 'a) f = bij f"
+ show "Dmonoid.unit (o) (id :: 'a => 'a) f = bij f"
apply (unfold Dmonoid.unit_def [OF Dmonoid])
apply rule apply clarify
proof -
@@ -884,19 +884,19 @@
"(f :: unit => unit) = id"
by rule simp
-interpretation Dfun: Dgrp "op o" "id :: unit => unit"
- rewrites "Dmonoid.inv (op o) id f = inv (f :: unit => unit)"
+interpretation Dfun: Dgrp "(o)" "id :: unit => unit"
+ rewrites "Dmonoid.inv (o) id f = inv (f :: unit => unit)"
proof -
- have "Dmonoid op o (id :: 'a => 'a)" ..
+ have "Dmonoid (o) (id :: 'a => 'a)" ..
note Dmonoid = this
- show "Dgrp (op o) (id :: unit => unit)"
+ show "Dgrp (o) (id :: unit => unit)"
apply unfold_locales
apply (unfold Dmonoid.unit_def [OF Dmonoid])
apply (insert unit_id)
apply simp
done
- show "Dmonoid.inv (op o) id f = inv (f :: unit => unit)"
+ show "Dmonoid.inv (o) id f = inv (f :: unit => unit)"
apply (unfold Dmonoid.inv_def [OF Dmonoid])
apply (insert unit_id)
apply simp
--- a/src/HOL/ex/Refute_Examples.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Refute_Examples.thy Wed Jan 10 15:25:09 2018 +0100
@@ -320,11 +320,11 @@
refute [expect = genuine]
oops
-lemma "(x == (op ==)) \<Longrightarrow> False"
+lemma "(x == (==)) \<Longrightarrow> False"
refute [expect = genuine]
oops
-lemma "(x == (op \<Longrightarrow>)) \<Longrightarrow> False"
+lemma "(x == (\<Longrightarrow>)) \<Longrightarrow> False"
refute [expect = genuine]
oops
@@ -376,11 +376,11 @@
refute
oops
-lemma "P op:"
+lemma "P (:)"
refute
oops
-lemma "P (op: x)"
+lemma "P ((:) x)"
refute
oops
--- a/src/HOL/ex/Transfer_Debug.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Transfer_Debug.thy Wed Jan 10 15:25:09 2018 +0100
@@ -30,7 +30,7 @@
relation. An experienced user could notice that |\<in>| was transferred to |\<in>| by a
a default reflexivity transfer rule (because there was not any genuine transfer rule for |\<in>|)
and fBall was transferred to Ball using the transfer relation pcr_fset. Therefore transfer
- is looking for a transfer rule for |\<subseteq>| with a transfer relation that mixes op= and pcr_fset.
+ is looking for a transfer rule for |\<subseteq>| with a transfer relation that mixes (=) and pcr_fset.
This situation might be confusing because the real problem (a missing transfer rule) propagates
during the transferring algorithm and manifests later in an obfuscated way. Fortunately,
we could inspect the behavior of transfer in a more interactive way to pin down the real problem.
@@ -47,7 +47,7 @@
oops
(* We provide a transfer rule for |\<in>|. *)
-lemma [transfer_rule]: "bi_unique A \<Longrightarrow> rel_fun A (rel_fun (pcr_fset A) op =) op \<in> op |\<in>|"
+lemma [transfer_rule]: "bi_unique A \<Longrightarrow> rel_fun A (rel_fun (pcr_fset A) (=)) (\<in>) (|\<in>|)"
by (rule fmember.transfer)
lemma "(A |\<subseteq>| B) = fBall A (\<lambda>x. x |\<in>| B)"
@@ -80,8 +80,8 @@
which transfers UNIV to UNIV and assumes that the transfer relation has to be bi-total.
The problem is that at this point the transfer relation is not known (it is represented by
a schematic variable ?R) and therefore in order to discharge the assumption "bi_total ?R", ?R is
- instantiated to op=. If the relation had been known (we wish pcr_fset op=, which is not bi-total),
- the assumption bi_total pcr_fset op= could not have been discharged and the tool would have
+ instantiated to (=.) If the relation had been known (we wish pcr_fset (=), which is not bi-total),
+ the assumption bi_total pcr_fset (=) could not have been discharged and the tool would have
backtracked and chosen Lifting.right_total_UNIV_transfer, which assumes only right-totalness
(and pcr_fset is right-total).
*)
--- a/src/HOL/ex/Transfer_Int_Nat.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/Transfer_Int_Nat.thy Wed Jan 10 15:25:09 2018 +0100
@@ -35,63 +35,63 @@
lemma ZN_1 [transfer_rule]: "ZN 1 1"
unfolding ZN_def by simp
-lemma ZN_add [transfer_rule]: "(ZN ===> ZN ===> ZN) (op +) (op +)"
+lemma ZN_add [transfer_rule]: "(ZN ===> ZN ===> ZN) (+) (+)"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_mult [transfer_rule]: "(ZN ===> ZN ===> ZN) (op *) (op *)"
+lemma ZN_mult [transfer_rule]: "(ZN ===> ZN ===> ZN) (( * )) (( * ))"
unfolding rel_fun_def ZN_def by simp
definition tsub :: "int \<Rightarrow> int \<Rightarrow> int"
where "tsub k l = max 0 (k - l)"
-lemma ZN_diff [transfer_rule]: "(ZN ===> ZN ===> ZN) tsub (op -)"
+lemma ZN_diff [transfer_rule]: "(ZN ===> ZN ===> ZN) tsub (-)"
unfolding rel_fun_def ZN_def by (auto simp add: of_nat_diff tsub_def)
-lemma ZN_power [transfer_rule]: "(ZN ===> op = ===> ZN) (op ^) (op ^)"
+lemma ZN_power [transfer_rule]: "(ZN ===> (=) ===> ZN) (^) (^)"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_nat_id [transfer_rule]: "(ZN ===> op =) nat id"
+lemma ZN_nat_id [transfer_rule]: "(ZN ===> (=)) nat id"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_id_int [transfer_rule]: "(ZN ===> op =) id int"
+lemma ZN_id_int [transfer_rule]: "(ZN ===> (=)) id int"
unfolding rel_fun_def ZN_def by simp
lemma ZN_All [transfer_rule]:
- "((ZN ===> op =) ===> op =) (Ball {0..}) All"
+ "((ZN ===> (=)) ===> (=)) (Ball {0..}) All"
unfolding rel_fun_def ZN_def by (auto dest: zero_le_imp_eq_int)
lemma ZN_transfer_forall [transfer_rule]:
- "((ZN ===> op =) ===> op =) (transfer_bforall (\<lambda>x. 0 \<le> x)) transfer_forall"
+ "((ZN ===> (=)) ===> (=)) (transfer_bforall (\<lambda>x. 0 \<le> x)) transfer_forall"
unfolding transfer_forall_def transfer_bforall_def
unfolding rel_fun_def ZN_def by (auto dest: zero_le_imp_eq_int)
-lemma ZN_Ex [transfer_rule]: "((ZN ===> op =) ===> op =) (Bex {0..}) Ex"
+lemma ZN_Ex [transfer_rule]: "((ZN ===> (=)) ===> (=)) (Bex {0..}) Ex"
unfolding rel_fun_def ZN_def Bex_def atLeast_iff
by (metis zero_le_imp_eq_int of_nat_0_le_iff)
-lemma ZN_le [transfer_rule]: "(ZN ===> ZN ===> op =) (op \<le>) (op \<le>)"
+lemma ZN_le [transfer_rule]: "(ZN ===> ZN ===> (=)) (\<le>) (\<le>)"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_less [transfer_rule]: "(ZN ===> ZN ===> op =) (op <) (op <)"
+lemma ZN_less [transfer_rule]: "(ZN ===> ZN ===> (=)) (<) (<)"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_eq [transfer_rule]: "(ZN ===> ZN ===> op =) (op =) (op =)"
+lemma ZN_eq [transfer_rule]: "(ZN ===> ZN ===> (=)) (=) (=)"
unfolding rel_fun_def ZN_def by simp
lemma ZN_Suc [transfer_rule]: "(ZN ===> ZN) (\<lambda>x. x + 1) Suc"
unfolding rel_fun_def ZN_def by simp
lemma ZN_numeral [transfer_rule]:
- "(op = ===> ZN) numeral numeral"
+ "((=) ===> ZN) numeral numeral"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_dvd [transfer_rule]: "(ZN ===> ZN ===> op =) (op dvd) (op dvd)"
+lemma ZN_dvd [transfer_rule]: "(ZN ===> ZN ===> (=)) (dvd) (dvd)"
unfolding rel_fun_def ZN_def by simp
-lemma ZN_div [transfer_rule]: "(ZN ===> ZN ===> ZN) (op div) (op div)"
+lemma ZN_div [transfer_rule]: "(ZN ===> ZN ===> ZN) (div) (div)"
unfolding rel_fun_def ZN_def by (simp add: zdiv_int)
-lemma ZN_mod [transfer_rule]: "(ZN ===> ZN ===> ZN) (op mod) (op mod)"
+lemma ZN_mod [transfer_rule]: "(ZN ===> ZN ===> ZN) (mod) (mod)"
unfolding rel_fun_def ZN_def by (simp add: zmod_int)
lemma ZN_gcd [transfer_rule]: "(ZN ===> ZN ===> ZN) gcd gcd"
--- a/src/HOL/ex/While_Combinator_Example.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/HOL/ex/While_Combinator_Example.thy Wed Jan 10 15:25:09 2018 +0100
@@ -17,7 +17,7 @@
lfp f = fst (while (\<lambda>(A, fA). A \<noteq> fA) (\<lambda>(A, fA). (fA, f fA)) ({}, f {}))"
apply (rule_tac P = "\<lambda>(A, B). (A \<subseteq> U \<and> B = f A \<and> A \<subseteq> B \<and> B \<subseteq> lfp f)" and
r = "((Pow U \<times> UNIV) \<times> (Pow U \<times> UNIV)) \<inter>
- inv_image finite_psubset (op - U o fst)" in while_rule)
+ inv_image finite_psubset ((-) U o fst)" in while_rule)
apply (subst lfp_unfold)
apply assumption
apply (simp add: monoD)
--- a/src/ZF/Constructible/Rank.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/Constructible/Rank.thy Wed Jan 10 15:25:09 2018 +0100
@@ -941,4 +941,4 @@
"[|relation(r); M(r); M(A)|] ==> wellfounded_on(M,A,r) \<longleftrightarrow> wf[A](r)"
by (blast intro: wellfounded_on_imp_wf_on wf_on_imp_relativized)
-end
\ No newline at end of file
+end
--- a/src/ZF/Constructible/Rank_Separation.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/Constructible/Rank_Separation.thy Wed Jan 10 15:25:09 2018 +0100
@@ -243,4 +243,4 @@
and wf_abs = M_wfrank.wf_abs [OF M_wfrank_L]
and wf_on_abs = M_wfrank.wf_on_abs [OF M_wfrank_L]
-end
\ No newline at end of file
+end
--- a/src/ZF/Induct/FoldSet.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/Induct/FoldSet.thy Wed Jan 10 15:25:09 2018 +0100
@@ -393,4 +393,4 @@
apply (simp_all add: Diff_cons_eq Finite_Diff)
done
-end
\ No newline at end of file
+end
--- a/src/ZF/Order.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/Order.thy Wed Jan 10 15:25:09 2018 +0100
@@ -348,7 +348,7 @@
apply (simp add: linear_def ord_iso_def, safe)
apply (drule_tac x1 = "f`x" and x = "f`y" in bspec [THEN bspec])
apply (safe elim!: bij_is_fun [THEN apply_type])
-apply (drule_tac t = "op ` (converse (f))" in subst_context)
+apply (drule_tac t = "(`) (converse (f))" in subst_context)
apply (simp add: left_inverse_bij)
done
--- a/src/ZF/Perm.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/Perm.thy Wed Jan 10 15:25:09 2018 +0100
@@ -398,7 +398,7 @@
apply (unfold inj_def surj_def, safe)
apply (rule_tac x1 = x in bspec [THEN bexE])
apply (erule_tac [3] x1 = w in bspec [THEN bexE], assumption+, safe)
-apply (rule_tac t = "op ` (g) " in subst_context)
+apply (rule_tac t = "(`) (g) " in subst_context)
apply (erule asm_rl bspec [THEN bspec, THEN mp])+
apply (simp (no_asm_simp))
done
--- a/src/ZF/UNITY/Follows.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/UNITY/Follows.thy Wed Jan 10 15:25:09 2018 +0100
@@ -325,13 +325,13 @@
"[| F \<in> Increasing.increasing(Pow(A), SetLe(A), f);
F \<in> Increasing.increasing(Pow(A), SetLe(A), g) |]
==> F \<in> Increasing.increasing(Pow(A), SetLe(A), %x. f(x) \<union> g(x))"
-by (rule_tac h = "op Un" in imp_increasing_comp2, auto)
+by (rule_tac h = "(Un)" in imp_increasing_comp2, auto)
lemma Increasing_Un:
"[| F \<in> Increasing(Pow(A), SetLe(A), f);
F \<in> Increasing(Pow(A), SetLe(A), g) |]
==> F \<in> Increasing(Pow(A), SetLe(A), %x. f(x) \<union> g(x))"
-by (rule_tac h = "op Un" in imp_Increasing_comp2, auto)
+by (rule_tac h = "(Un)" in imp_Increasing_comp2, auto)
lemma Always_Un:
"[| F \<in> Always({s \<in> state. f1(s) \<subseteq> f(s)});
@@ -343,7 +343,7 @@
"[| F \<in> Follows(Pow(A), SetLe(A), f1, f);
F \<in> Follows(Pow(A), SetLe(A), g1, g) |]
==> F \<in> Follows(Pow(A), SetLe(A), %s. f1(s) \<union> g1(s), %s. f(s) \<union> g(s))"
-by (rule_tac h = "op Un" in imp_Follows_comp2, auto)
+by (rule_tac h = "(Un)" in imp_Follows_comp2, auto)
(** Multiset union properties (with the MultLe ordering) **)
--- a/src/ZF/UNITY/Monotonicity.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/UNITY/Monotonicity.thy Wed Jan 10 15:25:09 2018 +0100
@@ -102,7 +102,7 @@
(** Monotonicity of \<union> **)
lemma mono_Un [iff]:
- "mono2(Pow(A), SetLe(A), Pow(A), SetLe(A), Pow(A), SetLe(A), op Un)"
+ "mono2(Pow(A), SetLe(A), Pow(A), SetLe(A), Pow(A), SetLe(A), (Un))"
by (unfold mono2_def SetLe_def, auto)
(* Monotonicity of multiset union *)
@@ -117,4 +117,4 @@
lemma mono_succ [iff]: "mono1(nat, Le, nat, Le, succ)"
by (unfold mono1_def Le_def, auto)
-end
\ No newline at end of file
+end
--- a/src/ZF/UNITY/MultisetSum.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/UNITY/MultisetSum.thy Wed Jan 10 15:25:09 2018 +0100
@@ -21,12 +21,12 @@
definition
msetsum :: "[i=>i, i, i]=>i" where
- "msetsum(g, C, B) == normalize(general_setsum(C, Mult(B), 0, op +#, g))"
+ "msetsum(g, C, B) == normalize(general_setsum(C, Mult(B), 0, (+#), g))"
definition (* sum for naturals *)
nsetsum :: "[i=>i, i] =>i" where
- "nsetsum(g, C) == general_setsum(C, nat, 0, op #+, g)"
+ "nsetsum(g, C) == general_setsum(C, nat, 0, (#+), g)"
lemma mset_of_normalize: "mset_of(normalize(M)) \<subseteq> mset_of(M)"
@@ -51,7 +51,7 @@
lemma lcomm_mono: "[| C\<subseteq>A; lcomm(A, B, f) |] ==> lcomm(C, B,f)"
by (auto simp add: lcomm_def, blast)
-lemma munion_lcomm [simp]: "lcomm(Mult(A), Mult(A), op +#)"
+lemma munion_lcomm [simp]: "lcomm(Mult(A), Mult(A), (+#))"
by (auto simp add: lcomm_def Mult_iff_multiset munion_lcommute)
(** msetsum **)
@@ -182,4 +182,4 @@
apply (erule Finite_induct, auto)
done
-end
\ No newline at end of file
+end
--- a/src/ZF/UNITY/Mutex.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/UNITY/Mutex.thy Wed Jan 10 15:25:09 2018 +0100
@@ -317,4 +317,4 @@
apply (auto dest!: u_value_type simp add: bool_def)
done
-end
\ No newline at end of file
+end
--- a/src/ZF/ex/Limit.thy Wed Jan 10 15:21:49 2018 +0100
+++ b/src/ZF/ex/Limit.thy Wed Jan 10 15:25:09 2018 +0100
@@ -542,22 +542,22 @@
qed
moreover
have "M ` n \<in> nat \<rightarrow> set(D)" by (blast intro: DM n matrix_fun [THEN apply_type])
- ultimately show "rel(D, lub(D, Lambda(nat, op `(M ` n))), y)" by simp
+ ultimately show "rel(D, lub(D, Lambda(nat, (`)(M ` n))), y)" by simp
qed
lemma matrix_chain_lub:
"[|matrix(D,M); cpo(D)|] ==> chain(D,\<lambda>n \<in> nat. lub(D,\<lambda>m \<in> nat. M`n`m))"
proof (simp add: chain_def, intro conjI ballI)
assume "matrix(D, M)" "cpo(D)"
- thus "(\<lambda>x\<in>nat. lub(D, Lambda(nat, op `(M ` x)))) \<in> nat \<rightarrow> set(D)"
+ thus "(\<lambda>x\<in>nat. lub(D, Lambda(nat, (`)(M ` x)))) \<in> nat \<rightarrow> set(D)"
by (force intro: islub_in cpo_lub chainI lam_type matrix_in matrix_rel_0_1)
next
fix n
assume DD: "matrix(D, M)" "cpo(D)" "n \<in> nat"
hence "dominate(D, M ` n, M ` succ(n))"
by (force simp add: dominate_def intro: matrix_rel_1_0)
- with DD show "rel(D, lub(D, Lambda(nat, op `(M ` n))),
- lub(D, Lambda(nat, op `(M ` succ(n)))))"
+ with DD show "rel(D, lub(D, Lambda(nat, (`)(M ` n))),
+ lub(D, Lambda(nat, (`)(M ` succ(n)))))"
by (simp add: matrix_chain_left [THEN chain_fun, THEN eta]
dominate_islub cpo_lub matrix_chain_left chain_fun)
qed
@@ -566,8 +566,8 @@
assumes DM: "matrix(D, M)" and D: "cpo(D)"
shows "isub(D,(\<lambda>n \<in> nat. lub(D,\<lambda>m \<in> nat. M`n`m)),y) \<longleftrightarrow> isub(D,(\<lambda>n \<in> nat. M`n`n),y)"
proof
- assume isub: "isub(D, \<lambda>n\<in>nat. lub(D, Lambda(nat, op `(M ` n))), y)"
- hence dom: "dominate(D, \<lambda>n\<in>nat. M ` n ` n, \<lambda>n\<in>nat. lub(D, Lambda(nat, op `(M ` n))))"
+ assume isub: "isub(D, \<lambda>n\<in>nat. lub(D, Lambda(nat, (`)(M ` n))), y)"
+ hence dom: "dominate(D, \<lambda>n\<in>nat. M ` n ` n, \<lambda>n\<in>nat. lub(D, Lambda(nat, (`)(M ` n))))"
using DM D
by (simp add: dominate_def, intro ballI bexI,
simp_all add: matrix_chain_left [THEN chain_fun, THEN eta] islub_ub cpo_lub matrix_chain_left)
@@ -576,7 +576,7 @@
simp_all add: matrix_chain_diag chain_fun matrix_chain_lub)
next
assume isub: "isub(D, \<lambda>n\<in>nat. M ` n ` n, y)"
- thus "isub(D, \<lambda>n\<in>nat. lub(D, Lambda(nat, op `(M ` n))), y)" using DM D
+ thus "isub(D, \<lambda>n\<in>nat. lub(D, Lambda(nat, (`)(M ` n))), y)" using DM D
by (simp add: isub_lemma)
qed