# HG changeset patch # User haftmann # Date 1481984520 -3600 # Node ID 142ac30b68fe72894067ba3a6e3fd0941ef9119b # Parent 2edac4e139181ed800bae63fe562418525dbca0c added lemmas demanded by FIXMEs diff -r 2edac4e13918 -r 142ac30b68fe src/HOL/Relation.thy --- a/src/HOL/Relation.thy Sat Dec 17 15:22:00 2016 +0100 +++ b/src/HOL/Relation.thy Sat Dec 17 15:22:00 2016 +0100 @@ -389,8 +389,9 @@ lemma trans_INTER: "\x\S. trans (r x) \ trans (INTER S r)" by (fast intro: transI elim: transD) -(* FIXME thm trans_INTER [to_pred] *) - +lemma transp_INF: "\x\S. transp (r x) \ transp (INFIMUM S r)" + by (fact trans_INTER [to_pred]) + lemma trans_join [code]: "trans r \ (\(x, y1) \ r. \(y2, z) \ r. y1 = y2 \ (x, z) \ r)" by (auto simp add: trans_def) @@ -620,13 +621,15 @@ lemma relcomp_UNION_distrib: "s O UNION I r = (\i\I. s O r i) " by auto -(* FIXME thm relcomp_UNION_distrib [to_pred] *) - +lemma relcompp_SUP_distrib: "s OO SUPREMUM I r = (\i\I. s OO r i)" + by (fact relcomp_UNION_distrib [to_pred]) + lemma relcomp_UNION_distrib2: "UNION I r O s = (\i\I. r i O s) " by auto -(* FIXME thm relcomp_UNION_distrib2 [to_pred] *) - +lemma relcompp_SUP_distrib2: "SUPREMUM I r OO s = (\i\I. r i OO s)" + by (fact relcomp_UNION_distrib2 [to_pred]) + lemma single_valued_relcomp: "single_valued r \ single_valued s \ single_valued (r O s)" unfolding single_valued_def by blast