<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?action=history&amp;feed=atom&amp;title=Rel_14_%28sol%29</id>
	<title>Rel 14 (sol) - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?action=history&amp;feed=atom&amp;title=Rel_14_%28sol%29"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_14_(sol)&amp;action=history"/>
	<updated>2026-07-20T09:26:25Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_14_(sol)&amp;diff=1237&amp;oldid=prev</id>
		<title>Mjoseh: Protegió «Rel 14 (sol)» ([Editar=Solo administradores] (indefinido) [Trasladar=Solo administradores] (indefinido))</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_14_(sol)&amp;diff=1237&amp;oldid=prev"/>
		<updated>2020-05-28T06:56:16Z</updated>

		<summary type="html">&lt;p&gt;Protegió «&lt;a href=&quot;/~jalonso/LMF2020/index.php/Rel_14_(sol)&quot; title=&quot;Rel 14 (sol)&quot;&gt;Rel 14 (sol)&lt;/a&gt;» ([Editar=Solo administradores] (indefinido) [Trasladar=Solo administradores] (indefinido))&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 06:56 28 may 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_14_(sol)&amp;diff=1236&amp;oldid=prev</id>
		<title>Mjoseh: Página creada con «&lt;source lang = &quot;isabelle&quot;&gt; theory R14_sol imports Main  begin   text ‹------------------------------------------------------------------   Ejercicio 1. Hilbert publicó u…»</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_14_(sol)&amp;diff=1236&amp;oldid=prev"/>
		<updated>2020-05-28T06:56:05Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «&amp;lt;source lang = &amp;quot;isabelle&amp;quot;&amp;gt; theory R14_sol imports Main  begin   text ‹------------------------------------------------------------------   Ejercicio 1. Hilbert publicó u…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang = &amp;quot;isabelle&amp;quot;&amp;gt;&lt;br /&gt;
theory R14_sol&lt;br /&gt;
imports Main&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 1. Hilbert publicó una axiomatización de la geometría que &lt;br /&gt;
  incluía los siguientes  axiomas:&lt;br /&gt;
  1. Por dos puntos distintos pasa una línea recta.&lt;br /&gt;
  2. Por dos puntos distintos no pasa más de una línea recta.&lt;br /&gt;
  3. Toda línea tiene al menos dos puntos.&lt;br /&gt;
  4. Existen al menos tres puntos no alineados.&lt;br /&gt;
&lt;br /&gt;
  Usando la relacion en(p,l) para representar que el punto p está en &lt;br /&gt;
  la línea l, definir el entorno local Geom en el que se verifiquen los &lt;br /&gt;
  4 axiomas anteriores.&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
locale Geom =&lt;br /&gt;
  fixes en :: &amp;quot;&amp;#039;p ⇒ &amp;#039;l ⇒ bool&amp;quot;&lt;br /&gt;
  assumes linea_por_dos_puntos:       &lt;br /&gt;
            &amp;quot;a ≠ b ⟹ ∃l. en a l ∧ en b l&amp;quot; &lt;br /&gt;
      and linea_por_dos_puntos_unica: &lt;br /&gt;
            &amp;quot;⟦a ≠ b; en a l; en b l; en a m; en b m⟧ ⟹ l = m&amp;quot;&lt;br /&gt;
      and dos_puntos_de_la_linea:     &lt;br /&gt;
            &amp;quot;∃a b. a ≠ b ∧ en a l ∧ en b l&amp;quot;&lt;br /&gt;
      and tres_puntos_no_alineados:   &lt;br /&gt;
            &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ &lt;br /&gt;
                     ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot;&lt;br /&gt;
begin&lt;br /&gt;
  &lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 2. Demostrar que&lt;br /&gt;
    ∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma &lt;br /&gt;
  &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot;&lt;br /&gt;
  using tres_puntos_no_alineados by auto&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración estructurada ›&lt;br /&gt;
lemma tres_puntos_no_alineados_alt:&lt;br /&gt;
  &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a b c where distintos: &amp;quot;a ≠ b ∧ a ≠ c ∧ b ≠ c&amp;quot; &lt;br /&gt;
                                 &amp;quot;¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using tres_puntos_no_alineados by blast&lt;br /&gt;
  then have &amp;quot;∀l. en a l ∧ en b l ⟶ ¬ en c l&amp;quot;&lt;br /&gt;
    by blast&lt;br /&gt;
  then show ?thesis &lt;br /&gt;
    using distintos by blast&lt;br /&gt;
qed        &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración detallada ›&lt;br /&gt;
lemma &lt;br /&gt;
  &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have 1: &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    by (rule tres_puntos_no_alineados)&lt;br /&gt;
  obtain a b c where 2: &amp;quot;a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ &lt;br /&gt;
                         ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using 1 by (elim exE)&lt;br /&gt;
  then have 3: &amp;quot;a ≠ b&amp;quot; &lt;br /&gt;
    by (rule conjE)&lt;br /&gt;
  have 4: &amp;quot;a ≠ c ∧ b ≠ c ∧ ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using 2 by (rule conjE)&lt;br /&gt;
  then have 5: &amp;quot;a ≠ c&amp;quot; &lt;br /&gt;
    by (rule conjE)&lt;br /&gt;
  have 6: &amp;quot;b ≠ c ∧ ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using 4 by (rule conjE)&lt;br /&gt;
  then have 7: &amp;quot;b ≠ c&amp;quot; &lt;br /&gt;
    by (rule conjE)&lt;br /&gt;
  with 5 have 8: &amp;quot;a ≠ c ∧ b ≠ c&amp;quot;  &lt;br /&gt;
    by (rule conjI)&lt;br /&gt;
  with 3 have 9: &amp;quot;a ≠ b ∧ a ≠ c ∧ b ≠ c&amp;quot;  &lt;br /&gt;
    by (rule conjI)&lt;br /&gt;
  have  10: &amp;quot; ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using 6 by (rule conjE)&lt;br /&gt;
  have 12: &amp;quot;∀l. en a l ∧ en b l ⟶ ¬ en c l&amp;quot;&lt;br /&gt;
  proof (rule allI)&lt;br /&gt;
    fix l&lt;br /&gt;
    show &amp;quot;en a l ∧ en b l ⟶ ¬ en c l&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume 11: &amp;quot;en a l ∧ en b l&amp;quot;&lt;br /&gt;
      show &amp;quot;¬ en c l&amp;quot;&lt;br /&gt;
      proof (rule notI)&lt;br /&gt;
        assume &amp;quot;en c l&amp;quot;&lt;br /&gt;
        hence &amp;quot;en a l ∧ en b l ∧ en c l&amp;quot; &lt;br /&gt;
          using 11 by blast&lt;br /&gt;
        hence &amp;quot;∃l. en a l ∧ en b l ∧ en c l&amp;quot; &lt;br /&gt;
          by (rule exI)&lt;br /&gt;
        with 10 show False &lt;br /&gt;
          by (rule notE)&lt;br /&gt;
      qed&lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
  have &amp;quot;a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot; &lt;br /&gt;
    using 9 12 by blast&lt;br /&gt;
  then show &lt;br /&gt;
    &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot; &lt;br /&gt;
    by (intro exI)&lt;br /&gt;
qed      &lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 3. Demostrar que no todos los puntos pertenecen a la misma &lt;br /&gt;
  línea.&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración automática›&lt;br /&gt;
lemma &amp;quot;∀l. ∃x. ¬ en x l&amp;quot;&lt;br /&gt;
  using tres_puntos_no_alineados_alt by auto&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración estructurada ›&lt;br /&gt;
lemma punto_no_en_linea: &amp;quot;∀l. ∃x. ¬ en x l&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  fix l&lt;br /&gt;
  obtain a b c where l3: &amp;quot;¬ (en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    using tres_puntos_no_alineados by blast &lt;br /&gt;
  then show &amp;quot;∃x. ¬ en x l&amp;quot; by blast &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración detallada ›&lt;br /&gt;
lemma &amp;quot;∀l. ∃x. ¬ en x l&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix l&lt;br /&gt;
  have &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c &lt;br /&gt;
                ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot; &lt;br /&gt;
    by (rule tres_puntos_no_alineados_alt)&lt;br /&gt;
  then obtain a b c where &amp;quot;a ≠ b ∧ a ≠ c ∧ b ≠ c &lt;br /&gt;
                           ∧ (∀l. en a l ∧ en b l ⟶ ¬ en c l)&amp;quot; &lt;br /&gt;
    by (elim exE)&lt;br /&gt;
  then have &amp;quot;∀l. en a l ∧ en b l ⟶ ¬ en c l&amp;quot; &lt;br /&gt;
    by (elim conjE)&lt;br /&gt;
  then have 1:&amp;quot;en a l ∧ en b l ⟶ ¬ en c l&amp;quot; &lt;br /&gt;
    by (rule allE)&lt;br /&gt;
  show &amp;quot;∃x. ¬ en x l&amp;quot;&lt;br /&gt;
  proof (cases)&lt;br /&gt;
    assume &amp;quot;¬ en a l&amp;quot; then show &amp;quot;∃x. ¬ en x l&amp;quot; &lt;br /&gt;
      by (rule exI)&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;¬ ¬ en a l&amp;quot;&lt;br /&gt;
    then have &amp;quot;en a l&amp;quot; &lt;br /&gt;
      by (rule notnotD)&lt;br /&gt;
    then show &amp;quot;∃x. ¬ en x l&amp;quot;&lt;br /&gt;
    proof (cases)&lt;br /&gt;
      assume &amp;quot;en b l&amp;quot;&lt;br /&gt;
      with ‹en a l› have &amp;quot;en a l ∧ en b l&amp;quot; &lt;br /&gt;
        by (rule conjI)&lt;br /&gt;
      with 1 have &amp;quot;¬ en c l&amp;quot; &lt;br /&gt;
        by (rule mp)&lt;br /&gt;
      then show &amp;quot;∃x. ¬ en x l&amp;quot; &lt;br /&gt;
        by (rule exI)&lt;br /&gt;
    next&lt;br /&gt;
      assume &amp;quot;¬ en b l&amp;quot; then show &amp;quot;∃x. ¬ en x l&amp;quot; &lt;br /&gt;
        by (rule exI)&lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
                    &lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 4. Demostrar que por cada punto pasa más de una línea.&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma &amp;quot;∃l m. en x l ∧ en x m ∧ l ≠ m&amp;quot;&lt;br /&gt;
  by (metis linea_por_dos_puntos tres_puntos_no_alineados_alt)&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración estructurada ›&lt;br /&gt;
lemma dos_lineas_por_punto: &amp;quot;∃l m. en x l ∧ en x m ∧ l ≠ m&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain z where &amp;quot;z ≠ x&amp;quot; using dos_puntos_de_la_linea &lt;br /&gt;
    by metis&lt;br /&gt;
  then obtain l where xl: &amp;quot;en x l&amp;quot; and zl: &amp;quot;en z l&amp;quot; &lt;br /&gt;
    using linea_por_dos_puntos by blast &lt;br /&gt;
  obtain w where n_wl: &amp;quot;¬ en w l&amp;quot; &lt;br /&gt;
    using punto_no_en_linea by blast&lt;br /&gt;
  obtain m where wm: &amp;quot;en x m&amp;quot; and zm: &amp;quot;en w m&amp;quot; &lt;br /&gt;
    using linea_por_dos_puntos xl by metis&lt;br /&gt;
  then have &amp;quot;l ≠ m&amp;quot; &lt;br /&gt;
    using n_wl by blast  &lt;br /&gt;
  then show ?thesis &lt;br /&gt;
    using wm xl by blast &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 5. Demostrar que dos líneas distintas no pueden tener más &lt;br /&gt;
  de un punto común.&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma  &lt;br /&gt;
   assumes &amp;quot;l ≠ m&amp;quot; &lt;br /&gt;
           &amp;quot;en x l&amp;quot; &lt;br /&gt;
           &amp;quot;en x m&amp;quot; &lt;br /&gt;
           &amp;quot;en y l&amp;quot; &lt;br /&gt;
           &amp;quot;en y m&amp;quot; &lt;br /&gt;
   shows &amp;quot;x = y&amp;quot;&lt;br /&gt;
  using assms linea_por_dos_puntos_unica by blast&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración estructurada ›&lt;br /&gt;
lemma interseccion_lineas_distintas: &lt;br /&gt;
   assumes &amp;quot;l ≠ m&amp;quot; &lt;br /&gt;
           &amp;quot;en x l&amp;quot; &lt;br /&gt;
           &amp;quot;en x m&amp;quot; &lt;br /&gt;
           &amp;quot;en y l&amp;quot; &lt;br /&gt;
           &amp;quot;en y m&amp;quot; &lt;br /&gt;
   shows &amp;quot;x = y&amp;quot;&lt;br /&gt;
proof (rule ccontr)&lt;br /&gt;
  assume &amp;quot;x ≠ y&amp;quot; &lt;br /&gt;
  then have &amp;quot;l = m&amp;quot; &lt;br /&gt;
    using linea_por_dos_puntos_unica assms(2-5) by simp&lt;br /&gt;
  then show &amp;quot;False&amp;quot; &lt;br /&gt;
    using assms(1) by simp&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 6. Extender el ámbito (&amp;quot;locale&amp;quot;) Geom definiendo la relación &lt;br /&gt;
  colineal tal que (colineal a b c) se verifica si existe una línea &lt;br /&gt;
  recta que pasa por los puntos a, b y c.&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
definition (in Geom) &lt;br /&gt;
  colineal :: &amp;quot;&amp;#039;p ⇒ &amp;#039;p ⇒ &amp;#039;p ⇒ bool&amp;quot; &lt;br /&gt;
  where &amp;quot;colineal a b c ≡ ∃l. en a l ∧ en b l ∧ en c l&amp;quot;&lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 7. Demostrar que existen tres puntos a, b y c tales que&lt;br /&gt;
     ¬ colineal a b c&lt;br /&gt;
  ---------------------------------------------------------------------›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma (in Geom) &amp;quot;∃a b c. ¬ colineal a b c&amp;quot;&lt;br /&gt;
  using colineal_def tres_puntos_no_alineados by blast&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración estructurada ›&lt;br /&gt;
lemma (in Geom) &amp;quot;∃a b c. ¬ colineal a b c&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;∃a b c. a ≠ b ∧ a ≠ c ∧ b ≠ c ∧ &lt;br /&gt;
                ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    by (rule tres_puntos_no_alineados)&lt;br /&gt;
  then have &amp;quot;∃a b c. ¬ (∃l. en a l ∧ en b l ∧ en c l)&amp;quot; &lt;br /&gt;
    by blast&lt;br /&gt;
  then show ?thesis &lt;br /&gt;
    by (simp add: colineal_def)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
</feed>