<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LCyTM2018/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xinwu2</id>
	<title>Lógica computacional y teoría de modelos (2019-20) - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LCyTM2018/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xinwu2"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php/Especial:Contribuciones/Xinwu2"/>
	<updated>2026-07-22T06:55:51Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=203</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=203"/>
		<updated>2019-11-14T16:31:57Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y&lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y &lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, &lt;br /&gt;
% ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%como no hay ningún s pertenece este conjunto,por eso -p tiene que pertenecer este conjunto para la regla2.&lt;br /&gt;
%para la regla1, sií cogemos p, este respuesta {p, -p} no satisface consistencia. &lt;br /&gt;
%por eso,tenemos dos respuestas: S_1={q, -p} y S_2={r, -p}&lt;br /&gt;
%consulta p: no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q: desconocido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% La primera regla es una disyunción por lo que tenemos como posibles conjuntos de respuestas:&lt;br /&gt;
%S_1={p,...}&lt;br /&gt;
%S_2={q,...}&lt;br /&gt;
%S_3={r,...}&lt;br /&gt;
%La segunda regla nos dice que si no tenemos la certeza de creer s entonces -p, por lo que debemos añadir la cabeza de %esta regla a los tres conjuntos posibles anteriores. Por tanto, los modelos posibles del programa P son:&lt;br /&gt;
%S_1={p,-p}&lt;br /&gt;
%S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}&lt;br /&gt;
%Veamos si estos conjuntos son respuesta del programa. &lt;br /&gt;
%S_1 NO es conjunto pues es inconsistente.&lt;br /&gt;
%S_2 cumple ambas reglas, es consistente y es minimal (pues si quitamos algún literal dejaría de ser modelo). Por lo %que es modelo del programa de P.&lt;br /&gt;
%S_3 también verifica que es modelo de P. &lt;br /&gt;
%En conclusión, tenemos dos conjuntos de respuestas S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}.&lt;br /&gt;
%Veamos las consultas:&lt;br /&gt;
%¿p?, No es consulta de P, pues -p pertenece a todo S_i, i=2,3, modelo del programa.&lt;br /&gt;
%¿q?, No se sabe, pues q no pertenece a todo S_i, i=2,3, modelo ni -q pertenece a todo S_i, i =2,3.  &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%como regla5, tenemos tres elegidos, podemos coger -s, o podemos coger q y -s, o no cogemos -s u q.&lt;br /&gt;
%si S_1 solo con -s, q no pertenece este respuesta, tenemos coger p para las regla 1 y 2, y s no puede pertenece este respuesta, final S_1={-s, p, r}&lt;br /&gt;
%si S_2 contiene -s y q, no hace falta coger p, final S_2={-s, q, r}&lt;br /&gt;
%si S_3 no contiene -s u q, tenemos que coger p para las reglas 1 y 2,y con r o s.&lt;br /&gt;
%pues S_3={p, r}, S_4={p, s}&lt;br /&gt;
%comparamos S_1,S_2,S_3,S_4,y S_1, S_2 no satisfacen la principal minimal, finalmente %S_3={p, r}, S_4={p, s} son las respuestas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso no hay ningún hecho.&lt;br /&gt;
% Los posibles literales sustentados son: {p,q,r,s,-s}. Teniendo en cuenta estos literales, se tiene que s y -s no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente.&lt;br /&gt;
% Atendiendo a la regla 1 y 2, se tiene que p y q no pueden pertenecer al conjunto de respuesta al mismo tiempo. Lo mismo ocurre con r y s, fijándonos en este caso en las reglas 3 y 4.&lt;br /&gt;
% Por tanto, los conjuntos de respuesta que satisfacen todas las reglas son:&lt;br /&gt;
%S1= {p,r}&lt;br /&gt;
%S2= {q,r,-s}&lt;br /&gt;
%S3 = {p,s}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. &lt;br /&gt;
% La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y &lt;br /&gt;
% anularía a su vez la tercera regla. Puesto que este conjunto de respuesta &lt;br /&gt;
% {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque &lt;br /&gt;
% dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%sobre el programa P^S, porque S = {p(c)}, tenemos que quitar la regla 2, y también tenemos que quitar not p(b) o not p(a).&lt;br /&gt;
%el programa P^S es&lt;br /&gt;
%p(a)&lt;br /&gt;
%p(c)&lt;br /&gt;
%la respueta del programa solo es S_1={p(a), p(c)}, y por eso, S no es un conjunto de respuesta de P.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
%Calculemos el reducto del programa P con respecto a S={p(c)}.&lt;br /&gt;
% De la primera regla eliminamos solo la premisa que contiene el not, pues p(b) no pertenece al conjunto S.&lt;br /&gt;
% La segunda regla la eliminamos por completo ya que p(c) está en S.&lt;br /&gt;
% De la tercera regla eliminamos solo la premisa que contiene not (p(a) no está en S. &lt;br /&gt;
%Por tanto el reducto es:&lt;br /&gt;
%p(a).&lt;br /&gt;
%p(c).&lt;br /&gt;
%S no es modelo de P^S (pues falta el hecho p(a)), entonces S no es modelo de P&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos &lt;br /&gt;
% hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). &lt;br /&gt;
% Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y &lt;br /&gt;
% S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de &lt;br /&gt;
% la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en &lt;br /&gt;
% el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, &lt;br /&gt;
% con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% El programa con la constante a sería:&lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso: -s(a).&lt;br /&gt;
% Los posibles literales sustentados son: {p(a), q(a), r(a)}. Por tanto, los posibles candidatos a modelo son los siguientes:&lt;br /&gt;
% S1 = {-s(a), p(a)}&lt;br /&gt;
% S2 = {-s(a), q(a)}&lt;br /&gt;
% S3 = {-s(a), r(a)}&lt;br /&gt;
% S4 = {-s(a), p(a), q(a)}&lt;br /&gt;
% S5 = {-s(a), p(a), r(a)}&lt;br /&gt;
% S6 ={-s(a), q(a), r(a)}&lt;br /&gt;
% S7 ={-s(a), p(a), q(a), r(a)}&lt;br /&gt;
% S8 ={-s(a)}&lt;br /&gt;
&lt;br /&gt;
% Los conjuntos de respuesta que satisface todas las reglas son: S5 y S6.&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿s(a)?, No es consulta de P, pues -s(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
% ¿r(a)?, Sí es consulta de P, pues r(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
% Si añadimos la constante b al programa P, nos queda: &lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% p(b) ;- not q(b), -s(b).&lt;br /&gt;
% q(b) :- not p(b).&lt;br /&gt;
% r(b) :- p(b).&lt;br /&gt;
% r(b) :- q(b).&lt;br /&gt;
&lt;br /&gt;
% Los nuevos conjuntos de respuesta son:&lt;br /&gt;
% S = {-s(a), p(a), r(a), q(b), r(b)}&lt;br /&gt;
% S&amp;#039; ={-s(a), q(a), r(a), q(b), r(b)}&lt;br /&gt;
% es decir, añadiendo q(b) y r(b) a S5 y S8.&lt;br /&gt;
% Veamos las consultas en este caso:&lt;br /&gt;
% ¿s(b)? No se sabe.&lt;br /&gt;
% ¿q(b)? Sí es consulta de P, porque q(b) pertenece a S y S&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, &lt;br /&gt;
% y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, &lt;br /&gt;
% S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos &lt;br /&gt;
% que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso p(a) ó -p(b).&lt;br /&gt;
% Los posibles literales sustentados son: {q(a), -q(a), r(a), q(b), -q(b), r(b)}. Teniendo en cuenta estos literales, se tiene que q(a) y -q(a) no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente. Lo mismo ocurre con q(b) y -q(b).&lt;br /&gt;
% Por tanto, los modelos que satisfacen todas las reglas son los siguientes:&lt;br /&gt;
% S1 = {p(a), -q(a), -q(b), r(b)}&lt;br /&gt;
% S2 = {-p(b), q(b), r(b), -q(a), r(a)}&lt;br /&gt;
&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿q(a)?, No es consulta de P, pues -q(a) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
% ¿r(a)? No se sabe.&lt;br /&gt;
% ¿q(b)? No se sabe.&lt;br /&gt;
% ¿r(b)?, Sí es consulta de P, pues r(b) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, &lt;br /&gt;
% pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} &lt;br /&gt;
% no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos &lt;br /&gt;
% no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej&lt;br /&gt;
%Tenemos 3 hechos por lo que el conjunto de respuestas los contendrá a estos tres, es decir, S={h(a),h(b),r(a),...}&lt;br /&gt;
% Las dos primeras reglas no se ejecutan nunca pues r(a) es un hecho y estará en el conjunto de respuestas. &lt;br /&gt;
% Los posibles sustentados son: p(b), q(b) y -p(b).&lt;br /&gt;
%Los posibles conjuntos de respuesta son:&lt;br /&gt;
% S_1={h(a),h(b),r(a),p(b),-p(b)}&lt;br /&gt;
% S_2={h(a),h(b),r(a),q(b),-p(b)}&lt;br /&gt;
%El primero no es modelo pues es inconsistente. &lt;br /&gt;
%El segundo es modelo del programa pues satisface todas las reglas, es minimal( al quitar un literal, dejaría de ser modelo) y es consistente. &lt;br /&gt;
%Vemos las consultas:&lt;br /&gt;
%¿p(b)?,No es consulta pues -p(b) pertenece a nuestro único modelo.&lt;br /&gt;
%¿q(b)?,Si, pues pertenece a S_2.&lt;br /&gt;
%¿r(b)?, No se sabe, ya que ni r(b) ni -r(b) pertenece al conjunto de respuestas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, &lt;br /&gt;
% b = los niños de Juan recibirán juguetes por Reyes, &lt;br /&gt;
% c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%-p(b) :- not q(a)&lt;br /&gt;
%p(b) :- not r(c), not q(a)&lt;br /&gt;
%si elegimos q(a), puedo elegir p(b) para la regla 2, este no satisface consiente. O puedo elegir r(c) para la regla 2. &lt;br /&gt;
%la resulta es S_1={q(a), r(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Vamos a modelizar el programa teniendo en cuenta que tenemos dos constantes: Juan y los hijos de Juan, y tres predicados: comprar juguetes, recibir juguetes, escribir cartas. Demos nombre a cada una de ellas:&lt;br /&gt;
% Juan: a&lt;br /&gt;
% Hijos de Juan: b&lt;br /&gt;
% Comprar juguetes: p&lt;br /&gt;
% Recibir juguetes: q&lt;br /&gt;
% Escribir cartas: r&lt;br /&gt;
% El programa sería entonces el siguiente:&lt;br /&gt;
% -q(b) :- p(a).&lt;br /&gt;
% -p(a) :- -r(b).&lt;br /&gt;
% q(b).&lt;br /&gt;
% Veamos ahora el conjunto de respuesta:&lt;br /&gt;
% Los hechos tienen que pertenecer al conjunto de respuesta, en este caso q(b).&lt;br /&gt;
% Los posibles sustentados son -q(b) y -p(a).&lt;br /&gt;
% Los posibles conjuntos de respuesta son: S1={q(b)}, S2 = {q(b), -q(b)}, S3 = {q(b),-p(a)} y S4 = {q(b),- q(b), - p(a)}.&lt;br /&gt;
% El único conjunto de respuesta que satisface todas las reglas es S1= {q(b)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=202</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=202"/>
		<updated>2019-11-14T16:30:21Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y&lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y &lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, &lt;br /&gt;
% ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%como no hay ningún s pertenece este conjunto,por eso -p tiene que pertenecer este conjunto para la regla2.&lt;br /&gt;
%para la regla1, sií cogemos p, este respuesta {p, -p} no satisface consistencia. &lt;br /&gt;
%por eso,tenemos dos respuestas: S_1={q, -p} y S_2={r, -p}&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido.&lt;br /&gt;
&lt;br /&gt;
%corregir: atom does not occur in any rule head: S_1={r, -p}, S_2={q, -p}.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% La primera regla es una disyunción por lo que tenemos como posibles conjuntos de respuestas:&lt;br /&gt;
%S_1={p,...}&lt;br /&gt;
%S_2={q,...}&lt;br /&gt;
%S_3={r,...}&lt;br /&gt;
%La segunda regla nos dice que si no tenemos la certeza de creer s entonces -p, por lo que debemos añadir la cabeza de %esta regla a los tres conjuntos posibles anteriores. Por tanto, los modelos posibles del programa P son:&lt;br /&gt;
%S_1={p,-p}&lt;br /&gt;
%S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}&lt;br /&gt;
%Veamos si estos conjuntos son respuesta del programa. &lt;br /&gt;
%S_1 NO es conjunto pues es inconsistente.&lt;br /&gt;
%S_2 cumple ambas reglas, es consistente y es minimal (pues si quitamos algún literal dejaría de ser modelo). Por lo %que es modelo del programa de P.&lt;br /&gt;
%S_3 también verifica que es modelo de P. &lt;br /&gt;
%En conclusión, tenemos dos conjuntos de respuestas S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}.&lt;br /&gt;
%Veamos las consultas:&lt;br /&gt;
%¿p?, No es consulta de P, pues -p pertenece a todo S_i, i=2,3, modelo del programa.&lt;br /&gt;
%¿q?, No se sabe, pues q no pertenece a todo S_i, i=2,3, modelo ni -q pertenece a todo S_i, i =2,3.  &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%como regla5, tenemos tres elegidos, podemos coger -s, o podemos coger q y -s, o no cogemos -s u q.&lt;br /&gt;
%si S_1 solo con -s, q no pertenece este respuesta, tenemos coger p para las regla 1 y 2, y s no puede pertenece este respuesta, final S_1={-s, p, r}&lt;br /&gt;
%si S_2 contiene -s y q, no hace falta coger p, final S_2={-s, q, r}&lt;br /&gt;
%si S_3 no contiene -s u q, tenemos que coger p para las reglas 1 y 2,y con r o s.&lt;br /&gt;
%pues S_3={p, r}, S_4={p, s}&lt;br /&gt;
%comparamos S_1,S_2,S_3,S_4,y S_1, S_2 no satisfacen la principal minimal, finalmente %S_3={p, r}, S_4={p, s} son las respuestas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso no hay ningún hecho.&lt;br /&gt;
% Los posibles literales sustentados son: {p,q,r,s,-s}. Teniendo en cuenta estos literales, se tiene que s y -s no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente.&lt;br /&gt;
% Atendiendo a la regla 1 y 2, se tiene que p y q no pueden pertenecer al conjunto de respuesta al mismo tiempo. Lo mismo ocurre con r y s, fijándonos en este caso en las reglas 3 y 4.&lt;br /&gt;
% Por tanto, los conjuntos de respuesta que satisfacen todas las reglas son:&lt;br /&gt;
%S1= {p,r}&lt;br /&gt;
%S2= {q,r,-s}&lt;br /&gt;
%S3 = {p,s}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. &lt;br /&gt;
% La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y &lt;br /&gt;
% anularía a su vez la tercera regla. Puesto que este conjunto de respuesta &lt;br /&gt;
% {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque &lt;br /&gt;
% dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%sobre el programa P^S, porque S = {p(c)}, tenemos que quitar la regla 2, y también tenemos que quitar not p(b) o not p(a).&lt;br /&gt;
%el programa P^S es&lt;br /&gt;
%p(a)&lt;br /&gt;
%p(c)&lt;br /&gt;
%la respueta del programa solo es S_1={p(a), p(c)}, y por eso, S no es un conjunto de respuesta de P.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
%Calculemos el reducto del programa P con respecto a S={p(c)}.&lt;br /&gt;
% De la primera regla eliminamos solo la premisa que contiene el not, pues p(b) no pertenece al conjunto S.&lt;br /&gt;
% La segunda regla la eliminamos por completo ya que p(c) está en S.&lt;br /&gt;
% De la tercera regla eliminamos solo la premisa que contiene not (p(a) no está en S. &lt;br /&gt;
%Por tanto el reducto es:&lt;br /&gt;
%p(a).&lt;br /&gt;
%p(c).&lt;br /&gt;
%S no es modelo de P^S (pues falta el hecho p(a)), entonces S no es modelo de P&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos &lt;br /&gt;
% hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). &lt;br /&gt;
% Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y &lt;br /&gt;
% S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de &lt;br /&gt;
% la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en &lt;br /&gt;
% el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, &lt;br /&gt;
% con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% El programa con la constante a sería:&lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso: -s(a).&lt;br /&gt;
% Los posibles literales sustentados son: {p(a), q(a), r(a)}. Por tanto, los posibles candidatos a modelo son los siguientes:&lt;br /&gt;
% S1 = {-s(a), p(a)}&lt;br /&gt;
% S2 = {-s(a), q(a)}&lt;br /&gt;
% S3 = {-s(a), r(a)}&lt;br /&gt;
% S4 = {-s(a), p(a), q(a)}&lt;br /&gt;
% S5 = {-s(a), p(a), r(a)}&lt;br /&gt;
% S6 ={-s(a), q(a), r(a)}&lt;br /&gt;
% S7 ={-s(a), p(a), q(a), r(a)}&lt;br /&gt;
% S8 ={-s(a)}&lt;br /&gt;
&lt;br /&gt;
% Los conjuntos de respuesta que satisface todas las reglas son: S5 y S6.&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿s(a)?, No es consulta de P, pues -s(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
% ¿r(a)?, Sí es consulta de P, pues r(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
% Si añadimos la constante b al programa P, nos queda: &lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% p(b) ;- not q(b), -s(b).&lt;br /&gt;
% q(b) :- not p(b).&lt;br /&gt;
% r(b) :- p(b).&lt;br /&gt;
% r(b) :- q(b).&lt;br /&gt;
&lt;br /&gt;
% Los nuevos conjuntos de respuesta son:&lt;br /&gt;
% S = {-s(a), p(a), r(a), q(b), r(b)}&lt;br /&gt;
% S&amp;#039; ={-s(a), q(a), r(a), q(b), r(b)}&lt;br /&gt;
% es decir, añadiendo q(b) y r(b) a S5 y S8.&lt;br /&gt;
% Veamos las consultas en este caso:&lt;br /&gt;
% ¿s(b)? No se sabe.&lt;br /&gt;
% ¿q(b)? Sí es consulta de P, porque q(b) pertenece a S y S&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, &lt;br /&gt;
% y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, &lt;br /&gt;
% S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos &lt;br /&gt;
% que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso p(a) ó -p(b).&lt;br /&gt;
% Los posibles literales sustentados son: {q(a), -q(a), r(a), q(b), -q(b), r(b)}. Teniendo en cuenta estos literales, se tiene que q(a) y -q(a) no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente. Lo mismo ocurre con q(b) y -q(b).&lt;br /&gt;
% Por tanto, los modelos que satisfacen todas las reglas son los siguientes:&lt;br /&gt;
% S1 = {p(a), -q(a), -q(b), r(b)}&lt;br /&gt;
% S2 = {-p(b), q(b), r(b), -q(a), r(a)}&lt;br /&gt;
&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿q(a)?, No es consulta de P, pues -q(a) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
% ¿r(a)? No se sabe.&lt;br /&gt;
% ¿q(b)? No se sabe.&lt;br /&gt;
% ¿r(b)?, Sí es consulta de P, pues r(b) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, &lt;br /&gt;
% pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} &lt;br /&gt;
% no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos &lt;br /&gt;
% no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej&lt;br /&gt;
%Tenemos 3 hechos por lo que el conjunto de respuestas los contendrá a estos tres, es decir, S={h(a),h(b),r(a),...}&lt;br /&gt;
% Las dos primeras reglas no se ejecutan nunca pues r(a) es un hecho y estará en el conjunto de respuestas. &lt;br /&gt;
% Los posibles sustentados son: p(b), q(b) y -p(b).&lt;br /&gt;
%Los posibles conjuntos de respuesta son:&lt;br /&gt;
% S_1={h(a),h(b),r(a),p(b),-p(b)}&lt;br /&gt;
% S_2={h(a),h(b),r(a),q(b),-p(b)}&lt;br /&gt;
%El primero no es modelo pues es inconsistente. &lt;br /&gt;
%El segundo es modelo del programa pues satisface todas las reglas, es minimal( al quitar un literal, dejaría de ser modelo) y es consistente. &lt;br /&gt;
%Vemos las consultas:&lt;br /&gt;
%¿p(b)?,No es consulta pues -p(b) pertenece a nuestro único modelo.&lt;br /&gt;
%¿q(b)?,Si, pues pertenece a S_2.&lt;br /&gt;
%¿r(b)?, No se sabe, ya que ni r(b) ni -r(b) pertenece al conjunto de respuestas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, &lt;br /&gt;
% b = los niños de Juan recibirán juguetes por Reyes, &lt;br /&gt;
% c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%-p(b) :- not q(a)&lt;br /&gt;
%p(b) :- not r(c), not q(a)&lt;br /&gt;
%si elegimos q(a), puedo elegir p(b) para la regla 2, este no satisface consiente. O puedo elegir r(c) para la regla 2. &lt;br /&gt;
%la resulta es S_1={q(a), r(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Vamos a modelizar el programa teniendo en cuenta que tenemos dos constantes: Juan y los hijos de Juan, y tres predicados: comprar juguetes, recibir juguetes, escribir cartas. Demos nombre a cada una de ellas:&lt;br /&gt;
% Juan: a&lt;br /&gt;
% Hijos de Juan: b&lt;br /&gt;
% Comprar juguetes: p&lt;br /&gt;
% Recibir juguetes: q&lt;br /&gt;
% Escribir cartas: r&lt;br /&gt;
% El programa sería entonces el siguiente:&lt;br /&gt;
% -q(b) :- p(a).&lt;br /&gt;
% -p(a) :- -r(b).&lt;br /&gt;
% q(b).&lt;br /&gt;
% Veamos ahora el conjunto de respuesta:&lt;br /&gt;
% Los hechos tienen que pertenecer al conjunto de respuesta, en este caso q(b).&lt;br /&gt;
% Los posibles sustentados son -q(b) y -p(a).&lt;br /&gt;
% Los posibles conjuntos de respuesta son: S1={q(b)}, S2 = {q(b), -q(b)}, S3 = {q(b),-p(a)} y S4 = {q(b),- q(b), - p(a)}.&lt;br /&gt;
% El único conjunto de respuesta que satisface todas las reglas es S1= {q(b)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=201</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=201"/>
		<updated>2019-11-12T10:56:51Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y&lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y &lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, &lt;br /&gt;
% ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido.&lt;br /&gt;
&lt;br /&gt;
%corregir: atom does not occur in any rule head: S_1={r, -p}, S_2={q, -p}.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% La primera regla es una disyunción por lo que tenemos como posibles conjuntos de respuestas:&lt;br /&gt;
%S_1={p,...}&lt;br /&gt;
%S_2={q,...}&lt;br /&gt;
%S_3={r,...}&lt;br /&gt;
%La segunda regla nos dice que si no tenemos la certeza de creer s entonces -p, por lo que debemos añadir la cabeza de %esta regla a los tres conjuntos posibles anteriores. Por tanto, los modelos posibles del programa P son:&lt;br /&gt;
%S_1={p,-p}&lt;br /&gt;
%S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}&lt;br /&gt;
%Veamos si estos conjuntos son respuesta del programa. &lt;br /&gt;
%S_1 NO es conjunto pues es inconsistente.&lt;br /&gt;
%S_2 cumple ambas reglas, es consistente y es minimal (pues si quitamos algún literal dejaría de ser modelo). Por lo %que es modelo del programa de P.&lt;br /&gt;
%S_3 también verifica que es modelo de P. &lt;br /&gt;
%En conclusión, tenemos dos conjuntos de respuestas S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}.&lt;br /&gt;
%Veamos las consultas:&lt;br /&gt;
%¿p?, No es consulta de P, pues -p pertenece a todo S_i, i=2,3, modelo del programa.&lt;br /&gt;
%¿q?, No se sabe, pues q no pertenece a todo S_i, i=2,3, modelo ni -q pertenece a todo S_i, i =2,3.  &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%La misma razón como S_3 por S={p, s},tenemos que coger -s para la regla 5, no satisface consistencia, o solo S={p, s}&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso no hay ningún hecho.&lt;br /&gt;
% Los posibles literales sustentados son: {p,q,r,s,-s}. Teniendo en cuenta estos literales, se tiene que s y -s no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente.&lt;br /&gt;
% Atendiendo a la regla 1 y 2, se tiene que p y q no pueden pertenecer al conjunto de respuesta al mismo tiempo. Lo mismo ocurre con r y s, fijándonos en este caso en las reglas 3 y 4.&lt;br /&gt;
% Por tanto, los conjuntos de respuesta que satisfacen todas las reglas son:&lt;br /&gt;
%S1= {p,r}&lt;br /&gt;
%S2= {q,r,-s}&lt;br /&gt;
%S3 = {p,s}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. &lt;br /&gt;
% La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y &lt;br /&gt;
% anularía a su vez la tercera regla. Puesto que este conjunto de respuesta &lt;br /&gt;
% {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque &lt;br /&gt;
% dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%sobre el programa P^S, porque S = {p(c)}, tenemos que quitar la regla 2, y también tenemos que quitar not p(b) o not p(a).&lt;br /&gt;
%el programa P^S es&lt;br /&gt;
%p(a)&lt;br /&gt;
%p(c)&lt;br /&gt;
%la respueta del programa solo es S_1={p(a), p(c)}, y por eso, S no es un conjunto de respuesta de P.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
%Calculemos el reducto del programa P con respecto a S={p(c)}.&lt;br /&gt;
% De la primera regla eliminamos solo la premisa que contiene el not, pues p(b) no pertenece al conjunto S.&lt;br /&gt;
% La segunda regla la eliminamos por completo ya que p(c) está en S.&lt;br /&gt;
% De la tercera regla eliminamos solo la premisa que contiene not (p(a) no está en S. &lt;br /&gt;
%Por tanto el reducto es:&lt;br /&gt;
%p(a).&lt;br /&gt;
%p(c).&lt;br /&gt;
%S no es modelo de P^S (pues falta el hecho p(a)), entonces S no es modelo de P&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos &lt;br /&gt;
% hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). &lt;br /&gt;
% Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y &lt;br /&gt;
% S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de &lt;br /&gt;
% la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en &lt;br /&gt;
% el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, &lt;br /&gt;
% con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% El programa con la constante a sería:&lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso: -s(a).&lt;br /&gt;
% Los posibles literales sustentados son: {p(a), q(a), r(a)}. Por tanto, los posibles candidatos a modelo son los siguientes:&lt;br /&gt;
% S1 = {-s(a), p(a)}&lt;br /&gt;
% S2 = {-s(a), q(a)}&lt;br /&gt;
% S3 = {-s(a), r(a)}&lt;br /&gt;
% S4 = {-s(a), p(a), q(a)}&lt;br /&gt;
% S5 = {-s(a), p(a), r(a)}&lt;br /&gt;
% S6 ={-s(a), q(a), r(a)}&lt;br /&gt;
% S7 ={-s(a), p(a), q(a), r(a)}&lt;br /&gt;
% S8 ={-s(a)}&lt;br /&gt;
&lt;br /&gt;
% Los conjuntos de respuesta que satisface todas las reglas son: S5 y S6.&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿s(a)?, No es consulta de P, pues -s(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
% ¿r(a)?, Sí es consulta de P, pues r(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
% Si añadimos la constante b al programa P, nos queda: &lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% p(b) ;- not q(b), -s(b).&lt;br /&gt;
% q(b) :- not p(b).&lt;br /&gt;
% r(b) :- p(b).&lt;br /&gt;
% r(b) :- q(b).&lt;br /&gt;
&lt;br /&gt;
% Los nuevos conjuntos de respuesta son:&lt;br /&gt;
% S = {-s(a), p(a), r(a), q(b), r(b)}&lt;br /&gt;
% S&amp;#039; ={-s(a), q(a), r(a), q(b), r(b)}&lt;br /&gt;
% es decir, añadiendo q(b) y r(b) a S5 y S8.&lt;br /&gt;
% Veamos las consultas en este caso:&lt;br /&gt;
% ¿s(b)? No se sabe.&lt;br /&gt;
% ¿q(b)? Sí es consulta de P, porque q(b) pertenece a S y S&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, &lt;br /&gt;
% y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, &lt;br /&gt;
% S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos &lt;br /&gt;
% que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso p(a) ó -p(b).&lt;br /&gt;
% Los posibles literales sustentados son: {q(a), -q(a), r(a), q(b), -q(b), r(b)}. Teniendo en cuenta estos literales, se tiene que q(a) y -q(a) no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente. Lo mismo ocurre con q(b) y -q(b).&lt;br /&gt;
% Por tanto, los modelos que satisfacen todas las reglas son los siguientes:&lt;br /&gt;
% S1 = {p(a), -q(a), -q(b), r(b)}&lt;br /&gt;
% S2 = {-p(b), q(b), r(b), -q(a), r(a)}&lt;br /&gt;
&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿q(a)?, No es consulta de P, pues -q(a) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
% ¿r(a)? No se sabe.&lt;br /&gt;
% ¿q(b)? No se sabe.&lt;br /&gt;
% ¿r(b)?, Sí es consulta de P, pues r(b) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, &lt;br /&gt;
% pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} &lt;br /&gt;
% no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos &lt;br /&gt;
% no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej&lt;br /&gt;
%Tenemos 3 hechos por lo que el conjunto de respuestas los contendrá a estos tres, es decir, S={h(a),h(b),r(a),...}&lt;br /&gt;
% Las dos primeras reglas no se ejecutan nunca pues r(a) es un hecho y estará en el conjunto de respuestas. &lt;br /&gt;
% Los posibles sustentados son: p(b), q(b) y -p(b).&lt;br /&gt;
%Los posibles conjuntos de respuesta son:&lt;br /&gt;
% S_1={h(a),h(b),r(a),p(b),-p(b)}&lt;br /&gt;
% S_2={h(a),h(b),r(a),q(b),-p(b)}&lt;br /&gt;
%El primero no es modelo pues es inconsistente. &lt;br /&gt;
%El segundo es modelo del programa pues satisface todas las reglas, es minimal( al quitar un literal, dejaría de ser modelo) y es consistente. &lt;br /&gt;
%Vemos las consultas:&lt;br /&gt;
%¿p(b)?,No es consulta pues -p(b) pertenece a nuestro único modelo.&lt;br /&gt;
%¿q(b)?,Si, pues pertenece a S_2.&lt;br /&gt;
%¿r(b)?, No se sabe, ya que ni r(b) ni -r(b) pertenece al conjunto de respuestas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, &lt;br /&gt;
% b = los niños de Juan recibirán juguetes por Reyes, &lt;br /&gt;
% c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%-p(b) :- not q(a)&lt;br /&gt;
%p(b) :- not r(c), not q(a)&lt;br /&gt;
%si elegimos q(a), puedo elegir p(b) para la regla 2, este no satisface consiente. O puedo elegir r(c) para la regla 2. &lt;br /&gt;
%la resulta es S_1={q(a), r(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Vamos a modelizar el programa teniendo en cuenta que tenemos dos constantes: Juan y los hijos de Juan, y tres predicados: comprar juguetes, recibir juguetes, escribir cartas. Demos nombre a cada una de ellas:&lt;br /&gt;
% Juan: a&lt;br /&gt;
% Hijos de Juan: b&lt;br /&gt;
% Comprar juguetes: p&lt;br /&gt;
% Recibir juguetes: q&lt;br /&gt;
% Escribir cartas: r&lt;br /&gt;
% El programa sería entonces el siguiente:&lt;br /&gt;
% -q(b) :- p(a).&lt;br /&gt;
% -p(a) :- -r(b).&lt;br /&gt;
% q(b).&lt;br /&gt;
% Veamos ahora el conjunto de respuesta:&lt;br /&gt;
% Los hechos tienen que pertenecer al conjunto de respuesta, en este caso q(b).&lt;br /&gt;
% Los posibles sustentados son -q(b) y -p(a).&lt;br /&gt;
% Los posibles conjuntos de respuesta son: S1={q(b)}, S2 = {q(b), -q(b)}, S3 = {q(b),-p(a)} y S4 = {q(b),- q(b), - p(a)}.&lt;br /&gt;
% El único conjunto de respuesta que satisface todas las reglas es S1= {q(b)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=200</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=200"/>
		<updated>2019-11-12T10:20:38Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y&lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y &lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, &lt;br /&gt;
% ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% La primera regla es una disyunción por lo que tenemos como posibles conjuntos de respuestas:&lt;br /&gt;
%S_1={p,...}&lt;br /&gt;
%S_2={q,...}&lt;br /&gt;
%S_3={r,...}&lt;br /&gt;
%La segunda regla nos dice que si no tenemos la certeza de creer s entonces -p, por lo que debemos añadir la cabeza de %esta regla a los tres conjuntos posibles anteriores. Por tanto, los modelos posibles del programa P son:&lt;br /&gt;
%S_1={p,-p}&lt;br /&gt;
%S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}&lt;br /&gt;
%Veamos si estos conjuntos son respuesta del programa. &lt;br /&gt;
%S_1 NO es conjunto pues es inconsistente.&lt;br /&gt;
%S_2 cumple ambas reglas, es consistente y es minimal (pues si quitamos algún literal dejaría de ser modelo). Por lo %que es modelo del programa de P.&lt;br /&gt;
%S_3 también verifica que es modelo de P. &lt;br /&gt;
%En conclusión, tenemos dos conjuntos de respuestas S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}.&lt;br /&gt;
%Veamos las consultas:&lt;br /&gt;
%¿p?, No es consulta de P, pues -p pertenece a todo S_i, i=2,3, modelo del programa.&lt;br /&gt;
%¿q?, No se sabe, pues q no pertenece a todo S_i, i=2,3, modelo ni -q pertenece a todo S_i, i =2,3.  &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso no hay ningún hecho.&lt;br /&gt;
% Los posibles literales sustentados son: {p,q,r,s,-s}. Teniendo en cuenta estos literales, se tiene que s y -s no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente.&lt;br /&gt;
% Atendiendo a la regla 1 y 2, se tiene que p y q no pueden pertenecer al conjunto de respuesta al mismo tiempo. Lo mismo ocurre con r y s, fijándonos en este caso en las reglas 3 y 4.&lt;br /&gt;
% Por tanto, los conjuntos de respuesta que satisfacen todas las reglas son:&lt;br /&gt;
%S1= {p,r}&lt;br /&gt;
%S2= {q,r,-s}&lt;br /&gt;
%S3 = {p,s}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. &lt;br /&gt;
% La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y &lt;br /&gt;
% anularía a su vez la tercera regla. Puesto que este conjunto de respuesta &lt;br /&gt;
% {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque &lt;br /&gt;
% dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%sobre el programa P^S, porque S = {p(c)}, tenemos que quitar la regla 2, y también tenemos que quitar not p(b) o not p(a).&lt;br /&gt;
%el programa P^S es&lt;br /&gt;
%p(a)&lt;br /&gt;
%p(c)&lt;br /&gt;
%la respueta del programa solo es S_1={p(a), p(c)}, y por eso, S no es un conjunto de respuesta de P.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
%Calculemos el reducto del programa P con respecto a S={p(c)}.&lt;br /&gt;
% De la primera regla eliminamos solo la premisa que contiene el not, pues p(b) no pertenece al conjunto S.&lt;br /&gt;
% La segunda regla la eliminamos por completo ya que p(c) está en S.&lt;br /&gt;
% De la tercera regla eliminamos solo la premisa que contiene not (p(a) no está en S. &lt;br /&gt;
%Por tanto el reducto es:&lt;br /&gt;
%p(a).&lt;br /&gt;
%p(c).&lt;br /&gt;
%S no es modelo de P^S (pues falta el hecho p(a)), entonces S no es modelo de P&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos &lt;br /&gt;
% hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). &lt;br /&gt;
% Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y &lt;br /&gt;
% S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de &lt;br /&gt;
% la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en &lt;br /&gt;
% el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, &lt;br /&gt;
% con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% El programa con la constante a sería:&lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso: -s(a).&lt;br /&gt;
% Los posibles literales sustentados son: {p(a), q(a), r(a)}. Por tanto, los posibles candidatos a modelo son los siguientes:&lt;br /&gt;
% S1 = {-s(a), p(a)}&lt;br /&gt;
% S2 = {-s(a), q(a)}&lt;br /&gt;
% S3 = {-s(a), r(a)}&lt;br /&gt;
% S4 = {-s(a), p(a), q(a)}&lt;br /&gt;
% S5 = {-s(a), p(a), r(a)}&lt;br /&gt;
% S6 ={-s(a), q(a), r(a)}&lt;br /&gt;
% S7 ={-s(a), p(a), q(a), r(a)}&lt;br /&gt;
% S8 ={-s(a)}&lt;br /&gt;
&lt;br /&gt;
% Los conjuntos de respuesta que satisface todas las reglas son: S5 y S6.&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿s(a)?, No es consulta de P, pues -s(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
% ¿r(a)?, Sí es consulta de P, pues r(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
% Si añadimos la constante b al programa P, nos queda: &lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% p(b) ;- not q(b), -s(b).&lt;br /&gt;
% q(b) :- not p(b).&lt;br /&gt;
% r(b) :- p(b).&lt;br /&gt;
% r(b) :- q(b).&lt;br /&gt;
&lt;br /&gt;
% Los nuevos conjuntos de respuesta son:&lt;br /&gt;
% S = {-s(a), p(a), r(a), q(b), r(b)}&lt;br /&gt;
% S&amp;#039; ={-s(a), q(a), r(a), q(b), r(b)}&lt;br /&gt;
% es decir, añadiendo q(b) y r(b) a S5 y S8.&lt;br /&gt;
% Veamos las consultas en este caso:&lt;br /&gt;
% ¿s(b)? No se sabe.&lt;br /&gt;
% ¿q(b)? Sí es consulta de P, porque q(b) pertenece a S y S&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, &lt;br /&gt;
% y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, &lt;br /&gt;
% S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos &lt;br /&gt;
% que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso p(a) ó -p(b).&lt;br /&gt;
% Los posibles literales sustentados son: {q(a), -q(a), r(a), q(b), -q(b), r(b)}. Teniendo en cuenta estos literales, se tiene que q(a) y -q(a) no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente. Lo mismo ocurre con q(b) y -q(b).&lt;br /&gt;
% Por tanto, los modelos que satisfacen todas las reglas son los siguientes:&lt;br /&gt;
% S1 = {p(a), -q(a), -q(b), r(b)}&lt;br /&gt;
% S2 = {-p(b), q(b), r(b), -q(a), r(a)}&lt;br /&gt;
&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿q(a)?, No es consulta de P, pues -q(a) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
% ¿r(a)? No se sabe.&lt;br /&gt;
% ¿q(b)? No se sabe.&lt;br /&gt;
% ¿r(b)?, Sí es consulta de P, pues r(b) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, &lt;br /&gt;
% pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} &lt;br /&gt;
% no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos &lt;br /&gt;
% no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej&lt;br /&gt;
%Tenemos 3 hechos por lo que el conjunto de respuestas los contendrá a estos tres, es decir, S={h(a),h(b),r(a),...}&lt;br /&gt;
% Las dos primeras reglas no se ejecutan nunca pues r(a) es un hecho y estará en el conjunto de respuestas. &lt;br /&gt;
% Los posibles sustentados son: p(b), q(b) y -p(b).&lt;br /&gt;
%Los posibles conjuntos de respuesta son:&lt;br /&gt;
% S_1={h(a),h(b),r(a),p(b),-p(b)}&lt;br /&gt;
% S_2={h(a),h(b),r(a),q(b),-p(b)}&lt;br /&gt;
%El primero no es modelo pues es inconsistente. &lt;br /&gt;
%El segundo es modelo del programa pues satisface todas las reglas, es minimal( al quitar un literal, dejaría de ser modelo) y es consistente. &lt;br /&gt;
%Vemos las consultas:&lt;br /&gt;
%¿p(b)?,No es consulta pues -p(b) pertenece a nuestro único modelo.&lt;br /&gt;
%¿q(b)?,Si, pues pertenece a S_2.&lt;br /&gt;
%¿r(b)?, No se sabe, ya que ni r(b) ni -r(b) pertenece al conjunto de respuestas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, &lt;br /&gt;
% b = los niños de Juan recibirán juguetes por Reyes, &lt;br /&gt;
% c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%-p(b) :- not q(a)&lt;br /&gt;
%p(b) :- not r(c), not q(a)&lt;br /&gt;
%si elegimos q(a), puedo elegir p(b) para la regla 2, este no satisface consiente. O puedo elegir r(c) para la regla 2. &lt;br /&gt;
%la resulta es S_1={q(a), r(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Vamos a modelizar el programa teniendo en cuenta que tenemos dos constantes: Juan y los hijos de Juan, y tres predicados: comprar juguetes, recibir juguetes, escribir cartas. Demos nombre a cada una de ellas:&lt;br /&gt;
% Juan: a&lt;br /&gt;
% Hijos de Juan: b&lt;br /&gt;
% Comprar juguetes: p&lt;br /&gt;
% Recibir juguetes: q&lt;br /&gt;
% Escribir cartas: r&lt;br /&gt;
% El programa sería entonces el siguiente:&lt;br /&gt;
% -q(b) :- p(a).&lt;br /&gt;
% -p(a) :- -r(b).&lt;br /&gt;
% q(b).&lt;br /&gt;
% Veamos ahora el conjunto de respuesta:&lt;br /&gt;
% Los hechos tienen que pertenecer al conjunto de respuesta, en este caso q(b).&lt;br /&gt;
% Los posibles sustentados son -q(b) y -p(a).&lt;br /&gt;
% Los posibles conjuntos de respuesta son: S1={q(b)}, S2 = {q(b), -q(b)}, S3 = {q(b),-p(a)} y S4 = {q(b),- q(b), - p(a)}.&lt;br /&gt;
% El único conjunto de respuesta que satisface todas las reglas es S1= {q(b)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=199</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=199"/>
		<updated>2019-11-12T10:08:07Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y&lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y &lt;br /&gt;
% por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, &lt;br /&gt;
% ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% La primera regla es una disyunción por lo que tenemos como posibles conjuntos de respuestas:&lt;br /&gt;
%S_1={p,...}&lt;br /&gt;
%S_2={q,...}&lt;br /&gt;
%S_3={r,...}&lt;br /&gt;
%La segunda regla nos dice que si no tenemos la certeza de creer s entonces -p, por lo que debemos añadir la cabeza de %esta regla a los tres conjuntos posibles anteriores. Por tanto, los modelos posibles del programa P son:&lt;br /&gt;
%S_1={p,-p}&lt;br /&gt;
%S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}&lt;br /&gt;
%Veamos si estos conjuntos son respuesta del programa. &lt;br /&gt;
%S_1 NO es conjunto pues es inconsistente.&lt;br /&gt;
%S_2 cumple ambas reglas, es consistente y es minimal (pues si quitamos algún literal dejaría de ser modelo). Por lo %que es modelo del programa de P.&lt;br /&gt;
%S_3 también verifica que es modelo de P. &lt;br /&gt;
%En conclusión, tenemos dos conjuntos de respuestas S_2={q,-p}&lt;br /&gt;
%S_3={r,-p}.&lt;br /&gt;
%Veamos las consultas:&lt;br /&gt;
%¿p?, No es consulta de P, pues -p pertenece a todo S_i, i=2,3, modelo del programa.&lt;br /&gt;
%¿q?, No se sabe, pues q no pertenece a todo S_i, i=2,3, modelo ni -q pertenece a todo S_i, i =2,3.  &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso no hay ningún hecho.&lt;br /&gt;
% Los posibles literales sustentados son: {p,q,r,s,-s}. Teniendo en cuenta estos literales, se tiene que s y -s no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente.&lt;br /&gt;
% Atendiendo a la regla 1 y 2, se tiene que p y q no pueden pertenecer al conjunto de respuesta al mismo tiempo. Lo mismo ocurre con r y s, fijándonos en este caso en las reglas 3 y 4.&lt;br /&gt;
% Por tanto, los conjuntos de respuesta que satisfacen todas las reglas son:&lt;br /&gt;
%S1= {p,r}&lt;br /&gt;
%S2= {q,r,-s}&lt;br /&gt;
%S3 = {p,s}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. &lt;br /&gt;
% La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y &lt;br /&gt;
% anularía a su vez la tercera regla. Puesto que este conjunto de respuesta &lt;br /&gt;
% {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque &lt;br /&gt;
% dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%sobre el programa P^S, porque S = {p(c)}, tenemos que quitar la regla 2, y también tenemos que quitar not p(b) o not p(a).&lt;br /&gt;
%el programa P^S es&lt;br /&gt;
%p(a)&lt;br /&gt;
%p(c)&lt;br /&gt;
%la respueta del programa solo es S_1={p(a), p(c)}, y por eso, S no es un conjunto de respuesta de P.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
%Calculemos el reducto del programa P con respecto a S={p(c)}.&lt;br /&gt;
% De la primera regla eliminamos solo la premisa que contiene el not, pues p(b) no pertenece al conjunto S.&lt;br /&gt;
% La segunda regla la eliminamos por completo ya que p(c) está en S.&lt;br /&gt;
% De la tercera regla eliminamos solo la premisa que contiene not (p(a) no está en S. &lt;br /&gt;
%Por tanto el reducto es:&lt;br /&gt;
%p(a).&lt;br /&gt;
%p(c).&lt;br /&gt;
%S no es modelo de P^S (pues falta el hecho p(a)), entonces S no es modelo de P&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos &lt;br /&gt;
% hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). &lt;br /&gt;
% Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y &lt;br /&gt;
% S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de &lt;br /&gt;
% la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en &lt;br /&gt;
% el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, &lt;br /&gt;
% con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej.&lt;br /&gt;
&lt;br /&gt;
% El programa con la constante a sería:&lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso: -s(a).&lt;br /&gt;
% Los posibles literales sustentados son: {p(a), q(a), r(a)}. Por tanto, los posibles candidatos a modelo son los siguientes:&lt;br /&gt;
% S1 = {-s(a), p(a)}&lt;br /&gt;
% S2 = {-s(a), q(a)}&lt;br /&gt;
% S3 = {-s(a), r(a)}&lt;br /&gt;
% S4 = {-s(a), p(a), q(a)}&lt;br /&gt;
% S5 = {-s(a), p(a), r(a)}&lt;br /&gt;
% S6 ={-s(a), q(a), r(a)}&lt;br /&gt;
% S7 ={-s(a), p(a), q(a), r(a)}&lt;br /&gt;
% S8 ={-s(a)}&lt;br /&gt;
&lt;br /&gt;
% Los conjuntos de respuesta que satisface todas las reglas son: S5 y S6.&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿s(a)?, No es consulta de P, pues -s(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
% ¿r(a)?, Sí es consulta de P, pues r(a) pertenece a todo S_i, i=5,6, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
% Si añadimos la constante b al programa P, nos queda: &lt;br /&gt;
% -s(a).&lt;br /&gt;
% p(a) ;- not q(a), -s(a).&lt;br /&gt;
% q(a) :- not p(a).&lt;br /&gt;
% r(a) :- p(a).&lt;br /&gt;
% r(a) :- q(a).&lt;br /&gt;
% p(b) ;- not q(b), -s(b).&lt;br /&gt;
% q(b) :- not p(b).&lt;br /&gt;
% r(b) :- p(b).&lt;br /&gt;
% r(b) :- q(b).&lt;br /&gt;
&lt;br /&gt;
% Los nuevos conjuntos de respuesta son:&lt;br /&gt;
% S = {-s(a), p(a), r(a), q(b), r(b)}&lt;br /&gt;
% S&amp;#039; ={-s(a), q(a), r(a), q(b), r(b)}&lt;br /&gt;
% es decir, añadiendo q(b) y r(b) a S5 y S8.&lt;br /&gt;
% Veamos las consultas en este caso:&lt;br /&gt;
% ¿s(b)? No se sabe.&lt;br /&gt;
% ¿q(b)? Sí es consulta de P, porque q(b) pertenece a S y S&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, &lt;br /&gt;
% y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, &lt;br /&gt;
% S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos &lt;br /&gt;
% que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Los candidatos a conjuntos de respuesta tienen que contener los hechos, en este caso p(a) ó -p(b).&lt;br /&gt;
% Los posibles literales sustentados son: {q(a), -q(a), r(a), q(b), -q(b), r(b)}. Teniendo en cuenta estos literales, se tiene que q(a) y -q(a) no pueden pertenecer a la vez al conjunto de respuesta, ya que sería un conjunto inconsistente. Lo mismo ocurre con q(b) y -q(b).&lt;br /&gt;
% Por tanto, los modelos que satisfacen todas las reglas son los siguientes:&lt;br /&gt;
% S1 = {p(a), -q(a), -q(b), r(b)}&lt;br /&gt;
% S2 = {-p(b), q(b), r(b), -q(a), r(a)}&lt;br /&gt;
&lt;br /&gt;
% Veamos las consultas:&lt;br /&gt;
% ¿q(a)?, No es consulta de P, pues -q(a) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
% ¿r(a)? No se sabe.&lt;br /&gt;
% ¿q(b)? No se sabe.&lt;br /&gt;
% ¿r(b)?, Sí es consulta de P, pues r(b) pertenece a todo S_i, i=1,2, modelo del programa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, &lt;br /&gt;
% pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} &lt;br /&gt;
% no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos &lt;br /&gt;
% no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%anabermar1 y gemtermej&lt;br /&gt;
%Tenemos 3 hechos por lo que el conjunto de respuestas los contendrá a estos tres, es decir, S={h(a),h(b),r(a),...}&lt;br /&gt;
% Las dos primeras reglas no se ejecutan nunca pues r(a) es un hecho y estará en el conjunto de respuestas. &lt;br /&gt;
% Los posibles sustentados son: p(b), q(b) y -p(b).&lt;br /&gt;
%Los posibles conjuntos de respuesta son:&lt;br /&gt;
% S_1={h(a),h(b),r(a),p(b),-p(b)}&lt;br /&gt;
% S_2={h(a),h(b),r(a),q(b),-p(b)}&lt;br /&gt;
%El primero no es modelo pues es inconsistente. &lt;br /&gt;
%El segundo es modelo del programa pues satisface todas las reglas, es minimal( al quitar un literal, dejaría de ser modelo) y es consistente. &lt;br /&gt;
%Vemos las consultas:&lt;br /&gt;
%¿p(b)?,No es consulta pues -p(b) pertenece a nuestro único modelo.&lt;br /&gt;
%¿q(b)?,Si, pues pertenece a S_2.&lt;br /&gt;
%¿r(b)?, No se sabe, ya que ni r(b) ni -r(b) pertenece al conjunto de respuestas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, &lt;br /&gt;
% b = los niños de Juan recibirán juguetes por Reyes, &lt;br /&gt;
% c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%¬b :- not a&lt;br /&gt;
%b :- not c, not a&lt;br /&gt;
%si elegimos a, puedo elegir b para la regla 2. O puedo elegir c para la regla 2. &lt;br /&gt;
%las resultas son: S_1={p(a), p(b)} y S_2={p(a), p(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% anabermar1 y gemtermej&lt;br /&gt;
% Vamos a modelizar el programa teniendo en cuenta que tenemos dos constantes: Juan y los hijos de Juan, y tres predicados: comprar juguetes, recibir juguetes, escribir cartas. Demos nombre a cada una de ellas:&lt;br /&gt;
% Juan: a&lt;br /&gt;
% Hijos de Juan: b&lt;br /&gt;
% Comprar juguetes: p&lt;br /&gt;
% Recibir juguetes: q&lt;br /&gt;
% Escribir cartas: r&lt;br /&gt;
% El programa sería entonces el siguiente:&lt;br /&gt;
% -q(b) :- p(a).&lt;br /&gt;
% -p(a) :- -r(b).&lt;br /&gt;
% q(b).&lt;br /&gt;
% Veamos ahora el conjunto de respuesta:&lt;br /&gt;
% Los hechos tienen que pertenecer al conjunto de respuesta, en este caso q(b).&lt;br /&gt;
% Los posibles sustentados son -q(b) y -p(a).&lt;br /&gt;
% Los posibles conjuntos de respuesta son: S1={q(b)}, S2 = {q(b), -q(b)}, S3 = {q(b),-p(a)} y S4 = {q(b),- q(b), - p(a)}.&lt;br /&gt;
% El único conjunto de respuesta que satisface todas las reglas es S1= {q(b)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=191</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=191"/>
		<updated>2019-11-08T19:00:28Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% gemtermej&lt;br /&gt;
% La solución es tatata&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido,&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y anularía a su vez la tercera regla. Puesto que este conjunto de respuesta {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%si añadimos S={p(c)}, tenemos que elegir p(c) para satisfacerlo, después sadisface las reglas 2 y 3,final podemos elegir p(a) o -p(b) para la regla 1,obtenemos S_1={p(a),p(c)} o S_2={p(c), -p(b)}&lt;br /&gt;
%Y S={p(c)} no puede satisface la regla 1, no es un conjunto de respuesta. &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, b = los niños de Juan recibirán juguetes por Reyes, c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%¬b :- not a&lt;br /&gt;
%b :- not c, not a&lt;br /&gt;
%si elegimos a, puedo elegir b para la regla 2. O puedo elegir c para la regla 2. &lt;br /&gt;
%las resultas son: S_1={p(a), p(b)} y S_2={p(a), p(c)}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=190</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=190"/>
		<updated>2019-11-08T18:59:48Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% gemtermej&lt;br /&gt;
% La solución es tatata&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido,&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y anularía a su vez la tercera regla. Puesto que este conjunto de respuesta {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%si añadimos S={p(c)}, tenemos que elegir p(c) para satisfacerlo, después sadisface las reglas 2 y 3,final podemos elegir p(a) o -p(b) para la regla 1,obtenemos S_1={p(a),p(c)} o S_2={p(c), -p(b)}&lt;br /&gt;
%Y S={p(c)} no puede satisface la regla 1, no es un conjunto de respuesta. &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, y añadir otros elementos no satisfacen consiente o no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}&lt;br /&gt;
%r(b), p(b) o q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por Reyes. &lt;br /&gt;
%   Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%Sea a = Juan compra juguetes para sus hijos, b = los niños de Juan recibirán juguetes por Reyes, c = los hijos de Juan escriben sus cartas a los Reyes &lt;br /&gt;
%por eso, podemos simplificar este frase a la programa p abajo:&lt;br /&gt;
%¬b :- not a&lt;br /&gt;
%b :- not c, not a&lt;br /&gt;
%si elegimos a, puedo elegir b para la regla 2. O puedo elegir c para la regla 2. &lt;br /&gt;
%las resultas son: S_1={p(a), p(b)} y S_2={p(a), p(c)}.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=189</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=189"/>
		<updated>2019-11-08T18:17:19Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% gemtermej&lt;br /&gt;
% La solución es tatata&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido,&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y anularía a su vez la tercera regla. Puesto que este conjunto de respuesta {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%si añadimos S={p(c)}, tenemos que elegir p(c) para satisfacerlo, después sadisface las reglas 2 y 3,final podemos elegir p(a) o -p(b) para la regla 1,obtenemos S_1={p(a),p(c)} o S_2={p(c), -p(b)}&lt;br /&gt;
%Y S={p(c)} no puede satisface la regla 1, no es un conjunto de respuesta. &lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(a) ;- not q(a), -s(a).&lt;br /&gt;
%q(a) :- not p(a).&lt;br /&gt;
%r(a) :- p(a).&lt;br /&gt;
%r(a) :- q(a).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(a), r(a)},tenemos que escoger la cabeza de la regla 2, porque he escogido s(a), y con p(a),r(a) la cabeza tiene que estar en el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), si, es %la consulta.&lt;br /&gt;
%si añadimos b, el programa cambia como&lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(b) ;- not q(b), -s(b).&lt;br /&gt;
%q(b) :- not p(b).&lt;br /&gt;
%r(b) :- p(b).&lt;br /&gt;
%r(b) :- q(b).&lt;br /&gt;
%tenemos que elegir -s(a),podemos elegir p(b) para satisfacer la cabeza de regla 2, con r(b) para la regla 4 y 5.&lt;br /&gt;
%S_1={s(a), q(b), r(b)},o S_2={s(a), p(b), r(b)},S_3={-s(a), p(b), r(b)}&lt;br /&gt;
%s(b),no es la consulta.&lt;br /&gt;
%q(b),desconocido, q(b) consiste en S_1,pero sin S_2 o S_3.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%cambiamos x en a o b, tenemos 8 programas.&lt;br /&gt;
%p(a), -p(b).&lt;br /&gt;
%q(a) :- -p(a). o q(b) :- -p(b).&lt;br /&gt;
%-q(a) :- not q(a). o -q(b) :- not q(b).&lt;br /&gt;
%r(a) :- not p(a). o r(b) :- not p(b).&lt;br /&gt;
%al principio, tenemos que elegir p(a) o -p(b)&lt;br /&gt;
%con p(a),satisface la regla 2, y podemos elegir q(a) o -q(a) para satisfacer regla3, y p(a) puede satisfacer r(a) :- not p(a). por eso, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))} y si añadimos otro elemento, no satisface el principal minimal.&lt;br /&gt;
%con -p(b), puede satisface esta regla2 q(a) :- -p(a),lo mismo con arriba,y pero tenemos que elegir r(b) para regla 4, o añade r(a) o más.&lt;br /&gt;
%finalmente, tenemos S_1={p(a), q(a)(o q(b))}, S_2={p(a), -q(a)(o -q(b))}&lt;br /&gt;
%q(a) y q(b) son las consultas, y r(a) y r(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%tenemos 4 programas total,&lt;br /&gt;
%p(a),q(a) :- not r(a). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%En cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, S puede satisfacer la regla 1, pero tiene que añadir -p(a) para la regla 2, o añadir -p(b). {h(a), h(b), r(a), -h(a)} no satisface consiente,Por lo tanto, S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}.&lt;br /&gt;
%En otro caso&lt;br /&gt;
%p(b),q(b) :- not r(b). &lt;br /&gt;
%-p(a) :- h(a), not r(a). O -p(b) :- h(b), not r(b).&lt;br /&gt;
%h(a).&lt;br /&gt;
%h(b).&lt;br /&gt;
%r(a).&lt;br /&gt;
%S_3={h(a), h(b), r(a), r(b)},en cualquiere caso, tenemos que tener S={h(a), h(b), r(a)}, añadimos r(b) para satisfacer las reglas 1 y 2, en otros casos, no satisface el principal minimal.&lt;br /&gt;
%S_1={h(a), h(b), r(a),-p(a)}, S_2={h(a), h(b), r(a), -p(b)}, S_3={h(a), h(b), r(a), r(b)}.&lt;br /&gt;
%r(b) está desconocido, p(b) y q(b) no son las consultas.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por&lt;br /&gt;
%   Reyes. Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=188</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=188"/>
		<updated>2019-11-06T20:51:01Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% gemtermej&lt;br /&gt;
% La solución es tatata&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido,&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y anularía a su vez la tercera regla. Puesto que este conjunto de respuesta {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%programa p puede expresar como &lt;br /&gt;
%-s(a).&lt;br /&gt;
%p(X) ;- not q(X), -s(a).&lt;br /&gt;
%r(X) :- p(X).&lt;br /&gt;
%r(X) :- q(X).&lt;br /&gt;
%final tenemos la respuesta S_1={-s(a), p(X), r(X)},tenemos que escoger la cabeza de la regla 2, porque he escogido s(a), y con p(X),r(X) la cabeza tiene que estar en el conjunto, y también ha satisfacido la regla 4. &lt;br /&gt;
%s(a), no, no es la consulta.&lt;br /&gt;
%r(a), si, es la consulta.&lt;br /&gt;
%s(b),no, no es la consulta.&lt;br /&gt;
%q(b),desconocido.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por&lt;br /&gt;
%   Reyes. Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=187</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=187"/>
		<updated>2019-11-06T13:35:03Z</updated>

		<summary type="html">&lt;p&gt;Xinwu2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa P y responder a las consultas siguientes: ¿p?, ¿q? &lt;br /&gt;
&lt;br /&gt;
p, q, r.&lt;br /&gt;
¬p :- not s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% gemtermej&lt;br /&gt;
% La solución es tatata&lt;br /&gt;
&lt;br /&gt;
% jescammor1&lt;br /&gt;
% S_1={q, -p} Si escogemos q entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_2={r, -p} Si escogemos r entre (p, q, r) , tenemos que s no pertenece al conjunto y por la segunda regla debemos introducir -p.&lt;br /&gt;
% S_3={p, ...} Escoger p nos lleva a contradicción con la segunda regla. Como S_1 y S_2 eran minimales, ya hemos estudiado todos los casos posibles.&lt;br /&gt;
% Consulta p: No, puesto que -p aparece en todos los conjuntos de respuesta (S_1, S_2).&lt;br /&gt;
% Consulta q: Desconodido, puesto que S_2 no lo contiene ni a el, ni a su complementario.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, s},Si escogemos p, después tenemos que escogemos s,como consulta S={p, s}.&lt;br /&gt;
%S_2={q, -p},por condición 1, tenemos que elegir q o r, y después para satisfacer condición 2, hemos satisfacido el cuerpo, tenemos que satisfacer la cabeza con -p.&lt;br /&gt;
%S_3={r, -p},es igual con S_1.&lt;br /&gt;
%S_4={q, s},Si escogemos q o r para la regla 1, para 2, también podemos elegir S para satisfacer regla 2.&lt;br /&gt;
%S_5={r, s},es igual con S_3.&lt;br /&gt;
%consulta p:no es la consulta,no puede satisfacer S_2 y S_3.&lt;br /&gt;
%consulta q:desconocido,&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
% programa:&lt;br /&gt;
&lt;br /&gt;
p :- not q.&lt;br /&gt;
q :- not p.&lt;br /&gt;
r :- not s.&lt;br /&gt;
s :- not r.&lt;br /&gt;
-s :- q.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% A priori las reglas 1 y 2 no nos restrigen en p y q. &lt;br /&gt;
% Supongamos que tenemos p en nuestro conjunto de respuesta, entonces q no puede estar en el conjunto. Esto elimina la acción de la quinta regla. Por las reglas 3 y 4 volvemos a no estar restringidos entre elegir r o s. Así pues, obtenemos dos conjuntos S_1={p, s} y S_2={p, r}.&lt;br /&gt;
% Si en lugar de p escogemos q, la cosa cambia ligeramente. Por la quinta regla nos vemos obligados a introducir -s en el conjunto de respuesta. Esto hace que s no esté en dicho conjunto, para que sea consistente, por lo que la regla 3 nos obliga a introducir tambien a r. El conjunto quedaria como S_3={q, -s, r}.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%S_1={p, r} desde el última regla hasta arriba,podemos satisfacer la regla 5 sin elegir q,y sobre regla 1,tenemos que escoger p, y regla 2 ya satisfacida,sobre regla 3 y 4, podemos elegir la cabeza para satisfacer.&lt;br /&gt;
%S_2={p, s}, la misma razón como S_3.&lt;br /&gt;
%Si escogemos -s(la cabeza), elegimos r para regla 4 y también satisface regla 3, y para regla primera y segunda, podemos elegir la cabeza también para satisfacer los dos,{-s, r, q},tampoco {-s, r, p} no satisface principal minimal.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el&lt;br /&gt;
%  programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.&lt;br /&gt;
&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(b) :- not p(c).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% Si obligamos a que se cumple S visto como regla &amp;quot;p(c).&amp;quot; la regla 2 deja de ser útil. La primera regla nos indica que hemos de añadir p(a) a nuestro conjunto de respuesta y anularía a su vez la tercera regla. Puesto que este conjunto de respuesta {p(c), p(a)} contiene al conjunto S, S no puede ser conjunto de respuesta porque dejaria de ser minimal.&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿s(b)?, ¿q(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-s(a).&lt;br /&gt;
p(X) :- not q(X), -s(X).&lt;br /&gt;
q(X) :- not p(X).&lt;br /&gt;
r(X) :- p(X).&lt;br /&gt;
r(X) :- q(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
% jescammor1&lt;br /&gt;
% -s(a) lo añadimos a todos los posibles conjuntos de respuesta.&lt;br /&gt;
% Si no añadimos q(a), aplica la regla 2 y nos vemos obligados a introducir p(a).&lt;br /&gt;
%% La regla 3 ya no influye, no así la 4, que nos añade r(a).&lt;br /&gt;
%% S_1={-s(a), p(a), r(a)}.&lt;br /&gt;
% Si pasamos directamente a la regla 3, podemos añadir q(a), que anula la regla 2. &lt;br /&gt;
%% La cuarta regla no aplica, puesto que seguimos sin saber nada de p(a).&lt;br /&gt;
%% La última regla si nos añadiría un r(a).&lt;br /&gt;
%% S_2={-s(a), q(a), r(a)}&lt;br /&gt;
% Esto sería sin contar que tenemos un segundo literal b. Este estudio lo podemos hacer reparado eliminando la primera regla.&lt;br /&gt;
%% La regla 2 no aplica para b porque no sabemos nada de -s(b). &lt;br /&gt;
%% La regla 3 si es útil, porque de momento no sabemos nada de b o en este caso p(b). Así que debemos añadir q(b) a todos nuestros conjuntos de respuesta.&lt;br /&gt;
%% Como vimos antes, si tenemos q(b) también tendremos r(b).&lt;br /&gt;
%% En conclusión los conjuntos de respuesta finales son S&amp;#039;_1={-s(a), p(a), r(a), q(b), r(b)} y S&amp;#039;_2={-s(a), q(a), r(a), q(b), r(b)}.&lt;br /&gt;
% Consulta s(a): No, porque aparece en ambos conjuntos negado&lt;br /&gt;
% Consulta r(a): Si, porque aparece en ambos conjuntos&lt;br /&gt;
% Consulta s(b): Desconocido, porque no aparece en ninguno&lt;br /&gt;
% Consulta q(b): Si, porque aparece en ambos&lt;br /&gt;
&lt;br /&gt;
%xinwu2&lt;br /&gt;
%todos los conjuntos incluen -s(a)&lt;br /&gt;
%S_1={-s(a), p(a),r(a)},tenemos que escoger la cabeza de la regla 2 y 4, porque he escogido s(a), no satisface el cuerpo de la regla 2, regla 2 esta satisfacido, y solo cogimos r(X) para satisfacer regla 3 y 4.&lt;br /&gt;
%s(a), no es la consulta.&lt;br /&gt;
%r(a), es la consulta.&lt;br /&gt;
%s(b),desconocido.&lt;br /&gt;
%q(b),desconocido.&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,&lt;br /&gt;
%   ¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
p(a), -p(b).&lt;br /&gt;
q(X) :- -p(X).&lt;br /&gt;
-q(X) :- not q(X).&lt;br /&gt;
r(X) :- not p(X).&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente&lt;br /&gt;
%   programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
p(X),q(X) :- not r(X).&lt;br /&gt;
-p(X) :- h(X), not r(X).&lt;br /&gt;
h(a).&lt;br /&gt;
h(b).&lt;br /&gt;
r(a).&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
% Ejercicio 7: Consideremos la siguiente situación: &amp;quot;Si Juan no compra&lt;br /&gt;
%   juguetes para sus hijos, los niños de Juan no recibirán juguetes por&lt;br /&gt;
%   Reyes. Si los hijos de Juan no escriben sus cartas a los Reyes, Juan&lt;br /&gt;
%   no les comprará juguetes. Los niños de Juan reciben juguetes por&lt;br /&gt;
%   Reyes&amp;quot;. Supongamos que la interpretación de esta historia implica que&lt;br /&gt;
%   los hijos de Jim escribieron las cartas a los Reyes. &lt;br /&gt;
%   + Modelizar esta historia como un programa ASP y calcular los&lt;br /&gt;
%     conjuntos de respuesta, usando la disyunción para representar la ley&lt;br /&gt;
%     del tercio excluso.&lt;br /&gt;
%   + Modelizar esta historia en un programa ASP y calcular los conjuntos&lt;br /&gt;
%     de respuesta esta vez haciendo explícito el contrapositivo para cada&lt;br /&gt;
%     afirmación.&lt;br /&gt;
&lt;br /&gt;
% Solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xinwu2</name></author>
		
	</entry>
</feed>