src/HOL/Library/FSet.thy
changeset 72302 d7d90ed4c74e
parent 69712 dc85b5b3a532
child 72581 de581f98a3a1
equal deleted inserted replaced
72301:c5d1a01d2d6c 72302:d7d90ed4c74e
   598 
   598 
   599 (* FIXME: improve transferred to handle bounded meta quantification *)
   599 (* FIXME: improve transferred to handle bounded meta quantification *)
   600 
   600 
   601 lemma fcard_fempty:
   601 lemma fcard_fempty:
   602   "fcard {||} = 0"
   602   "fcard {||} = 0"
   603   by transfer (rule card_empty)
   603   by transfer (rule card.empty)
   604 
   604 
   605 lemma fcard_finsert_disjoint:
   605 lemma fcard_finsert_disjoint:
   606   "x |\<notin>| A \<Longrightarrow> fcard (finsert x A) = Suc (fcard A)"
   606   "x |\<notin>| A \<Longrightarrow> fcard (finsert x A) = Suc (fcard A)"
   607   by transfer (rule card_insert_disjoint)
   607   by transfer (rule card_insert_disjoint)
   608 
   608 
   630   assumes "a |\<in>| A" and "a |\<notin>| B"
   630   assumes "a |\<in>| A" and "a |\<notin>| B"
   631   shows "fcard (A |-| finsert a B) = fcard (A |-| B) - 1"
   631   shows "fcard (A |-| finsert a B) = fcard (A |-| B) - 1"
   632 using assms by transfer (rule card_Diff_insert)
   632 using assms by transfer (rule card_Diff_insert)
   633 
   633 
   634 lemma fcard_finsert: "fcard (finsert x A) = Suc (fcard (A |-| {|x|}))"
   634 lemma fcard_finsert: "fcard (finsert x A) = Suc (fcard (A |-| {|x|}))"
   635 by transfer (rule card_insert)
   635 by transfer (rule card.insert_remove)
   636 
   636 
   637 lemma fcard_finsert_le: "fcard A \<le> fcard (finsert x A)"
   637 lemma fcard_finsert_le: "fcard A \<le> fcard (finsert x A)"
   638 by transfer (rule card_insert_le)
   638 by transfer (rule card_insert_le)
   639 
   639 
   640 lemma fcard_mono:
   640 lemma fcard_mono: