<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2019/index.php?action=history&amp;feed=atom&amp;title=Sol_14</id>
	<title>Sol 14 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?action=history&amp;feed=atom&amp;title=Sol_14"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Sol_14&amp;action=history"/>
	<updated>2026-09-21T16:17:41Z</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/LMF2019/index.php?title=Sol_14&amp;diff=805&amp;oldid=prev</id>
		<title>Mjoseh en 16:02 26 jun 2019</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Sol_14&amp;diff=805&amp;oldid=prev"/>
		<updated>2019-06-26T16:02:01Z</updated>

		<summary type="html">&lt;p&gt;&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 16:02 26 jun 2019&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/LMF2019/index.php?title=Sol_14&amp;diff=804&amp;oldid=prev</id>
		<title>Mjoseh en 16:01 26 jun 2019</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Sol_14&amp;diff=804&amp;oldid=prev"/>
		<updated>2019-06-26T16:01:50Z</updated>

		<summary type="html">&lt;p&gt;&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;
&lt;br /&gt;
theory R14_sol&lt;br /&gt;
imports Main&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 1. Hilbert publicó una axiomatización de la geometría que incluía los siguientes &lt;br /&gt;
  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 la línea l, definir el entorno &lt;br /&gt;
  local Geom en el que se verifiquen los 4 axiomas anteriores.&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&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:       &amp;quot;a ≠ b ⟹ ∃l. en a l ∧ en b l&amp;quot; &lt;br /&gt;
      and linea_por_dos_puntos_unica: &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:     &amp;quot;∃a b. a ≠ b ∧ en a l ∧ en b l&amp;quot;&lt;br /&gt;
      and tres_puntos_no_alineados:   &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;
  --------------------------------------------------------------------------------------------------&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;
&lt;br /&gt;
(* Demostración automática *)&lt;br /&gt;
lemma &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 detallada *)&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 using distintos by blast&lt;br /&gt;
qed        &lt;br /&gt;
  &lt;br /&gt;
text {*&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 3. Demostrar que no todos los puntos pertenecen a la misma línea.&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&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 detallada sin auto *)&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; 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;
text {*&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&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;
&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 detallada *)&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 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; using linea_por_dos_puntos by blast &lt;br /&gt;
  obtain w where n_wl: &amp;quot;¬ en w l&amp;quot; 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; using linea_por_dos_puntos xl by metis&lt;br /&gt;
  then have &amp;quot;l ≠ m&amp;quot; using n_wl by blast  &lt;br /&gt;
  then show ?thesis using wm xl by blast &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 5. Demostrar que dos líneas distintas no pueden tener más de un punto común.&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&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 detallada *)&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; using linea_por_dos_puntos_unica assms(2-5) by simp&lt;br /&gt;
   then show &amp;quot;False&amp;quot; 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;
  --------------------------------------------------------------------------------------------------&lt;br /&gt;
  Ejercicio 6. Extender el ámbito (&amp;quot;locale&amp;quot;) Geom definiendo la relación colineal tal que&lt;br /&gt;
  (colineal a b c) se verifica si existe una línea recta que pasa por los puntos a, b y c.&lt;br /&gt;
  --------------------------------------------------------------------------------------------------&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;
  --------------------------------------------------------------------------------------------------&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;
&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 detallada *)&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; 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; by blast&lt;br /&gt;
  then show ?thesis 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>