equal
deleted
inserted
replaced
438 proof induct |
438 proof induct |
439 case UNIV |
439 case UNIV |
440 show ?case by (intro exI[of _ "{{}}"]) simp |
440 show ?case by (intro exI[of _ "{{}}"]) simp |
441 next |
441 next |
442 case (Int a b) |
442 case (Int a b) |
443 then obtain x y where x: "a = UNION x Inter" "\<And>i. i \<in> x \<Longrightarrow> finite i \<and> i \<subseteq> B" |
443 then obtain x y where x: "a = \<Union>(Inter ` x)" "\<And>i. i \<in> x \<Longrightarrow> finite i \<and> i \<subseteq> B" |
444 and y: "b = UNION y Inter" "\<And>i. i \<in> y \<Longrightarrow> finite i \<and> i \<subseteq> B" |
444 and y: "b = \<Union>(Inter ` y)" "\<And>i. i \<in> y \<Longrightarrow> finite i \<and> i \<subseteq> B" |
445 by blast |
445 by blast |
446 show ?case |
446 show ?case |
447 unfolding x y Int_UN_distrib2 |
447 unfolding x y Int_UN_distrib2 |
448 by (intro exI[of _ "{i \<union> j| i j. i \<in> x \<and> j \<in> y}"]) (auto dest: x(2) y(2)) |
448 by (intro exI[of _ "{i \<union> j| i j. i \<in> x \<and> j \<in> y}"]) (auto dest: x(2) y(2)) |
449 next |
449 next |
450 case (UN K) |
450 case (UN K) |
451 then have "\<forall>k\<in>K. \<exists>B'\<subseteq>{b. finite b \<and> b \<subseteq> B}. UNION B' Inter = k" by auto |
451 then have "\<forall>k\<in>K. \<exists>B'\<subseteq>{b. finite b \<and> b \<subseteq> B}. UNION B' Inter = k" by auto |
452 then obtain k where |
452 then obtain k where |
453 "\<forall>ka\<in>K. k ka \<subseteq> {b. finite b \<and> b \<subseteq> B} \<and> UNION (k ka) Inter = ka" |
453 "\<forall>ka\<in>K. k ka \<subseteq> {b. finite b \<and> b \<subseteq> B} \<and> \<Union>(Inter ` (k ka)) = ka" |
454 unfolding bchoice_iff .. |
454 unfolding bchoice_iff .. |
455 then show "\<exists>B'\<subseteq>{b. finite b \<and> b \<subseteq> B}. UNION B' Inter = \<Union>K" |
455 then show "\<exists>B'\<subseteq>{b. finite b \<and> b \<subseteq> B}. UNION B' Inter = \<Union>K" |
456 by (intro exI[of _ "UNION K k"]) auto |
456 by (intro exI[of _ "\<Union>(k ` K)"]) auto |
457 next |
457 next |
458 case (Basis S) |
458 case (Basis S) |
459 then show ?case |
459 then show ?case |
460 by (intro exI[of _ "{{S}}"]) auto |
460 by (intro exI[of _ "{{S}}"]) auto |
461 qed |
461 qed |