equal
deleted
inserted
replaced
678 |
678 |
679 lemma conversep_conversep [simp]: |
679 lemma conversep_conversep [simp]: |
680 "(r\<inverse>\<inverse>)\<inverse>\<inverse> = r" |
680 "(r\<inverse>\<inverse>)\<inverse>\<inverse> = r" |
681 by (fact converse_converse [to_pred]) |
681 by (fact converse_converse [to_pred]) |
682 |
682 |
|
683 lemma converse_empty[simp]: "{}\<inverse> = {}" |
|
684 by auto |
|
685 |
|
686 lemma converse_UNIV[simp]: "UNIV\<inverse> = UNIV" |
|
687 by auto |
|
688 |
683 lemma converse_relcomp: "(r O s)^-1 = s^-1 O r^-1" |
689 lemma converse_relcomp: "(r O s)^-1 = s^-1 O r^-1" |
684 by blast |
690 by blast |
685 |
691 |
686 lemma converse_relcompp: "(r OO s)^--1 = s^--1 OO r^--1" |
692 lemma converse_relcompp: "(r OO s)^--1 = s^--1 OO r^--1" |
687 by (iprover intro: order_antisym conversepI relcomppI |
693 by (iprover intro: order_antisym conversepI relcomppI |
760 by (auto simp add: fun_eq_iff) |
766 by (auto simp add: fun_eq_iff) |
761 |
767 |
762 lemma conversep_eq [simp]: "(op =)^--1 = op =" |
768 lemma conversep_eq [simp]: "(op =)^--1 = op =" |
763 by (auto simp add: fun_eq_iff) |
769 by (auto simp add: fun_eq_iff) |
764 |
770 |
765 lemma converse_unfold: |
771 lemma converse_unfold [code]: |
766 "r\<inverse> = {(y, x). (x, y) \<in> r}" |
772 "r\<inverse> = {(y, x). (x, y) \<in> r}" |
767 by (simp add: set_eq_iff) |
773 by (simp add: set_eq_iff) |
768 |
774 |
769 |
775 |
770 subsubsection {* Domain, range and field *} |
776 subsubsection {* Domain, range and field *} |