src/ZF/func.thy
changeset 60770 240563fbf41d
parent 58871 c399ae4b836f
child 63901 4ce989e962e0
--- a/src/ZF/func.thy	Thu Jul 23 14:20:51 2015 +0200
+++ b/src/ZF/func.thy	Thu Jul 23 14:25:05 2015 +0200
@@ -3,11 +3,11 @@
     Copyright   1991  University of Cambridge
 *)
 
-section{*Functions, Function Spaces, Lambda-Abstraction*}
+section\<open>Functions, Function Spaces, Lambda-Abstraction\<close>
 
 theory func imports equalities Sum begin
 
-subsection{*The Pi Operator: Dependent Function Space*}
+subsection\<open>The Pi Operator: Dependent Function Space\<close>
 
 lemma subset_Sigma_imp_relation: "r \<subseteq> Sigma(A,B) ==> relation(r)"
 by (simp add: relation_def, blast)
@@ -55,7 +55,7 @@
 lemma fun_weaken_type: "[| f \<in> A->B;  B<=D |] ==> f \<in> A->D"
 by (unfold Pi_def, best)
 
-subsection{*Function Application*}
+subsection\<open>Function Application\<close>
 
 lemma apply_equality2: "[| <a,b>: f;  <a,c>: f;  f \<in> Pi(A,B) |] ==> b=c"
 by (unfold Pi_def function_def, blast)
@@ -129,7 +129,7 @@
 lemma Pair_mem_PiD: "[| <a,b>: f;  f \<in> Pi(A,B) |] ==> a \<in> A & b \<in> B(a) & f`a = b"
 by (blast intro: domain_type range_type apply_equality)
 
-subsection{*Lambda Abstraction*}
+subsection\<open>Lambda Abstraction\<close>
 
 lemma lamI: "a \<in> A ==> <a,b(a)> \<in> (\<lambda>x\<in>A. b(x))"
 apply (unfold lam_def)
@@ -202,7 +202,7 @@
 done
 
 
-subsection{*Extensionality*}
+subsection\<open>Extensionality\<close>
 
 (*Semi-extensionality!*)
 
@@ -242,7 +242,7 @@
 done
 
 
-subsection{*Images of Functions*}
+subsection\<open>Images of Functions\<close>
 
 lemma image_lam: "C \<subseteq> A ==> (\<lambda>x\<in>A. b(x)) `` C = {b(x). x \<in> C}"
 by (unfold lam_def, blast)
@@ -278,7 +278,7 @@
 by (blast dest: apply_equality apply_Pair)
 
 
-subsection{*Properties of @{term "restrict(f,A)"}*}
+subsection\<open>Properties of @{term "restrict(f,A)"}\<close>
 
 lemma restrict_subset: "restrict(f,A) \<subseteq> f"
 by (unfold restrict_def, blast)
@@ -338,7 +338,7 @@
 done
 
 
-subsection{*Unions of Functions*}
+subsection\<open>Unions of Functions\<close>
 
 (** The Union of a set of COMPATIBLE functions is a function **)
 
@@ -381,7 +381,7 @@
 lemma fun_disjoint_apply2: "c \<notin> domain(f) ==> (f \<union> g)`c = g`c"
 by (simp add: apply_def, blast)
 
-subsection{*Domain and Range of a Function or Relation*}
+subsection\<open>Domain and Range of a Function or Relation\<close>
 
 lemma domain_of_fun: "f \<in> Pi(A,B) ==> domain(f)=A"
 by (unfold Pi_def, blast)
@@ -392,7 +392,7 @@
 lemma range_of_fun: "f \<in> Pi(A,B) ==> f \<in> A->range(f)"
 by (blast intro: Pi_type apply_rangeI)
 
-subsection{*Extensions of Functions*}
+subsection\<open>Extensions of Functions\<close>
 
 lemma fun_extend:
      "[| f \<in> A->B;  c\<notin>A |] ==> cons(<c,b>,f) \<in> cons(c,A) -> cons(b,B)"
@@ -439,7 +439,7 @@
 by (simp add: succ_def mem_not_refl cons_fun_eq)
 
 
-subsection{*Function Updates*}
+subsection\<open>Function Updates\<close>
 
 definition
   update  :: "[i,i,i] => i"  where
@@ -487,9 +487,9 @@
 done
 
 
-subsection{*Monotonicity Theorems*}
+subsection\<open>Monotonicity Theorems\<close>
 
-subsubsection{*Replacement in its Various Forms*}
+subsubsection\<open>Replacement in its Various Forms\<close>
 
 (*Not easy to express monotonicity in P, since any "bigger" predicate
   would have to be single-valued*)
@@ -525,7 +525,7 @@
 lemma Diff_mono: "[| A<=C;  D<=B |] ==> A-B \<subseteq> C-D"
 by blast
 
-subsubsection{*Standard Products, Sums and Function Spaces *}
+subsubsection\<open>Standard Products, Sums and Function Spaces\<close>
 
 lemma Sigma_mono [rule_format]:
      "[| A<=C;  !!x. x \<in> A \<longrightarrow> B(x) \<subseteq> D(x) |] ==> Sigma(A,B) \<subseteq> Sigma(C,D)"
@@ -543,7 +543,7 @@
 apply (erule RepFun_mono)
 done
 
-subsubsection{*Converse, Domain, Range, Field*}
+subsubsection\<open>Converse, Domain, Range, Field\<close>
 
 lemma converse_mono: "r<=s ==> converse(r) \<subseteq> converse(s)"
 by blast
@@ -565,7 +565,7 @@
 by (erule field_mono [THEN subset_trans], blast)
 
 
-subsubsection{*Images*}
+subsubsection\<open>Images\<close>
 
 lemma image_pair_mono:
     "[| !! x y. <x,y>:r ==> <x,y>:s;  A<=B |] ==> r``A \<subseteq> s``B"