(* La_composicion_de_funciones_biyectivas_es_biyectiva.thy -- La composición de funciones biyectivas es biyectiva. -- José A. Alonso Jiménez -- Sevilla, 21-junio-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que la composición de dos funciones biyectivas es una -- función biyectiva. -- ------------------------------------------------------------------ *) theory La_composicion_de_funciones_biyectivas_es_biyectiva imports Main begin (* 1\ demostración *) lemma assumes "bij f" "bij g" shows "bij (g \ f)" proof (rule bijI) show "inj (g \ f)" proof (rule inj_compose) show "inj g" using \bij g\ by (rule bij_is_inj) next show "inj f" using \bij f\ by (rule bij_is_inj) qed next show "surj (g \ f)" proof (rule comp_surj) show "surj f" using \bij f\ by (rule bij_is_surj) next show "surj g" using \bij g\ by (rule bij_is_surj) qed qed (* 2\ demostración *) lemma assumes "bij f" "bij g" shows "bij (g \ f)" proof (rule bijI) show "inj (g \ f)" proof (rule inj_compose) show "inj g" by (rule bij_is_inj [OF \bij g\]) next show "inj f" by (rule bij_is_inj [OF \bij f\]) qed next show "surj (g \ f)" proof (rule comp_surj) show "surj f" by (rule bij_is_surj [OF \bij f\]) next show "surj g" by (rule bij_is_surj [OF \bij g\]) qed qed (* 3\ demostración *) lemma assumes "bij f" "bij g" shows "bij (g \ f)" proof (rule bijI) show "inj (g \ f)" by (rule inj_compose [OF bij_is_inj [OF \bij g\] bij_is_inj [OF \bij f\]]) next show "surj (g \ f)" by (rule comp_surj [OF bij_is_surj [OF \bij f\] bij_is_surj [OF \bij g\]]) qed (* 4\ demostración *) lemma assumes "bij f" "bij g" shows "bij (g \ f)" by (rule bijI [OF inj_compose [OF bij_is_inj [OF \bij g\] bij_is_inj [OF \bij f\]] comp_surj [OF bij_is_surj [OF \bij f\] bij_is_surj [OF \bij g\]]]) (* 5\ demostración *) lemma assumes "bij f" "bij g" shows "bij (g \ f)" using assms by (rule bij_comp) (* Nota: Auto solve indica la demostración anterior. *) end