equal
deleted
inserted
replaced
3401 "a \<notin># K" "\<And>b. b \<in># K \<Longrightarrow> r b a" |
3401 "a \<notin># K" "\<And>b. b \<in># K \<Longrightarrow> r b a" |
3402 proof - |
3402 proof - |
3403 from assms obtain a M0 K where "M = add_mset a M0" "N = M0 + K" and |
3403 from assms obtain a M0 K where "M = add_mset a M0" "N = M0 + K" and |
3404 *: "b \<in># K \<Longrightarrow> r b a" for b by (blast elim: mult1E) |
3404 *: "b \<in># K \<Longrightarrow> r b a" for b by (blast elim: mult1E) |
3405 moreover from * [of a] have "a \<notin># K" |
3405 moreover from * [of a] have "a \<notin># K" |
3406 using \<open>asymp r\<close> by (meson asymp.cases) |
3406 using \<open>asymp r\<close> by (meson asympD) |
3407 ultimately show thesis by (auto intro: that) |
3407 ultimately show thesis by (auto intro: that) |
3408 qed |
3408 qed |
3409 |
3409 |
3410 lemma trans_mult: "trans r \<Longrightarrow> trans (mult r)" |
3410 lemma trans_mult: "trans r \<Longrightarrow> trans (mult r)" |
3411 by (simp add: mult_def) |
3411 by (simp add: mult_def) |