(* Unicidad_de_inversos_en_monoides.thy -- Unicidad de inversos en monoides conmutativos. -- José A. Alonso Jiménez -- Sevilla, 8-mayo-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que en los monoides conmutativos, si un elemento tiene un -- inverso por la derecha, dicho inverso es único. -- ------------------------------------------------------------------ *) theory Unicidad_de_inversos_en_monoides imports Main begin context comm_monoid begin (* 1\ demostración *) lemma assumes "x \<^bold>* y = \<^bold>1" "x \<^bold>* z = \<^bold>1" shows "y = z" proof - have "y = \<^bold>1 \<^bold>* y" by (simp only: left_neutral) also have "\ = (x \<^bold>* z) \<^bold>* y" by (simp only: \x \<^bold>* z = \<^bold>1\) also have "\ = (z \<^bold>* x) \<^bold>* y" by (simp only: commute) also have "\ = z \<^bold>* (x \<^bold>* y)" by (simp only: assoc) also have "\ = z \<^bold>* \<^bold>1" by (simp only: \x \<^bold>* y = \<^bold>1\) also have "\ = z" by (simp only: right_neutral) finally show "y = z" by this qed (* 2\ demostración *) lemma assumes "x \<^bold>* y = \<^bold>1" "x \<^bold>* z = \<^bold>1" shows "y = z" proof - have "y = \<^bold>1 \<^bold>* y" by simp also have "\ = (x \<^bold>* z) \<^bold>* y" using assms(2) by simp also have "\ = (z \<^bold>* x) \<^bold>* y" by simp also have "\ = z \<^bold>* (x \<^bold>* y)" by simp also have "\ = z \<^bold>* \<^bold>1" using assms(1) by simp also have "\ = z" by simp finally show "y = z" by this qed (* 3\ demostración *) lemma assumes "x \<^bold>* y = \<^bold>1" "x \<^bold>* z = \<^bold>1" shows "y = z" using assms by auto end end