<?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=R15</id>
	<title>R15 - 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=R15"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=R15&amp;action=history"/>
	<updated>2026-07-20T09:20:54Z</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=R15&amp;diff=1239&amp;oldid=prev</id>
		<title>Mjoseh: Protegió «R15» ([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=R15&amp;diff=1239&amp;oldid=prev"/>
		<updated>2020-05-28T06:58:39Z</updated>

		<summary type="html">&lt;p&gt;Protegió «&lt;a href=&quot;/~jalonso/LMF2020/index.php/R15&quot; title=&quot;R15&quot;&gt;R15&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:58 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=R15&amp;diff=1238&amp;oldid=prev</id>
		<title>Mjoseh: Página creada con «&lt;source lang = &quot;isabelle&quot;&gt; chapter ‹ R15: Definiciones inductivas: clausuras ›  theory R15 imports Main begin   section ‹ La clausura reflexiva transitiva ›  text…»</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=R15&amp;diff=1238&amp;oldid=prev"/>
		<updated>2020-05-28T06:58:20Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «&amp;lt;source lang = &amp;quot;isabelle&amp;quot;&amp;gt; chapter ‹ R15: Definiciones inductivas: clausuras ›  theory R15 imports Main begin   section ‹ La clausura reflexiva transitiva ›  text…»&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;
chapter ‹ R15: Definiciones inductivas: clausuras ›&lt;br /&gt;
&lt;br /&gt;
theory R15&lt;br /&gt;
imports Main&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
section ‹ La clausura reflexiva transitiva ›&lt;br /&gt;
&lt;br /&gt;
text ‹&lt;br /&gt;
  · Las definiciones inductivas aceptan parámetros; por tanto, permite&lt;br /&gt;
    expresar funciones que construyen conjuntos.&lt;br /&gt;
&lt;br /&gt;
  · La relaciones binarias son conjuntos de pares; por tanto, se pueden&lt;br /&gt;
   definir inductivamente.&lt;br /&gt;
›&lt;br /&gt;
&lt;br /&gt;
text ‹&lt;br /&gt;
  · La clausura reflexiva y transitiva de una relación r es la menor&lt;br /&gt;
   relación reflexiva y transitiva que contiene a r. &lt;br /&gt;
&lt;br /&gt;
  · Se representa por r*.&lt;br /&gt;
&lt;br /&gt;
  · Se puede definir inductivamente, como conjunto:&lt;br /&gt;
    · (x,x) ∈ r*&lt;br /&gt;
    · Si (x,y) ∈ r e (y,z) ∈ r*, entonces (x,z) ∈ r*&lt;br /&gt;
&lt;br /&gt;
  · La definición inductiva, como conjunto, se puede expresar en &lt;br /&gt;
   Isabelle/HOL como sigue: &lt;br /&gt;
›&lt;br /&gt;
&lt;br /&gt;
inductive_set&lt;br /&gt;
  crt :: &amp;quot;(&amp;#039;a × &amp;#039;a) set ⇒ (&amp;#039;a × &amp;#039;a) set&amp;quot;   (&amp;quot;_*&amp;quot; [1000] 999)&lt;br /&gt;
  for r :: &amp;quot;(&amp;#039;a × &amp;#039;a) set&amp;quot;&lt;br /&gt;
where&lt;br /&gt;
  crt_refl [iff]: &amp;quot;(x,x) ∈ r*&amp;quot;&lt;br /&gt;
| crt_paso:       &amp;quot;⟦(x,y) ∈ r; (y,z) ∈ r* ⟧ ⟹ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
text ‹&lt;br /&gt;
  Notas:&lt;br /&gt;
  · La sintaxis concreta permite escribir r* en lugar de (crt r).&lt;br /&gt;
  · La definición consta de dos reglas.&lt;br /&gt;
  · A la regla reflexiva se le añade el atributo iff para aumentar la&lt;br /&gt;
    automatización. &lt;br /&gt;
  · A la regla del paso no se le añade ningún atributo, porque r* ocurre&lt;br /&gt;
   en la izquierda. &lt;br /&gt;
  · En el resto de esta sección se demuestra que esta definición&lt;br /&gt;
   coincide con la menor relación reflexiva y transitiva que contiene a&lt;br /&gt;
   r.  &lt;br /&gt;
›&lt;br /&gt;
&lt;br /&gt;
text ‹Lema. La relación r* es reflexiva.›&lt;br /&gt;
&lt;br /&gt;
lemma &amp;quot;(x,x) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
text ‹Lema. La relación r* contiene a r.›&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración aplicativa es ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r ⟹ (x,y) ∈ r*&amp;quot;  &lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma r_contenida_clausura [intro]: &lt;br /&gt;
  &amp;quot;(x,y) ∈ r ⟹ (x,y) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
    &lt;br /&gt;
― ‹La demostración declarativa es ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r ⟹ (x,y) ∈ r*&amp;quot;  &lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
text ‹&lt;br /&gt;
  Notas:&lt;br /&gt;
  · La ventaja del lema es que se puede declarar como regla de&lt;br /&gt;
    introducción, porque r* ocurre sólo en la derecha.&lt;br /&gt;
  · Con la declaración, algunas demostraciones que usan crt_paso se&lt;br /&gt;
    hacen de manera automática.&lt;br /&gt;
›&lt;br /&gt;
&lt;br /&gt;
text ‹El esquema de inducción de la clausura reflexiva transitiva es&lt;br /&gt;
  · crt.induct:&lt;br /&gt;
    ⟦(x1, x2) ∈ r*; &lt;br /&gt;
     ⋀x. P x x; &lt;br /&gt;
     ⋀x y z. ⟦(x,y) ∈ r; (y,z) ∈ r*; P y z⟧ ⟹ P x z⟧&lt;br /&gt;
    ⟹ P x1 x2&lt;br /&gt;
›&lt;br /&gt;
&lt;br /&gt;
text ‹Lema. La relación r* es transitiva.›&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración aplicativa es›&lt;br /&gt;
lemma &amp;quot;⟦(x,y) ∈ r*; (y,z) ∈ r*⟧ ⟹ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma &amp;quot;⟦(x,y) ∈ r*; (y,z) ∈ r*⟧ ⟹ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración declarativa es ›&lt;br /&gt;
lemma assumes &amp;quot;(x,y) ∈ r*&amp;quot; and&lt;br /&gt;
              &amp;quot;(y,z) ∈ r*&amp;quot; &lt;br /&gt;
      shows   &amp;quot;(x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
text ‹Otra formulación del lema, con la variable y a la derecha.›&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración aplicativa es›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r* ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r* ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración declarativa ›&lt;br /&gt;
lemma crt_trans [rule_format]:&lt;br /&gt;
  &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r* ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
text ‹Notas:&lt;br /&gt;
  · La reformulación anterior es un caso particular de la siguiente&lt;br /&gt;
    heurística:&lt;br /&gt;
       &amp;quot;Para probar una fórmula por inducción sobre (x1,...,xn) ∈ R,&lt;br /&gt;
       poner todas las premisas conteniendo cualquiera de lax xi en la&lt;br /&gt;
       conclusión usando ⟶&amp;quot;. &lt;br /&gt;
  · El atributo &amp;quot;rule_format&amp;quot; transforma ⟶ en ⟹.›&lt;br /&gt;
&lt;br /&gt;
text ‹La relación r* está contenida en cualquier relación reflexiva y &lt;br /&gt;
  transitiva que contenga a r.&lt;br /&gt;
&lt;br /&gt;
  Mediante (crt2 r) se define la menor relación reflexiva y transitiva &lt;br /&gt;
  que contiene a r.›&lt;br /&gt;
&lt;br /&gt;
inductive_set&lt;br /&gt;
  crt2 :: &amp;quot;(&amp;#039;a × &amp;#039;a)set ⇒ (&amp;#039;a × &amp;#039;a)set&amp;quot;&lt;br /&gt;
  for r :: &amp;quot;(&amp;#039;a × &amp;#039;a)set&amp;quot;&lt;br /&gt;
where&lt;br /&gt;
  &amp;quot;(x,y) ∈ r ⟹ (x,y) ∈ crt2 r&amp;quot;                      (* contiene a r *) &lt;br /&gt;
| &amp;quot;(x,x) ∈ crt2 r&amp;quot;                                      (* reflexiva *)&lt;br /&gt;
| &amp;quot;⟦(x,y) ∈ crt2 r; (y,z) ∈ crt2 r⟧ ⟹ (x,z) ∈ crt2 r&amp;quot; (* transitiva *)&lt;br /&gt;
&lt;br /&gt;
text ‹Probaremos que r* coincide con (crt2 r) ›&lt;br /&gt;
&lt;br /&gt;
text ‹Lema. La relación (crt2 r) está contenida en r*.›&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ crt2 r ⟹ (x,y) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración automática›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ crt2 r ⟹ (x,y) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración declarativa ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ crt2 r ⟹ (x,y) ∈ r*&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
text ‹Lema. La relación r* está contenida en (crt2 r).›&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (x,y) ∈ crt2 r&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración automática ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (x,y) ∈ crt2 r&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración declarativa ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (x,y) ∈ crt2 r&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
text ‹------------------------------------------------------------------ &lt;br /&gt;
  Ejercicio 1. Demostrar que si (x,y) ∈ r* e (y,z) ∈ r, entonces &lt;br /&gt;
  (x,z) ∈ r*&lt;br /&gt;
  ------------------------------------------------------------------- ›&lt;br /&gt;
&lt;br /&gt;
― ‹Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹Demostración declarativa ›&lt;br /&gt;
lemma crt_paso2 [rule_format]: &lt;br /&gt;
  &amp;quot;(x,y) ∈ r* ⟹ (y,z) ∈ r ⟶ (x,z) ∈ r*&amp;quot;&lt;br /&gt;
   oops &lt;br /&gt;
&lt;br /&gt;
text ‹---------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Considerar la siguiente definición de la clausura tran-&lt;br /&gt;
  sitiva de una relación r, y probar que es la menor relación reflexiva &lt;br /&gt;
  y transitiva que contiene a r.&lt;br /&gt;
&lt;br /&gt;
  Nota: Establecer los lemas necesarios.&lt;br /&gt;
  ------------------------------------------------------------------- ›&lt;br /&gt;
&lt;br /&gt;
inductive star&amp;#039; :: &amp;quot;(&amp;#039;a ⇒ &amp;#039;a ⇒ bool) ⇒ &amp;#039;a ⇒ &amp;#039;a ⇒ bool&amp;quot; for r where&lt;br /&gt;
  refl&amp;#039;: &amp;quot;star&amp;#039; r x x&amp;quot; &lt;br /&gt;
| step&amp;#039;: &amp;quot;star&amp;#039; r x y ⟹ r y z ⟹ star&amp;#039; r x z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración de que (star&amp;#039; r) es reflexiva ›&lt;br /&gt;
lemma star&amp;#039;Refl: &amp;quot;star&amp;#039; r x x&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa de r contenida en (star&amp;#039; r) ›&lt;br /&gt;
lemma &amp;quot;r x y ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática de r contenida en (star&amp;#039; r) ›&lt;br /&gt;
lemma &amp;quot;r x y ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
    &lt;br /&gt;
― ‹ Demostración declarativa de r contenida en (star&amp;#039; r) ›    &lt;br /&gt;
lemma rsubsetStar&amp;#039;: &amp;quot;r x y ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
   oops &lt;br /&gt;
&lt;br /&gt;
text ‹ A continuación se prueba una condición suficiente para star&amp;#039; r ›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa ›&lt;br /&gt;
lemma &lt;br /&gt;
  &amp;quot;⟦star&amp;#039; r y z; r x y⟧ ⟹ star&amp;#039; r x z&amp;quot;&lt;br /&gt;
  oops&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma star&amp;#039;_subset_star&amp;#039;_l1:&lt;br /&gt;
  &amp;quot;⟦star&amp;#039; r y z; r x y⟧ ⟹ star&amp;#039; r x z&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostraciones de que  (star&amp;#039; r) es transitiva ›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;⟦star&amp;#039; r x y; star&amp;#039; r y z⟧ ⟹ star&amp;#039; r x z&amp;quot;   &lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma star&amp;#039;Trans: &lt;br /&gt;
  &amp;quot;⟦star&amp;#039; r x y; star&amp;#039; r y z⟧ ⟹ star&amp;#039; r x z&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
   &lt;br /&gt;
text ‹  &lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Considerar la siguiente definición inductiva. Probar que &lt;br /&gt;
  &amp;quot;star&amp;#039; r x y syss (∃n. iter r n x y)&amp;quot;&lt;br /&gt;
  ------------------------------------------------------------------- ›&lt;br /&gt;
&lt;br /&gt;
inductive iter :: &amp;quot;(&amp;#039;a ⇒ &amp;#039;a ⇒ bool) ⇒ nat ⇒ &amp;#039;a ⇒ &amp;#039;a ⇒ bool&amp;quot;&lt;br /&gt;
for r where&lt;br /&gt;
  iterRefl: &amp;quot;iter r 0 x x&amp;quot;&lt;br /&gt;
| iterStep: &amp;quot;⟦iter r n x y; r y z⟧ ⟹ iter r (n+1) x z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
― ‹ El esquema de inducción correspondiente es ›&lt;br /&gt;
thm iter.induct&lt;br /&gt;
(*&lt;br /&gt;
  ⟦iter ?r ?x1.0 ?x2.0 ?x3.0; &lt;br /&gt;
   ⋀x. ?P 0 x x;&lt;br /&gt;
   ⋀n x y z. ⟦iter ?r n x y; ?P n x y; ?r y z⟧ ⟹ ?P (n + 1) x z⟧&lt;br /&gt;
  ⟹ ?P ?x1.0 ?x2.0 ?x3.0&lt;br /&gt;
*)&lt;br /&gt;
&lt;br /&gt;
― ‹ Algunos teoremas derivados son ›&lt;br /&gt;
&lt;br /&gt;
thm iterRefl&lt;br /&gt;
(* iter ?r 0 ?x ?x *)&lt;br /&gt;
&lt;br /&gt;
thm iterRefl [of r y]&lt;br /&gt;
(* iter r 0 y y *)&lt;br /&gt;
&lt;br /&gt;
thm iterStep&lt;br /&gt;
(* ⟦iter ?r ?n ?x ?y; ?r ?y ?z⟧ ⟹ iter ?r (?n + 1) ?x ?z *)&lt;br /&gt;
&lt;br /&gt;
thm iterStep [of r x y n z]&lt;br /&gt;
(* ⟦iter r x y n; r n z⟧ ⟹ iter r (x + 1) y z *)&lt;br /&gt;
&lt;br /&gt;
thm iterStep [of r x y 0 y]&lt;br /&gt;
(* ⟦iter r x y 0; r 0 y⟧ ⟹ iter r (x + 1) y y *)&lt;br /&gt;
&lt;br /&gt;
text ‹  &lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3.1. Demostrar  &lt;br /&gt;
     star&amp;#039; r x y ⟹ (∃n. iter r n x y)&lt;br /&gt;
  ------------------------------------------------------------------- ›&lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;star&amp;#039; r x y ⟹ (∃n. iter r n x y)&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma [rule_format]: &amp;quot;star&amp;#039; r x y ⟹ (∃n. iter r n x y)&amp;quot;    &lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración declarativa ›&lt;br /&gt;
lemma [rule_format]: &amp;quot;star&amp;#039; r x y ⟹ (∃n. iter r n x y)&amp;quot;    &lt;br /&gt;
  oops &lt;br /&gt;
  &lt;br /&gt;
text ‹  &lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3.2. Demostrar  &lt;br /&gt;
     (∃n. iter r n x y) ⟹ star&amp;#039; r x y&lt;br /&gt;
  ------------------------------------------------------------------- ›&lt;br /&gt;
&lt;br /&gt;
― ‹ En la demostración se usará el siguiente lema:&lt;br /&gt;
      iter r n x y ⟹ star&amp;#039; r x y ›   &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa del lema ›&lt;br /&gt;
lemma iter_star&amp;#039;_subset: &amp;quot;iter r n x y ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática del lema ›&lt;br /&gt;
lemma &amp;quot;iter r n x y ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración aplicativa ›&lt;br /&gt;
lemma &amp;quot;(∃n. iter r n x y) ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración automática ›&lt;br /&gt;
lemma &amp;quot;(∃n. iter r n x y) ⟹ star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops &lt;br /&gt;
&lt;br /&gt;
― ‹ Demostración declarativa ›&lt;br /&gt;
lemma assumes &amp;quot;(∃n. iter r n x y)&amp;quot;&lt;br /&gt;
      shows &amp;quot;star&amp;#039; r x y&amp;quot;&lt;br /&gt;
  oops &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>