src/HOL/Library/Sublist.thy
changeset 67399 eab6ce8368fa
parent 67091 1393c2340eec
child 67606 3b3188ae63da
--- 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]: