strengthened and renamed lemma trans_converse and added lemma transp_on_conversep
authordesharna
Mon, 19 Dec 2022 16:12:17 +0100
changeset 76752 66cae055ac7b
parent 76751 66f17783913b
child 76753 91d2903bfbcb
strengthened and renamed lemma trans_converse and added lemma transp_on_conversep
NEWS
src/HOL/Relation.thy
--- a/NEWS	Mon Dec 19 16:07:44 2022 +0100
+++ b/NEWS	Mon Dec 19 16:12:17 2022 +0100
@@ -45,6 +45,7 @@
     for backward compatibility but their usage is discouraged.
     Minor INCOMPATIBILITY.
   - Strengthened (and renamed) lemmas. Minor INCOMPATIBILITY.
+      antisym_converse[simp] ~> antisym_on_converse[simp]
       order.antisymp_ge[simp] ~> order.antisymp_on_ge[simp]
       order.antisymp_le[simp] ~> order.antisymp_on_le[simp]
       preorder.asymp_greater[simp] ~> preorder.asymp_on_greater[simp]
@@ -56,9 +57,9 @@
       preorder.transp_le[simp] ~> preorder.transp_on_le[simp]
       preorder.transp_less[simp] ~> preorder.transp_on_less[simp]
       reflp_equality[simp] ~> reflp_on_equality[simp]
+      sym_converse[simp] ~> sym_on_converse[simp]
       total_on_singleton
-      sym_converse[simp] ~> sym_on_converse[simp]
-      antisym_converse[simp] ~> antisym_on_converse[simp]
+      trans_converse[simp] ~> trans_on_converse[simp]
   - Added lemmas.
       antisym_onD
       antisym_onI
@@ -119,6 +120,7 @@
       trans_on_subset
       transp_onD
       transp_onI
+      transp_on_conversep
       transp_on_subset
       transp_on_trans_on_eq[pred_set_conv]
 
--- a/src/HOL/Relation.thy	Mon Dec 19 16:07:44 2022 +0100
+++ b/src/HOL/Relation.thy	Mon Dec 19 16:12:17 2022 +0100
@@ -1179,8 +1179,11 @@
 lemma antisymp_on_conversep [simp]: "antisymp_on A R\<inverse>\<inverse> = antisymp_on A R"
   by (rule antisym_on_converse[to_pred])
 
-lemma trans_converse [simp]: "trans (converse r) = trans r"
-  unfolding trans_def by blast
+lemma trans_on_converse [simp]: "trans_on A (r\<inverse>) = trans_on A r"
+  by (auto intro: trans_onI dest: trans_onD)
+
+lemma transp_on_conversep [simp]: "transp_on A R\<inverse>\<inverse> = transp_on A R"
+  by (rule trans_on_converse[to_pred])
 
 lemma sym_conv_converse_eq: "sym r \<longleftrightarrow> r\<inverse> = r"
   unfolding sym_def by fast