src/HOL/Relation.thy
changeset 53680 c5096c22892b
parent 52749 ed416f4ac34e
child 54147 97a8ff4e4ac9
equal deleted inserted replaced
53679:81e244e71986 53680:c5096c22892b
   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 *}