src/HOL/Lifting_Set.thy
changeset 60758 d8d85a8172b5
parent 60676 92fd47ae2a67
child 61952 546958347e05
--- a/src/HOL/Lifting_Set.thy	Sat Jul 18 21:44:18 2015 +0200
+++ b/src/HOL/Lifting_Set.thy	Sat Jul 18 22:58:50 2015 +0200
@@ -2,13 +2,13 @@
     Author:     Brian Huffman and Ondrej Kuncar
 *)
 
-section {* Setup for Lifting/Transfer for the set type *}
+section \<open>Setup for Lifting/Transfer for the set type\<close>
 
 theory Lifting_Set
 imports Lifting
 begin
 
-subsection {* Relator and predicator properties *}
+subsection \<open>Relator and predicator properties\<close>
 
 lemma rel_setD1: "\<lbrakk> rel_set R A B; x \<in> A \<rbrakk> \<Longrightarrow> \<exists>y \<in> B. R x y"
   and rel_setD2: "\<lbrakk> rel_set R A B; y \<in> B \<rbrakk> \<Longrightarrow> \<exists>x \<in> A. R x y"
@@ -82,21 +82,21 @@
 proof
   def f \<equiv> "\<lambda>x. THE y. R x y"
   { fix x assume "x \<in> X"
-    with `rel_set R X Y` `bi_unique R` have "R x (f x)"
+    with \<open>rel_set R X Y\<close> \<open>bi_unique R\<close> have "R x (f x)"
       by (simp add: bi_unique_def rel_set_def f_def) (metis theI)
-    with assms `x \<in> X` 
+    with assms \<open>x \<in> X\<close> 
     have  "R x (f x)" "\<forall>x'\<in>X. R x' (f x) \<longrightarrow> x = x'" "\<forall>y\<in>Y. R x y \<longrightarrow> y = f x" "f x \<in> Y"
       by (fastforce simp add: bi_unique_def rel_set_def)+ }
   note * = this
   moreover
   { fix y assume "y \<in> Y"
-    with `rel_set R X Y` *(3) `y \<in> Y` have "\<exists>x\<in>X. y = f x"
+    with \<open>rel_set R X Y\<close> *(3) \<open>y \<in> Y\<close> have "\<exists>x\<in>X. y = f x"
       by (fastforce simp: rel_set_def) }
   ultimately show "\<forall>x\<in>X. R x (f x)" "Y = image f X" "inj_on f X"
     by (auto simp: inj_on_def image_iff)
 qed
 
-subsection {* Quotient theorem for the Lifting package *}
+subsection \<open>Quotient theorem for the Lifting package\<close>
 
 lemma Quotient_set[quot_map]:
   assumes "Quotient R Abs Rep T"
@@ -108,9 +108,9 @@
   done
 
 
-subsection {* Transfer rules for the Transfer package *}
+subsection \<open>Transfer rules for the Transfer package\<close>
 
-subsubsection {* Unconditional transfer rules *}
+subsubsection \<open>Unconditional transfer rules\<close>
 
 context
 begin
@@ -183,7 +183,7 @@
   unfolding SUP_def [abs_def] by transfer_prover
 
 
-subsubsection {* Rules requiring bi-unique, bi-total or right-total relations *}
+subsubsection \<open>Rules requiring bi-unique, bi-total or right-total relations\<close>
 
 lemma member_transfer [transfer_rule]:
   assumes "bi_unique A"
@@ -281,7 +281,7 @@
 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"
-  with `bi_unique A` obtain i where "bij_betw i S T" "\<And>x. x \<in> S \<Longrightarrow> f x = g (i x)"
+  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"
     by (simp add: reindex_bij_betw)