ran isabelle update_op on all sources
authornipkow
Wed, 10 Jan 2018 15:25:09 +0100
changeset 67399 eab6ce8368fa
parent 67398 5eb932e604a2
child 67400 bbed46f40cf5
ran isabelle update_op on all sources
src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Base.thy
src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Guided_Attacker_Example.thy
src/Benchmarks/Quickcheck_Benchmark/Needham_Schroeder_Unguided_Attacker_Example.thy
src/Benchmarks/Record_Benchmark/Record_Benchmark.thy
src/CTT/CTT.thy
src/Doc/Corec/Corec.thy
src/Doc/Datatypes/Datatypes.thy
src/Doc/Eisbach/Preface.thy
src/Doc/How_to_Prove_it/How_to_Prove_it.thy
src/Doc/Isar_Ref/Framework.thy
src/Doc/Isar_Ref/Generic.thy
src/Doc/Isar_Ref/HOL_Specific.thy
src/Doc/Isar_Ref/Proof_Script.thy
src/Doc/Isar_Ref/Symbols.thy
src/Doc/JEdit/JEdit.thy
src/Doc/Locales/Examples1.thy
src/Doc/Locales/Examples2.thy
src/Doc/Main/Main_Doc.thy
src/Doc/Prog_Prove/Basics.thy
src/Doc/Prog_Prove/LaTeXsugar.thy
src/Doc/System/Environment.thy
src/Doc/System/Misc.thy
src/Doc/System/Presentation.thy
src/Doc/Tutorial/Types/Pairs.thy
src/FOL/ex/Locale_Test/Locale_Test1.thy
src/FOLP/IFOLP.thy
src/HOL/Algebra/Complete_Lattice.thy
src/HOL/Algebra/Divisibility.thy
src/HOL/Algebra/Group.thy
src/HOL/Algebra/IntRing.thy
src/HOL/Algebra/Multiplicative_Group.thy
src/HOL/Algebra/Order.thy
src/HOL/Algebra/QuotRing.thy
src/HOL/Algebra/Sylow.thy
src/HOL/Algebra/UnivPoly.thy
src/HOL/Analysis/Ball_Volume.thy
src/HOL/Analysis/Binary_Product_Measure.thy
src/HOL/Analysis/Bochner_Integration.thy
src/HOL/Analysis/Borel_Space.thy
src/HOL/Analysis/Bounded_Linear_Function.thy
src/HOL/Analysis/Brouwer_Fixpoint.thy
src/HOL/Analysis/Cartesian_Euclidean_Space.thy
src/HOL/Analysis/Cauchy_Integral_Theorem.thy
src/HOL/Analysis/Complex_Analysis_Basics.thy
src/HOL/Analysis/Conformal_Mappings.thy
src/HOL/Analysis/Connected.thy
src/HOL/Analysis/Convex_Euclidean_Space.thy
src/HOL/Analysis/Derivative.thy
src/HOL/Analysis/Determinants.thy
src/HOL/Analysis/Embed_Measure.thy
src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy
src/HOL/Analysis/Euclidean_Space.thy
src/HOL/Analysis/Finite_Cartesian_Product.thy
src/HOL/Analysis/Finite_Product_Measure.thy
src/HOL/Analysis/Further_Topology.thy
src/HOL/Analysis/Gamma_Function.thy
src/HOL/Analysis/Great_Picard.thy
src/HOL/Analysis/Harmonic_Numbers.thy
src/HOL/Analysis/Henstock_Kurzweil_Integration.thy
src/HOL/Analysis/Homeomorphism.thy
src/HOL/Analysis/Improper_Integral.thy
src/HOL/Analysis/Inner_Product.thy
src/HOL/Analysis/Lebesgue_Measure.thy
src/HOL/Analysis/Linear_Algebra.thy
src/HOL/Analysis/Measure_Space.thy
src/HOL/Analysis/Nonnegative_Lebesgue_Integration.thy
src/HOL/Analysis/Path_Connected.thy
src/HOL/Analysis/Polytope.thy
src/HOL/Analysis/Riemann_Mapping.thy
src/HOL/Analysis/Set_Integral.thy
src/HOL/Analysis/Sigma_Algebra.thy
src/HOL/Analysis/Starlike.thy
src/HOL/Analysis/Tagged_Division.thy
src/HOL/Analysis/Topology_Euclidean_Space.thy
src/HOL/Analysis/ex/Approximations.thy
src/HOL/Analysis/normarith.ML
src/HOL/BNF_Composition.thy
src/HOL/BNF_Def.thy
src/HOL/BNF_Fixpoint_Base.thy
src/HOL/Bali/AxCompl.thy
src/HOL/Bali/AxExample.thy
src/HOL/Bali/AxSem.thy
src/HOL/Bali/State.thy
src/HOL/Basic_BNF_LFPs.thy
src/HOL/Basic_BNFs.thy
src/HOL/Binomial.thy
src/HOL/Cardinals/Bounded_Set.thy
src/HOL/Code_Numeral.thy
src/HOL/Complete_Lattices.thy
src/HOL/Complete_Partial_Order.thy
src/HOL/Computational_Algebra/Euclidean_Algorithm.thy
src/HOL/Computational_Algebra/Formal_Power_Series.thy
src/HOL/Computational_Algebra/Nth_Powers.thy
src/HOL/Computational_Algebra/Polynomial.thy
src/HOL/Computational_Algebra/Polynomial_FPS.thy
src/HOL/Computational_Algebra/Squarefree.thy
src/HOL/Corec_Examples/Tests/GPV_Bare_Bones.thy
src/HOL/Corec_Examples/Tests/Iterate_GPV.thy
src/HOL/Corec_Examples/Tests/Misc_Mono.thy
src/HOL/Data_Structures/Base_FDS.thy
src/HOL/Data_Structures/Binomial_Heap.thy
src/HOL/Data_Structures/Sorted_Less.thy
src/HOL/Datatype_Examples/Derivation_Trees/DTree.thy
src/HOL/Datatype_Examples/Derivation_Trees/Parallel_Composition.thy
src/HOL/Datatype_Examples/Stream_Processor.thy
src/HOL/Decision_Procs/Algebra_Aux.thy
src/HOL/Decision_Procs/Cooper.thy
src/HOL/Decision_Procs/Ferrack.thy
src/HOL/Decision_Procs/MIR.thy
src/HOL/Decision_Procs/Parametric_Ferrante_Rackoff.thy
src/HOL/Decision_Procs/Polynomial_List.thy
src/HOL/Decision_Procs/approximation.ML
src/HOL/Decision_Procs/langford.ML
src/HOL/Deriv.thy
src/HOL/Enum.thy
src/HOL/Equiv_Relations.thy
src/HOL/Factorial.thy
src/HOL/Filter.thy
src/HOL/Fun.thy
src/HOL/GCD.thy
src/HOL/Groups_List.thy
src/HOL/HOL.thy
src/HOL/HOLCF/Cpodef.thy
src/HOL/HOLCF/Discrete.thy
src/HOL/HOLCF/Domain.thy
src/HOL/HOLCF/Fun_Cpo.thy
src/HOL/HOLCF/Library/List_Cpo.thy
src/HOL/HOLCF/Product_Cpo.thy
src/HOL/HOLCF/Universal.thy
src/HOL/HOLCF/Up.thy
src/HOL/IMP/Abs_Int2_ivl.thy
src/HOL/IMP/Abs_Int3.thy
src/HOL/IMP/Abs_State.thy
src/HOL/IMP/Collecting.thy
src/HOL/IMP/Compiler2.thy
src/HOL/Imperative_HOL/Heap_Monad.thy
src/HOL/Import/HOL_Light_Maps.thy
src/HOL/Int.thy
src/HOL/Lattices.thy
src/HOL/Library/BNF_Corec.thy
src/HOL/Library/Cancellation.thy
src/HOL/Library/Cardinality.thy
src/HOL/Library/Char_ord.thy
src/HOL/Library/Code_Real_Approx_By_Float.thy
src/HOL/Library/Complete_Partial_Order2.thy
src/HOL/Library/Conditional_Parametricity.thy
src/HOL/Library/Countable.thy
src/HOL/Library/Countable_Set.thy
src/HOL/Library/Countable_Set_Type.thy
src/HOL/Library/DAList_Multiset.thy
src/HOL/Library/Diagonal_Subsequence.thy
src/HOL/Library/Discrete.thy
src/HOL/Library/Disjoint_Sets.thy
src/HOL/Library/Dlist.thy
src/HOL/Library/Extended_Nonnegative_Real.thy
src/HOL/Library/FSet.thy
src/HOL/Library/Finite_Map.thy
src/HOL/Library/Float.thy
src/HOL/Library/LaTeXsugar.thy
src/HOL/Library/Linear_Temporal_Logic_on_Streams.thy
src/HOL/Library/ListVector.thy
src/HOL/Library/Mapping.thy
src/HOL/Library/More_List.thy
src/HOL/Library/Multiset_Permutations.thy
src/HOL/Library/Nat_Bijection.thy
src/HOL/Library/Numeral_Type.thy
src/HOL/Library/Open_State_Syntax.thy
src/HOL/Library/Pattern_Aliases.thy
src/HOL/Library/Perm.thy
src/HOL/Library/Permutations.thy
src/HOL/Library/Predicate_Compile_Alternative_Defs.thy
src/HOL/Library/Quotient_List.thy
src/HOL/Library/Quotient_Product.thy
src/HOL/Library/Quotient_Set.thy
src/HOL/Library/Quotient_Sum.thy
src/HOL/Library/RBT_Set.thy
src/HOL/Library/State_Monad.thy
src/HOL/Library/Stream.thy
src/HOL/Library/Sublist.thy
src/HOL/Library/Subseq_Order.thy
src/HOL/Library/Sum_of_Squares/sum_of_squares.ML
src/HOL/Library/Tree.thy
src/HOL/Library/Tree_Real.thy
src/HOL/Library/Uprod.thy
src/HOL/Library/conditional_parametricity.ML
src/HOL/Library/positivstellensatz.ML
src/HOL/Library/refute.ML
src/HOL/Lifting.thy
src/HOL/Lifting_Set.thy
src/HOL/Limits.thy
src/HOL/List.thy
src/HOL/Matrix_LP/Cplex_tools.ML
src/HOL/Matrix_LP/Matrix.thy
src/HOL/Metis_Examples/Abstraction.thy
src/HOL/Metis_Examples/Proxies.thy
src/HOL/MicroJava/BV/BVExample.thy
src/HOL/MicroJava/BV/Typing_Framework_JVM.thy
src/HOL/MicroJava/DFA/Listn.thy
src/HOL/Mirabelle/Tools/mirabelle_quickcheck.ML
src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML
src/HOL/NanoJava/Equivalence.thy
src/HOL/Nat.thy
src/HOL/Nitpick.thy
src/HOL/Nitpick_Examples/Core_Nits.thy
src/HOL/Nitpick_Examples/Manual_Nits.thy
src/HOL/Nitpick_Examples/Mini_Nits.thy
src/HOL/Nitpick_Examples/Mono_Nits.thy
src/HOL/Nitpick_Examples/Refute_Nits.thy
src/HOL/Nominal/Examples/Standardization.thy
src/HOL/Nominal/nominal_datatype.ML
src/HOL/Nominal/nominal_inductive.ML
src/HOL/Nominal/nominal_inductive2.ML
src/HOL/Nonstandard_Analysis/Free_Ultrafilter.thy
src/HOL/Nonstandard_Analysis/HDeriv.thy
src/HOL/Nonstandard_Analysis/HLog.thy
src/HOL/Nonstandard_Analysis/HyperDef.thy
src/HOL/Nonstandard_Analysis/NatStar.thy
src/HOL/Nonstandard_Analysis/StarDef.thy
src/HOL/Num.thy
src/HOL/Number_Theory/Gauss.thy
src/HOL/Number_Theory/Pocklington.thy
src/HOL/Number_Theory/Totient.thy
src/HOL/Option.thy
src/HOL/Partial_Function.thy
src/HOL/Predicate.thy
src/HOL/Predicate_Compile_Examples/Hotel_Example_Prolog.thy
src/HOL/Predicate_Compile_Examples/Hotel_Example_Small_Generator.thy
src/HOL/Predicate_Compile_Examples/Predicate_Compile_Tests.thy
src/HOL/Probability/Distributions.thy
src/HOL/Probability/Fin_Map.thy
src/HOL/Probability/Giry_Monad.thy
src/HOL/Probability/Helly_Selection.thy
src/HOL/Probability/Independent_Family.thy
src/HOL/Probability/Infinite_Product_Measure.thy
src/HOL/Probability/PMF_Impl.thy
src/HOL/Probability/Probability_Mass_Function.thy
src/HOL/Probability/Probability_Measure.thy
src/HOL/Probability/Projective_Limit.thy
src/HOL/Probability/Random_Permutations.thy
src/HOL/Probability/SPMF.thy
src/HOL/Probability/Stream_Space.thy
src/HOL/Probability/ex/Dining_Cryptographers.thy
src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy
src/HOL/Probability/ex/Measure_Not_CCC.thy
src/HOL/Prolog/Test.thy
src/HOL/Proofs/Extraction/Higman_Extraction.thy
src/HOL/Proofs/Lambda/ListApplication.thy
src/HOL/Proofs/Lambda/Standardization.thy
src/HOL/Proofs/ex/Proof_Terms.thy
src/HOL/Quickcheck_Examples/Quickcheck_Examples.thy
src/HOL/Quickcheck_Narrowing.thy
src/HOL/Quickcheck_Random.thy
src/HOL/Quotient.thy
src/HOL/Quotient_Examples/Lift_FSet.thy
src/HOL/Quotient_Examples/Lift_Fun.thy
src/HOL/Quotient_Examples/Quotient_FSet.thy
src/HOL/Quotient_Examples/Quotient_Int.thy
src/HOL/Quotient_Examples/Quotient_Rat.thy
src/HOL/Real.thy
src/HOL/Real_Vector_Spaces.thy
src/HOL/Relation.thy
src/HOL/SMT.thy
src/HOL/SMT_Examples/SMT_Examples.thy
src/HOL/SMT_Examples/boogie.ML
src/HOL/SPARK/SPARK.thy
src/HOL/Set_Interval.thy
src/HOL/String.thy
src/HOL/TLA/Intensional.thy
src/HOL/TPTP/TPTP_Parser/tptp_reconstruct_library.ML
src/HOL/TPTP/TPTP_Proof_Reconstruction.thy
src/HOL/TPTP/TPTP_Proof_Reconstruction_Test.thy
src/HOL/TPTP/TPTP_Proof_Reconstruction_Test_Units.thy
src/HOL/Tools/ATP/atp_problem.ML
src/HOL/Tools/ATP/atp_problem_generate.ML
src/HOL/Tools/BNF/bnf_def_tactics.ML
src/HOL/Tools/BNF/bnf_fp_def_sugar_tactics.ML
src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML
src/HOL/Tools/BNF/bnf_fp_util_tactics.ML
src/HOL/Tools/BNF/bnf_gfp.ML
src/HOL/Tools/BNF/bnf_gfp_tactics.ML
src/HOL/Tools/BNF/bnf_lfp.ML
src/HOL/Tools/BNF/bnf_lfp_tactics.ML
src/HOL/Tools/Ctr_Sugar/ctr_sugar.ML
src/HOL/Tools/Lifting/lifting_info.ML
src/HOL/Tools/Nitpick/nitpick_commands.ML
src/HOL/Tools/Nitpick/nitpick_mono.ML
src/HOL/Tools/Nunchaku/nunchaku_collect.ML
src/HOL/Tools/Nunchaku/nunchaku_commands.ML
src/HOL/Tools/Nunchaku/nunchaku_reconstruct.ML
src/HOL/Tools/Predicate_Compile/code_prolog.ML
src/HOL/Tools/Predicate_Compile/core_data.ML
src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML
src/HOL/Tools/Qelim/cooper.ML
src/HOL/Tools/SMT/smt_systems.ML
src/HOL/Tools/SMT/smtlib.ML
src/HOL/Tools/SMT/smtlib_interface.ML
src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML
src/HOL/Tools/Sledgehammer/sledgehammer_isar_proof.ML
src/HOL/Tools/Transfer/transfer.ML
src/HOL/Tools/datatype_realizer.ML
src/HOL/Tools/functor.ML
src/HOL/Tools/groebner.ML
src/HOL/Tools/rewrite_hol_proof.ML
src/HOL/Tools/sat_solver.ML
src/HOL/Tools/semiring_normalizer.ML
src/HOL/Tools/set_comprehension_pointfree.ML
src/HOL/Transcendental.thy
src/HOL/Transfer.thy
src/HOL/Transitive_Closure.thy
src/HOL/Types_To_Sets/Examples/Finite.thy
src/HOL/Types_To_Sets/Examples/T2_Spaces.thy
src/HOL/Wellfounded.thy
src/HOL/Word/Bool_List_Representation.thy
src/HOL/Word/Misc_Typedef.thy
src/HOL/Word/Word.thy
src/HOL/Word/WordBitwise.thy
src/HOL/Zorn.thy
src/HOL/ex/Ballot.thy
src/HOL/ex/Coercion_Examples.thy
src/HOL/ex/Conditional_Parametricity_Examples.thy
src/HOL/ex/Erdoes_Szekeres.thy
src/HOL/ex/LocaleTest2.thy
src/HOL/ex/Refute_Examples.thy
src/HOL/ex/Transfer_Debug.thy
src/HOL/ex/Transfer_Int_Nat.thy
src/HOL/ex/While_Combinator_Example.thy
src/ZF/Constructible/Rank.thy
src/ZF/Constructible/Rank_Separation.thy
src/ZF/Induct/FoldSet.thy
src/ZF/Order.thy
src/ZF/Perm.thy
src/ZF/UNITY/Follows.thy
src/ZF/UNITY/Monotonicity.thy
src/ZF/UNITY/MultisetSum.thy
src/ZF/UNITY/Mutex.thy
src/ZF/ex/Limit.thy
--- 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