src/HOL/OrderedGroup.thy
changeset 15580 900291ee0af8
parent 15539 333a88244569
child 16417 9bc16273c2d4
equal deleted inserted replaced
15579:32bee18c675f 15580:900291ee0af8
   592     apply (simp)
   592     apply (simp)
   593     done
   593     done
   594   from a b show ?thesis by blast
   594   from a b show ?thesis by blast
   595 qed
   595 qed
   596 
   596 
       
   597 lemma pprt_0[simp]: "pprt 0 = 0" by (simp add: pprt_def)
       
   598 lemma nprt_0[simp]: "nprt 0 = 0" by (simp add: nprt_def)
       
   599 
       
   600 lemma pprt_eq_id[simp]: "0 <= x \<Longrightarrow> pprt x = x"
       
   601   by (simp add: pprt_def le_def_join join_aci)
       
   602 
       
   603 lemma nprt_eq_id[simp]: "x <= 0 \<Longrightarrow> nprt x = x"
       
   604   by (simp add: nprt_def le_def_meet meet_aci)
       
   605 
       
   606 lemma pprt_eq_0[simp]: "x <= 0 \<Longrightarrow> pprt x = 0"
       
   607   by (simp add: pprt_def le_def_join join_aci)
       
   608 
       
   609 lemma nprt_eq_0[simp]: "0 <= x \<Longrightarrow> nprt x = 0"
       
   610   by (simp add: nprt_def le_def_meet meet_aci)
       
   611 
   597 lemma join_0_imp_0: "join a (-a) = 0 \<Longrightarrow> a = (0::'a::lordered_ab_group)"
   612 lemma join_0_imp_0: "join a (-a) = 0 \<Longrightarrow> a = (0::'a::lordered_ab_group)"
   598 proof -
   613 proof -
   599   {
   614   {
   600     fix a::'a
   615     fix a::'a
   601     assume hyp: "join a (-a) = 0"
   616     assume hyp: "join a (-a) = 0"
   773 lemma le_zero_iff_pprt_id: "(0 \<le> a) = (pprt a = a)"
   788 lemma le_zero_iff_pprt_id: "(0 \<le> a) = (pprt a = a)"
   774 by (simp add: le_def_join pprt_def join_comm)
   789 by (simp add: le_def_join pprt_def join_comm)
   775 
   790 
   776 lemma zero_le_iff_nprt_id: "(a \<le> 0) = (nprt a = a)"
   791 lemma zero_le_iff_nprt_id: "(a \<le> 0) = (nprt a = a)"
   777 by (simp add: le_def_meet nprt_def meet_comm)
   792 by (simp add: le_def_meet nprt_def meet_comm)
       
   793 
       
   794 lemma pprt_mono[simp]: "(a::_::lordered_ab_group) <= b \<Longrightarrow> pprt a <= pprt b"
       
   795   by (simp add: le_def_join pprt_def join_aci)
       
   796 
       
   797 lemma nprt_mono[simp]: "(a::_::lordered_ab_group) <= b \<Longrightarrow> nprt a <= nprt b"
       
   798   by (simp add: le_def_meet nprt_def meet_aci)
   778 
   799 
   779 lemma iff2imp: "(A=B) \<Longrightarrow> (A \<Longrightarrow> B)"
   800 lemma iff2imp: "(A=B) \<Longrightarrow> (A \<Longrightarrow> B)"
   780 by (simp)
   801 by (simp)
   781 
   802 
   782 lemma imp_abs_id: "0 \<le> a \<Longrightarrow> abs a = (a::'a::lordered_ab_group_abs)"
   803 lemma imp_abs_id: "0 \<le> a \<Longrightarrow> abs a = (a::'a::lordered_ab_group_abs)"