src/HOL/Lattice/Bounds.thy
changeset 21404 eb85850d3eb7
parent 19736 d8d0f8f51d69
child 22426 1c38ca2496c4
equal deleted inserted replaced
21403:dd58f13a8eb4 21404:eb85850d3eb7
    14   supremum (least upper bound) wrt.\ @{text \<sqsubseteq>} for two and for any
    14   supremum (least upper bound) wrt.\ @{text \<sqsubseteq>} for two and for any
    15   number of elements.
    15   number of elements.
    16 *}
    16 *}
    17 
    17 
    18 definition
    18 definition
    19   is_inf :: "'a::partial_order \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> bool"
    19   is_inf :: "'a::partial_order \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> bool" where
    20   "is_inf x y inf = (inf \<sqsubseteq> x \<and> inf \<sqsubseteq> y \<and> (\<forall>z. z \<sqsubseteq> x \<and> z \<sqsubseteq> y \<longrightarrow> z \<sqsubseteq> inf))"
    20   "is_inf x y inf = (inf \<sqsubseteq> x \<and> inf \<sqsubseteq> y \<and> (\<forall>z. z \<sqsubseteq> x \<and> z \<sqsubseteq> y \<longrightarrow> z \<sqsubseteq> inf))"
    21 
    21 
    22   is_sup :: "'a::partial_order \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> bool"
    22 definition
       
    23   is_sup :: "'a::partial_order \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> bool" where
    23   "is_sup x y sup = (x \<sqsubseteq> sup \<and> y \<sqsubseteq> sup \<and> (\<forall>z. x \<sqsubseteq> z \<and> y \<sqsubseteq> z \<longrightarrow> sup \<sqsubseteq> z))"
    24   "is_sup x y sup = (x \<sqsubseteq> sup \<and> y \<sqsubseteq> sup \<and> (\<forall>z. x \<sqsubseteq> z \<and> y \<sqsubseteq> z \<longrightarrow> sup \<sqsubseteq> z))"
    24 
    25 
    25   is_Inf :: "'a::partial_order set \<Rightarrow> 'a \<Rightarrow> bool"
    26 definition
       
    27   is_Inf :: "'a::partial_order set \<Rightarrow> 'a \<Rightarrow> bool" where
    26   "is_Inf A inf = ((\<forall>x \<in> A. inf \<sqsubseteq> x) \<and> (\<forall>z. (\<forall>x \<in> A. z \<sqsubseteq> x) \<longrightarrow> z \<sqsubseteq> inf))"
    28   "is_Inf A inf = ((\<forall>x \<in> A. inf \<sqsubseteq> x) \<and> (\<forall>z. (\<forall>x \<in> A. z \<sqsubseteq> x) \<longrightarrow> z \<sqsubseteq> inf))"
    27 
    29 
    28   is_Sup :: "'a::partial_order set \<Rightarrow> 'a \<Rightarrow> bool"
    30 definition
       
    31   is_Sup :: "'a::partial_order set \<Rightarrow> 'a \<Rightarrow> bool" where
    29   "is_Sup A sup = ((\<forall>x \<in> A. x \<sqsubseteq> sup) \<and> (\<forall>z. (\<forall>x \<in> A. x \<sqsubseteq> z) \<longrightarrow> sup \<sqsubseteq> z))"
    32   "is_Sup A sup = ((\<forall>x \<in> A. x \<sqsubseteq> sup) \<and> (\<forall>z. (\<forall>x \<in> A. x \<sqsubseteq> z) \<longrightarrow> sup \<sqsubseteq> z))"
    30 
    33 
    31 text {*
    34 text {*
    32   These definitions entail the following basic properties of boundary
    35   These definitions entail the following basic properties of boundary
    33   elements.
    36   elements.