src/HOL/Library/Lattice_Algebras.thy
changeset 60500 903bb1495239
parent 58881 b9556a055632
child 60698 29e8bdc41f90
equal deleted inserted replaced
60499:54a3db2ed201 60500:903bb1495239
     1 (* Author: Steven Obua, TU Muenchen *)
     1 (* Author: Steven Obua, TU Muenchen *)
     2 
     2 
     3 section {* Various algebraic structures combined with a lattice *}
     3 section \<open>Various algebraic structures combined with a lattice\<close>
     4 
     4 
     5 theory Lattice_Algebras
     5 theory Lattice_Algebras
     6 imports Complex_Main
     6 imports Complex_Main
     7 begin
     7 begin
     8 
     8 
   108   then show ?thesis
   108   then show ?thesis
   109     by (simp add: algebra_simps)
   109     by (simp add: algebra_simps)
   110 qed
   110 qed
   111 
   111 
   112 
   112 
   113 subsection {* Positive Part, Negative Part, Absolute Value *}
   113 subsection \<open>Positive Part, Negative Part, Absolute Value\<close>
   114 
   114 
   115 definition nprt :: "'a \<Rightarrow> 'a"
   115 definition nprt :: "'a \<Rightarrow> 'a"
   116   where "nprt x = inf x 0"
   116   where "nprt x = inf x 0"
   117 
   117 
   118 definition pprt :: "'a \<Rightarrow> 'a"
   118 definition pprt :: "'a \<Rightarrow> 'a"
   442     by (simp add: algebra_simps)
   442     by (simp add: algebra_simps)
   443   have "- b \<le> \<bar>b\<bar>"
   443   have "- b \<le> \<bar>b\<bar>"
   444     by (rule abs_ge_minus_self)
   444     by (rule abs_ge_minus_self)
   445   then have "c + (- b) \<le> c + \<bar>b\<bar>"
   445   then have "c + (- b) \<le> c + \<bar>b\<bar>"
   446     by (rule add_left_mono)
   446     by (rule add_left_mono)
   447   with `a \<le> c + (- b)` show ?thesis
   447   with \<open>a \<le> c + (- b)\<close> show ?thesis
   448     by (rule order_trans)
   448     by (rule order_trans)
   449 qed
   449 qed
   450 
   450 
   451 class lattice_ring = ordered_ring + lattice_ab_group_add_abs
   451 class lattice_ring = ordered_ring + lattice_ab_group_add_abs
   452 begin
   452 begin