src/HOL/Library/Multiset.thy
changeset 76570 608489919ecf
parent 76401 e7e8fbc89870
child 76589 1c083e32aed6
equal deleted inserted replaced
76560:df6ba3cf7874 76570:608489919ecf
  3431 instance
  3431 instance
  3432 proof intro_classes
  3432 proof intro_classes
  3433   fix M N :: "'a multiset"
  3433   fix M N :: "'a multiset"
  3434   show "(M < N) = (M \<le> N \<and> \<not> N \<le> M)"
  3434   show "(M < N) = (M \<le> N \<and> \<not> N \<le> M)"
  3435     unfolding less_eq_multiset_def less_multiset_def
  3435     unfolding less_eq_multiset_def less_multiset_def
  3436     by (metis irreflp_def irreflp_less irreflp_multp transpE transp_less transp_multp)
  3436     by (metis irreflp_def irreflp_on_less irreflp_multp transpE transp_less transp_multp)
  3437 next
  3437 next
  3438   fix M :: "'a multiset"
  3438   fix M :: "'a multiset"
  3439   show "M \<le> M"
  3439   show "M \<le> M"
  3440     unfolding less_eq_multiset_def
  3440     unfolding less_eq_multiset_def
  3441     by simp
  3441     by simp
  3448 next
  3448 next
  3449   fix M N :: "'a multiset"
  3449   fix M N :: "'a multiset"
  3450   show "M \<le> N \<Longrightarrow> N \<le> M \<Longrightarrow> M = N"
  3450   show "M \<le> N \<Longrightarrow> N \<le> M \<Longrightarrow> M = N"
  3451     unfolding less_eq_multiset_def less_multiset_def
  3451     unfolding less_eq_multiset_def less_multiset_def
  3452     using transp_multp[OF transp_less, THEN transpD]
  3452     using transp_multp[OF transp_less, THEN transpD]
  3453     using irreflp_multp[OF transp_less irreflp_less, unfolded irreflp_def, rule_format]
  3453     using irreflp_multp[OF transp_less irreflp_on_less, unfolded irreflp_def, rule_format]
  3454     by blast
  3454     by blast
  3455 qed
  3455 qed
  3456 
  3456 
  3457 end
  3457 end
  3458 
  3458