(* Distributiva_de_la_interseccion_respecto_de_la_union_general.lean s \ (\ i, A i) = \ i, (A i \ s) José A. Alonso Jiménez Sevilla, 7-marzo-2024 ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- Demostrar que s \ (\ i, A i) = \ i, (A i \ s) ------------------------------------------------------------------- *) theory Distributiva_de_la_interseccion_respecto_de_la_union_general imports Main begin (* 1\ demostración *) lemma "s \ (\ i \ I. A i) = (\ i \ I. (A i \ s))" proof (rule equalityI) show "s \ (\ i \ I. A i) \ (\ i \ I. (A i \ s))" proof (rule subsetI) fix x assume "x \ s \ (\ i \ I. A i)" then have "x \ s" by (simp only: IntD1) have "x \ (\ i \ I. A i)" using \x \ s \ (\ i \ I. A i)\ by (simp only: IntD2) then show "x \ (\ i \ I. (A i \ s))" proof (rule UN_E) fix i assume "i \ I" assume "x \ A i" then have "x \ A i \ s" using \x \ s\ by (rule IntI) with \i \ I\ show "x \ (\ i \ I. (A i \ s))" by (rule UN_I) qed qed next show "(\ i \ I. (A i \ s)) \ s \ (\ i \ I. A i)" proof (rule subsetI) fix x assume "x \ (\ i \ I. A i \ s)" then show "x \ s \ (\ i \ I. A i)" proof (rule UN_E) fix i assume "i \ I" assume "x \ A i \ s" then have "x \ A i" by (rule IntD1) have "x \ s" using \x \ A i \ s\ by (rule IntD2) moreover have "x \ (\ i \ I. A i)" using \i \ I\ \x \ A i\ by (rule UN_I) ultimately show "x \ s \ (\ i \ I. A i)" by (rule IntI) qed qed qed (* 2\ demostración *) lemma "s \ (\ i \ I. A i) = (\ i \ I. (A i \ s))" proof show "s \ (\ i \ I. A i) \ (\ i \ I. (A i \ s))" proof fix x assume "x \ s \ (\ i \ I. A i)" then have "x \ s" by simp have "x \ (\ i \ I. A i)" using \x \ s \ (\ i \ I. A i)\ by simp then show "x \ (\ i \ I. (A i \ s))" proof fix i assume "i \ I" assume "x \ A i" then have "x \ A i \ s" using \x \ s\ by simp with \i \ I\ show "x \ (\ i \ I. (A i \ s))" by (rule UN_I) qed qed next show "(\ i \ I. (A i \ s)) \ s \ (\ i \ I. A i)" proof fix x assume "x \ (\ i \ I. A i \ s)" then show "x \ s \ (\ i \ I. A i)" proof fix i assume "i \ I" assume "x \ A i \ s" then have "x \ A i" by simp have "x \ s" using \x \ A i \ s\ by simp moreover have "x \ (\ i \ I. A i)" using \i \ I\ \x \ A i\ by (rule UN_I) ultimately show "x \ s \ (\ i \ I. A i)" by simp qed qed qed (* 3\ demostración *) lemma "s \ (\ i \ I. A i) = (\ i \ I. (A i \ s))" by auto end