lemma card_less_if_surj_not_inj: "[ finite A; f ` A = B; ¬ inj_on f A ]==> card B < card A" by (metis card_image_le inj_on_iff_eq_card order_le_neq_trans)
theorem Bondy : assumes"∀A ∈ F. A ⊆ X"and"card X ≥ 1"and"card F = card X" shows"∃D. D ⊆ X & card D < card X & card (inter D ` F) = card F" proof - from assms(2,3) have"finite F"and"finite X" by (metis card.infinite not_one_le_zero)+
{ fix m have"m < card F ==>∃D. D ⊆ X & card D ≤ m & card (inter D ` F) ≥ m + 1" proof (induction m) case0 hence"{} ⊆ X & card {} ≤ 0 & card (inter {} ` F) ≥ 0 + 1" by auto (metis Suc_leI card_eq_0_iff empty_is_image finite_imageI gr0I) thus"∃D. (D ⊆ X & card D ≤ 0 & card (inter D ` F) ≥ 0 + 1)"by blast next case (Suc m) hence"m < card F"by arith with Suc.IH obtain D where D: "D ⊆ X ∧ card D ≤ m ∧ m + 1 ≤ card (inter D ` F)"by auto with‹finite X›have"finite D"by (auto intro: finite_subset) show ?case proof (cases "card (inter D ` F) = card F") case True hence"D ⊆ X ∧ card D ≤ Suc m ∧ Suc m + 1 ≤ card(inter D ` F)" using D Suc.prems by auto thus ?thesis by blast next case False hence"~ inj_on (inter D) F"by (auto simp: card_image) thenobtain A1 A2 where"A1 ∈ F"and"A2 ∈ F"and "D ∩ A1 = D ∩ A2"and"A1 ≠ A2"by (auto simp: inj_on_def) thenobtain x where x: "x : (A1 - A2) ∪ (A2 - A1)"by auto from‹∀A ∈ F. A ⊆ X›‹A1 ∈ F›‹A2 ∈ F› x have"x : X"by auto let ?E = "insert x D" from D ‹finite D›have"card ?E ≤ Suc m" by (metis (full_types) Suc_le_mono card_insert_if le_Suc_eq) moreoverwith D ‹x:X›have"?E ⊆ X"by auto moreoverhave"Suc m < card (inter ?E ` F)" proof - from‹D ∩ A1 = D ∩ A2›have1: "(D ∩ (?E ∩ A1)) = (D ∩ (?E ∩ A2))" by auto from x have2: "?E Int A1 ≠ ?E Int A2"by auto have3: "inter D ∘ inter ?E = inter D"by auto have4: "~ inj_on (inter D) (inter ?E ` F)" unfolding inj_on_def using12‹A1 ∈ F›‹A2 ∈ F›by blast from D have"Suc m ≤ card (inter D ` F)"by auto alsohave"... < card (inter ?E ` F)" by (rule card_less_if_surj_not_inj[of _ "inter D"])
(auto simp add: image_image 34‹finite F›) finallyshow ?thesis . qed ultimatelyhave"?E⊆X ∧ card ?E ≤ Suc m ∧ Suc m + 1 ≤ card (inter ?E ` F)" by auto thus"∃D⊆X. card D ≤ Suc m ∧ Suc m + 1 ≤ card (inter D ` F)"by blast qed qed
} moreoverfrom assms(2,3) have"card X - 1 < card F"by auto ultimatelyobtain D where "D ⊆ X & card D ≤ card X - 1 & card (inter D ` F) ≥ (card X - 1) + 1" by auto moreoverwith‹finite F›have"card (inter D ` F) ≤ card F" by (elim card_image_le) ultimatelyhave"D ⊆ X & card D < card X & card (inter D ` F) = card F" using‹card F = card X›by auto thus ?thesis by auto qed
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.