(* Interseccion_de_los_primos_y_los_mayores_que_dos.thy Los primos mayores que 2 son impares. José A. Alonso Jiménez Sevilla, 6-marzo-2024 ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- Los números primos, los mayores que 2 y los impares se definen por def primos = {n \ \ . prime n} def mayoresQue2 = {n \ \ . n > 2} def impares = {n \ \ . \ even n} Demostrar que primos \ mayoresQue2 \ impares ------------------------------------------------------------------- *) theory Interseccion_de_los_primos_y_los_mayores_que_dos imports Main "HOL-Number_Theory.Number_Theory" begin definition primos :: "nat set" where "primos = {n \ \ . prime n}" definition mayoresQue2 :: "nat set" where "mayoresQue2 = {n \ \ . n > 2}" definition impares :: "nat set" where "impares = {n \ \ . \ even n}" (* 1\ demostración *) lemma "primos \ mayoresQue2 \ impares" proof fix x assume "x \ primos \ mayoresQue2" then have "x \ \ \ prime x \ 2 < x" by (simp add: primos_def mayoresQue2_def) then have "x \ \ \ odd x" by (simp add: prime_odd_nat) then show "x \ impares" by (simp add: impares_def) qed (* 2\ demostración *) lemma "primos \ mayoresQue2 \ impares" unfolding primos_def mayoresQue2_def impares_def by (simp add: Collect_mono_iff Int_def prime_odd_nat) (* 3\ demostración *) lemma "primos \ mayoresQue2 \ impares" unfolding primos_def mayoresQue2_def impares_def by (auto simp add: prime_odd_nat) end