src/HOL/Lattice/Orders.thy
changeset 61986 2461779da2b8
parent 61983 8fb53badad99
child 69597 ff784d5a5bfb
--- a/src/HOL/Lattice/Orders.thy	Wed Dec 30 18:24:36 2015 +0100
+++ b/src/HOL/Lattice/Orders.thy	Wed Dec 30 18:25:39 2015 +0100
@@ -2,20 +2,20 @@
     Author:     Markus Wenzel, TU Muenchen
 *)
 
-section {* Orders *}
+section \<open>Orders\<close>
 
 theory Orders imports Main begin
 
-subsection {* Ordered structures *}
+subsection \<open>Ordered structures\<close>
 
-text {*
+text \<open>
   We define several classes of ordered structures over some type @{typ
-  'a} with relation @{text "\<sqsubseteq> :: 'a \<Rightarrow> 'a \<Rightarrow> bool"}.  For a
+  'a} with relation \<open>\<sqsubseteq> :: 'a \<Rightarrow> 'a \<Rightarrow> bool\<close>.  For a
   \emph{quasi-order} that relation is required to be reflexive and
   transitive, for a \emph{partial order} it also has to be
   anti-symmetric, while for a \emph{linear order} all elements are
   required to be related (in either direction).
-*}
+\<close>
 
 class leq =
   fixes leq :: "'a \<Rightarrow> 'a \<Rightarrow> bool"  (infixl "\<sqsubseteq>" 50)
@@ -35,13 +35,13 @@
   by (insert leq_linear) blast
 
 
-subsection {* Duality *}
+subsection \<open>Duality\<close>
 
-text {*
+text \<open>
   The \emph{dual} of an ordered structure is an isomorphic copy of the
-  underlying type, with the @{text \<sqsubseteq>} relation defined as the inverse
+  underlying type, with the \<open>\<sqsubseteq>\<close> relation defined as the inverse
   of the original one.
-*}
+\<close>
 
 datatype 'a dual = dual 'a
 
@@ -64,10 +64,10 @@
 lemma dual_leq [iff?]: "(dual x \<sqsubseteq> dual y) = (y \<sqsubseteq> x)"
   by (simp add: leq_dual_def)
 
-text {*
+text \<open>
   \medskip Functions @{term dual} and @{term undual} are inverse to
   each other; this entails the following fundamental properties.
-*}
+\<close>
 
 lemma dual_undual [simp]: "dual (undual x') = x'"
   by (cases x') simp
@@ -78,11 +78,11 @@
 lemma dual_undual_id [simp]: "dual o undual = id"
   by (rule ext) simp
 
-text {*
+text \<open>
   \medskip Since @{term dual} (and @{term undual}) are both injective
   and surjective, the basic logical connectives (equality,
   quantification etc.) are transferred as follows.
-*}
+\<close>
 
 lemma undual_equality [iff?]: "(undual x' = undual y') = (x' = y')"
   by (cases x', cases y') simp
@@ -143,14 +143,14 @@
 qed
 
 
-subsection {* Transforming orders *}
+subsection \<open>Transforming orders\<close>
 
-subsubsection {* Duals *}
+subsubsection \<open>Duals\<close>
 
-text {*
+text \<open>
   The classes of quasi, partial, and linear orders are all closed
   under formation of dual structures.
-*}
+\<close>
 
 instance dual :: (quasi_order) quasi_order
 proof
@@ -183,13 +183,13 @@
 qed
 
 
-subsubsection {* Binary products \label{sec:prod-order} *}
+subsubsection \<open>Binary products \label{sec:prod-order}\<close>
 
-text {*
+text \<open>
   The classes of quasi and partial orders are closed under binary
   products.  Note that the direct product of linear orders need
   \emph{not} be linear in general.
-*}
+\<close>
 
 instantiation prod :: (leq, leq) leq
 begin
@@ -245,13 +245,13 @@
 qed
 
 
-subsubsection {* General products \label{sec:fun-order} *}
+subsubsection \<open>General products \label{sec:fun-order}\<close>
 
-text {*
+text \<open>
   The classes of quasi and partial orders are closed under general
   products (function spaces).  Note that the direct product of linear
   orders need \emph{not} be linear in general.
-*}
+\<close>
 
 instantiation "fun" :: (type, leq) leq
 begin