equal
deleted
inserted
replaced
893 apply (simp add: multirel_def) |
893 apply (simp add: multirel_def) |
894 apply (rule trancl_mono) |
894 apply (rule trancl_mono) |
895 apply (rule multirel1_mono, auto) |
895 apply (rule multirel1_mono, auto) |
896 done |
896 done |
897 |
897 |
898 (* Equivalence of multirel with the usual (closure-free) def *) |
898 (* Equivalence of multirel with the usual (closure-free) definition *) |
899 |
899 |
900 lemma add_diff_eq: "k \<in> nat ==> 0 < k \<longrightarrow> n #+ k #- 1 = n #+ (k #- 1)" |
900 lemma add_diff_eq: "k \<in> nat ==> 0 < k \<longrightarrow> n #+ k #- 1 = n #+ (k #- 1)" |
901 by (erule nat_induct, auto) |
901 by (erule nat_induct, auto) |
902 |
902 |
903 lemma mdiff_union_single_conv: "[|a \<in> mset_of(J); multiset(I); multiset(J) |] |
903 lemma mdiff_union_single_conv: "[|a \<in> mset_of(J); multiset(I); multiset(J) |] |