<?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=Ulipasdia</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=Ulipasdia"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php/Especial:Contribuciones/Ulipasdia"/>
	<updated>2026-07-22T14:54:50Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Aplicaciones_y_casos_de_estudio&amp;diff=86</id>
		<title>Aplicaciones y casos de estudio</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Aplicaciones_y_casos_de_estudio&amp;diff=86"/>
		<updated>2019-02-06T10:21:35Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En esta sección se publican loas aplicaciones y casos de estudio presentadas por los alumnos en la asignatura.&lt;br /&gt;
&lt;br /&gt;
* [[Puzzles de tableros]]: Resolución de puzzles de tableros mediante ASP, presentado por Ana Alicia Rivera.&lt;br /&gt;
* [[Laberintos]]: Resolución y generación de laberintos mediante ASP, presentado por María Calvo.&lt;br /&gt;
* [[Aplicaciones a bioinformática]]: Aplicaciones a bioinformática, presentado por Ulises Pastor.&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_3_(2)&amp;diff=81</id>
		<title>Relación 3 (2)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_3_(2)&amp;diff=81"/>
		<updated>2019-01-21T23:09:15Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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 de planificación: los siguientes predicados describen un&lt;br /&gt;
% &amp;quot;mundo&amp;quot; que representa la acciones de un camión que transporta&lt;br /&gt;
% paquetes entre ciudades:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% paquete(X): el objeto X es un paquete.&lt;br /&gt;
&lt;br /&gt;
% ciudad(X): el objeto X es una ciudad.&lt;br /&gt;
&lt;br /&gt;
% autovia(C1,C2): las ciudades C1 y C2 están conectadas por autovía.&lt;br /&gt;
&lt;br /&gt;
% en(X,C): el elemento x (el camión o un paquete) está en la ciudad C.&lt;br /&gt;
&lt;br /&gt;
% dentroCamion(X): el paquete X está cargado en el camión.&lt;br /&gt;
&lt;br /&gt;
% descargado: el camión está descargado.&lt;br /&gt;
&lt;br /&gt;
% Las acciones que se pueden realizar son las siguientes:&lt;br /&gt;
&lt;br /&gt;
% cargar(P,C): el camión (que debe estar descargado) carga el paquete P&lt;br /&gt;
%              en la ciudad C.  Una vez cargado, el paquete ya no se&lt;br /&gt;
%              considera que esté en la ciudad C.&lt;br /&gt;
&lt;br /&gt;
% descargar(P,C): el camión descarga el paquete P en la ciudad C.&lt;br /&gt;
&lt;br /&gt;
% ir(C1,C2): el camión se desplaza por autovía desde la ciudad C1 a la&lt;br /&gt;
%            ciudad C2.&lt;br /&gt;
&lt;br /&gt;
% Supongamos que deseamos encontrar la secuencia de acciones que a&lt;br /&gt;
% partir de un estado inicial en el que un paquete p1 está en Barcelona,&lt;br /&gt;
% un paquete p2 está en Madrid, y el camión está en Sevilla, deja&lt;br /&gt;
% finalmente el paquete p1 en Sevilla, el paquete p2 en Barcelona y el&lt;br /&gt;
% camión descargado. Supondremos que existe una autovía entre Barcelona&lt;br /&gt;
% y Madrid y otra entre Madrid y Sevilla.&lt;br /&gt;
&lt;br /&gt;
%% ----------&lt;br /&gt;
%% Signatura:&lt;br /&gt;
%% ----------&lt;br /&gt;
&lt;br /&gt;
#const n = 8.&lt;br /&gt;
paso(0..n).&lt;br /&gt;
&lt;br /&gt;
paquete(p1;p2).&lt;br /&gt;
elemento(camion).&lt;br /&gt;
elemento(X) :- paquete(X).&lt;br /&gt;
&lt;br /&gt;
ciudad(madrid;sevilla;barcelona).&lt;br /&gt;
&lt;br /&gt;
%% ----------&lt;br /&gt;
%% Estáticos:&lt;br /&gt;
%% ----------&lt;br /&gt;
&lt;br /&gt;
autovia(madrid,sevilla).&lt;br /&gt;
autovia(madrid,barcelona).&lt;br /&gt;
&lt;br /&gt;
autovia(C1,C2) :- autovia(C2,C1).&lt;br /&gt;
&lt;br /&gt;
%% ----------&lt;br /&gt;
%% Fluyentes:&lt;br /&gt;
%% ----------&lt;br /&gt;
&lt;br /&gt;
fluyente(inercia,en(X,C)) :- ciudad(C),&lt;br /&gt;
							 elemento(X).&lt;br /&gt;
							 &lt;br /&gt;
fluyente(inercia,dentroCamion(X)) :- paquete(X).&lt;br /&gt;
&lt;br /&gt;
fluyente(definido,descargado).&lt;br /&gt;
&lt;br /&gt;
% Definición descargado.&lt;br /&gt;
-cierto(descargado,I) :- cierto(dentroCamion(P),I),&lt;br /&gt;
						 paquete(P),&lt;br /&gt;
						 paso(I).&lt;br /&gt;
&lt;br /&gt;
cierto(descargado,I) :- not -cierto(descargado,I),&lt;br /&gt;
						paso(I).&lt;br /&gt;
&lt;br /&gt;
%% ---------&lt;br /&gt;
%% Acciones:&lt;br /&gt;
%% ---------&lt;br /&gt;
&lt;br /&gt;
%% Acción cargar:&lt;br /&gt;
&lt;br /&gt;
accion(cargar(P,C)) :- paquete(P),&lt;br /&gt;
					   ciudad(C).&lt;br /&gt;
			&lt;br /&gt;
% Efecto:&lt;br /&gt;
&lt;br /&gt;
cierto(dentroCamion(P),I+1) :- ocurre(cargar(P,C),I),&lt;br /&gt;
							   I &amp;lt; n.&lt;br /&gt;
&lt;br /&gt;
% Restricciones:&lt;br /&gt;
% El paquete debe estar en la ciudad.&lt;br /&gt;
-ocurre(cargar(P,C),I) :- not cierto(en(P,C),I),&lt;br /&gt;
						  paquete(P),&lt;br /&gt;
						  ciudad(C),&lt;br /&gt;
						  paso(I).&lt;br /&gt;
&lt;br /&gt;
% El camión debe estar en la ciudad.&lt;br /&gt;
-ocurre(cargar(P,C),I) :- not cierto(en(camion,C),I),&lt;br /&gt;
						  paquete(P),&lt;br /&gt;
						  ciudad(C),&lt;br /&gt;
						  paso(I).&lt;br /&gt;
&lt;br /&gt;
% El camión debe estar descargado.&lt;br /&gt;
-ocurre(cargar(P,C),I) :- not cierto(descargado,I),&lt;br /&gt;
						  paquete(P),&lt;br /&gt;
						  ciudad(C),&lt;br /&gt;
						  paso(I).&lt;br /&gt;
						  &lt;br /&gt;
%% Acción descargar:			&lt;br /&gt;
accion(descargar(P,C)) :- paquete(P),&lt;br /&gt;
						  ciudad(C).&lt;br /&gt;
&lt;br /&gt;
% Efecto:&lt;br /&gt;
cierto(en(P,C),I+1) :- ocurre(descargar(P,C),I),&lt;br /&gt;
					   I &amp;lt; n.&lt;br /&gt;
&lt;br /&gt;
% Restricciones:&lt;br /&gt;
% El paquete descargado debe estar en el camión.&lt;br /&gt;
-ocurre(descargar(P,C),I) :- not cierto(dentroCamion(P),I),&lt;br /&gt;
							 paquete(P),&lt;br /&gt;
							 ciudad(C),&lt;br /&gt;
							 paso(I).&lt;br /&gt;
&lt;br /&gt;
% El camión debe estar en la ciudad de descarga.							 &lt;br /&gt;
-ocurre(descargar(P,C),I) :- not cierto(en(camion,C),I),&lt;br /&gt;
							 paquete(P),&lt;br /&gt;
							 ciudad(C),&lt;br /&gt;
							 paso(I).&lt;br /&gt;
					   &lt;br /&gt;
%% Acción ir:					   &lt;br /&gt;
accion(ir(C1,C2)) :- ciudad(C1),&lt;br /&gt;
					 ciudad(C2).&lt;br /&gt;
					 &lt;br /&gt;
% Efecto:&lt;br /&gt;
cierto(en(camion,C2),I+1) :- ocurre(ir(C1,C2),I),&lt;br /&gt;
							 I &amp;lt; n.&lt;br /&gt;
&lt;br /&gt;
% Restricciones:&lt;br /&gt;
&lt;br /&gt;
% El camión debe estar en la ciudad de partida.&lt;br /&gt;
-ocurre(ir(C1,C2),I) :- not cierto(en(camion,C1),I),&lt;br /&gt;
						ciudad(C1),&lt;br /&gt;
						ciudad(C2),&lt;br /&gt;
						paso(I).&lt;br /&gt;
						&lt;br /&gt;
% Debe existir una autovía entre las ciudades.						&lt;br /&gt;
-ocurre(ir(C1,C2),I) :- not autovia(C1,C2),&lt;br /&gt;
						ciudad(C1),&lt;br /&gt;
						ciudad(C2),&lt;br /&gt;
						paso(I).&lt;br /&gt;
&lt;br /&gt;
%%----------------------------------------&lt;br /&gt;
%% Codificación del sistema de descripción:&lt;br /&gt;
%%----------------------------------------&lt;br /&gt;
&lt;br /&gt;
% Si un objeto está en el camión, entonces no está en ninguna ciudad.&lt;br /&gt;
&lt;br /&gt;
-cierto(en(P,C),I) :- cierto(dentroCamion(P),I),&lt;br /&gt;
					  ciudad(C),&lt;br /&gt;
					  paso(I).&lt;br /&gt;
&lt;br /&gt;
% Si un objeto está en una ciudad no está en el camión.&lt;br /&gt;
&lt;br /&gt;
-cierto(dentroCamion(P),I) :- cierto(en(P,C),I),&lt;br /&gt;
							  paso(I).&lt;br /&gt;
&lt;br /&gt;
% Cada elemento solo puede estar en una ciudad.&lt;br /&gt;
&lt;br /&gt;
-cierto(en(X,C1),I) :- cierto(en(X,C2),I),&lt;br /&gt;
					   ciudad(C1),&lt;br /&gt;
					   C1 != C2.&lt;br /&gt;
&lt;br /&gt;
% No puede haber dos paquetes diferentes dentro del camión al mismo tiempo.&lt;br /&gt;
&lt;br /&gt;
-cierto(dentroCamion(P1),I) :- cierto(dentroCamion(P2),I),&lt;br /&gt;
							   paquete(P1),&lt;br /&gt;
							   P1 != P2,&lt;br /&gt;
							   paso(I).&lt;br /&gt;
							   &lt;br /&gt;
%% Hipótesis del mundo cerrado para fluyentes definidos:&lt;br /&gt;
&lt;br /&gt;
% -cierto(F,I) :- fluyente(definido,F), paso(I),&lt;br /&gt;
%                 not cierto(F,I).&lt;br /&gt;
&lt;br /&gt;
%% Axioma de inercia para fluyentes inerciales:&lt;br /&gt;
&lt;br /&gt;
cierto(F,I+1) :- fluyente(inercia,F),&lt;br /&gt;
                cierto(F,I),&lt;br /&gt;
                not -cierto(F,I+1),&lt;br /&gt;
                I &amp;lt; n.&lt;br /&gt;
&lt;br /&gt;
-cierto(F,I+1) :- fluyente(inercia,F),&lt;br /&gt;
                 -cierto(F,I),&lt;br /&gt;
                 not cierto(F,I+1),&lt;br /&gt;
                 I &amp;lt; n.&lt;br /&gt;
                 &lt;br /&gt;
%% Hipótesis del mundo cerrado para acciones:&lt;br /&gt;
&lt;br /&gt;
-ocurre(A,I) :- accion(A), paso(I),&lt;br /&gt;
                not ocurre(A,I).&lt;br /&gt;
     &lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       &lt;br /&gt;
%% Módulo de planificación usando regla de elección:&lt;br /&gt;
  &lt;br /&gt;
exito :- objetivo(I),&lt;br /&gt;
         I &amp;lt;= n.&lt;br /&gt;
:- not exito.&lt;br /&gt;
&lt;br /&gt;
1{ocurre(A,I): accion(A)}1 :- paso(I),&lt;br /&gt;
                              not objetivo(I),&lt;br /&gt;
                             I &amp;lt; n.           &lt;br /&gt;
		 &lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
%% Estado inicial&lt;br /&gt;
&lt;br /&gt;
cierto(en(p1,barcelona),0).&lt;br /&gt;
cierto(en(camion,sevilla),0).&lt;br /&gt;
cierto(en(p2,madrid),0).&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
%% Objetivo:&lt;br /&gt;
&lt;br /&gt;
objetivo(I) :- cierto(descargado,I),&lt;br /&gt;
			   cierto(en(p1,sevilla),I),&lt;br /&gt;
			   cierto(en(p2,barcelona),I).&lt;br /&gt;
			   &lt;br /&gt;
%% Presentación:&lt;br /&gt;
#show ocurre/2.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=44</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=44"/>
		<updated>2018-11-04T23:14:05Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
% -- Ulises:&lt;br /&gt;
% ¿Debería poner la respuesta como comentario usando %?&lt;br /&gt;
% Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En % cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
% En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
% En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
% {p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
% Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
% {p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
% p(a) :- not p(b).&lt;br /&gt;
% p(c) :- not p(a).&lt;br /&gt;
% Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
% p(a).&lt;br /&gt;
% p(c).&lt;br /&gt;
&lt;br /&gt;
% S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
% El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.&lt;br /&gt;
% El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.&lt;br /&gt;
&lt;br /&gt;
% ¿s(a)?: No, ya que P ⊧ ¬s(a).&lt;br /&gt;
% ¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.&lt;br /&gt;
% ¿s(b)?: Desconocido.&lt;br /&gt;
% ¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.&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;
% -- Ulises&lt;br /&gt;
% Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}.&lt;br /&gt;
% Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}.&lt;br /&gt;
&lt;br /&gt;
% ¿q(a)?: No, ya que P ⊧ ¬q(a).&lt;br /&gt;
% ¿r(a)?: Desconocido.&lt;br /&gt;
% ¿q(b)?: Desconocido.&lt;br /&gt;
% ¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta.&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;
% -- Ulises&lt;br /&gt;
% El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}.&lt;br /&gt;
&lt;br /&gt;
% ¿p(b)?: No, ya que ¬p(b) está en S.&lt;br /&gt;
% ¿q(b)?: Sí, ya que está en S.&lt;br /&gt;
% ¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S.&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;
% -- Ulises.&lt;br /&gt;
&lt;br /&gt;
-regalos(hijos) :- not compra(juan).&lt;br /&gt;
-compra(juan) :-  not carta(hijos,reyes).&lt;br /&gt;
regalos(hijos).&lt;br /&gt;
carta(hijos,reyes), -carta(hijos,reyes).&lt;br /&gt;
compra(juan), -compra(juan).&lt;br /&gt;
&lt;br /&gt;
% Si lo hacemos de la siguiente forma:&lt;br /&gt;
&lt;br /&gt;
regalos(hijos) :- compra(juan).&lt;br /&gt;
compra(juan) :-  carta(hijos,reyes).&lt;br /&gt;
regalos(hijos).&lt;br /&gt;
carta(hijos,reyes), -carta(hijos,reyes).&lt;br /&gt;
compra(juan), -compra(juan).&lt;br /&gt;
&lt;br /&gt;
% Tendremos varios conjuntos de respuesta:&lt;br /&gt;
% {regalos(hijos),-carta(hijos,reyes),-compra(juan)}, {regalos(hijos),-carta(hijos,reyes),compra(juan)}, {regalos(hijos),carta(hijos,reyes),compra(juan)}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=43</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=43"/>
		<updated>2018-11-04T23:09:06Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
% -- Ulises:&lt;br /&gt;
% ¿Debería poner la respuesta como comentario usando %?&lt;br /&gt;
% Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En % cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
% En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
% En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
% {p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
% Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
% {p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
% p(a) :- not p(b).&lt;br /&gt;
% p(c) :- not p(a).&lt;br /&gt;
% Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
% p(a).&lt;br /&gt;
% p(c).&lt;br /&gt;
&lt;br /&gt;
% S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&lt;br /&gt;
% -- Ulises&lt;br /&gt;
% Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
% El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.&lt;br /&gt;
% El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.&lt;br /&gt;
&lt;br /&gt;
% ¿s(a)?: No, ya que P ⊧ ¬s(a).&lt;br /&gt;
% ¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.&lt;br /&gt;
% ¿s(b)?: Desconocido.&lt;br /&gt;
% ¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.&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;
% -- Ulises&lt;br /&gt;
% Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}.&lt;br /&gt;
% Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}.&lt;br /&gt;
&lt;br /&gt;
% ¿q(a)?: No, ya que P ⊧ ¬q(a).&lt;br /&gt;
% ¿r(a)?: Desconocido.&lt;br /&gt;
% ¿q(b)?: Desconocido.&lt;br /&gt;
% ¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta.&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;
% -- Ulises&lt;br /&gt;
% El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}.&lt;br /&gt;
&lt;br /&gt;
% ¿p(b)?: No, ya que ¬p(b) está en S.&lt;br /&gt;
% ¿q(b)?: Sí, ya que está en S.&lt;br /&gt;
% ¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S.&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;
% -- Ulises.&lt;br /&gt;
&lt;br /&gt;
-regalos(hijos) :- not compra(juan).&lt;br /&gt;
-compra(juan) :-  not carta(hijos,reyes).&lt;br /&gt;
regalos(hijos).&lt;br /&gt;
carta(hijos,reyes), -carta(hijos,reyes).&lt;br /&gt;
compra(juan), -compra(juan).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=42</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=42"/>
		<updated>2018-11-04T22:58:10Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
-- Ulises:&lt;br /&gt;
¿Debería poner la respuesta como comentario usando %?&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
{p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
{p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
p(a).&lt;br /&gt;
p(c).&lt;br /&gt;
&lt;br /&gt;
S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.&lt;br /&gt;
El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.&lt;br /&gt;
&lt;br /&gt;
¿s(a)?: No, ya que P ⊧ ¬s(a).&lt;br /&gt;
¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.&lt;br /&gt;
¿s(b)?: Desconocido.&lt;br /&gt;
¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.&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;
-- Ulises&lt;br /&gt;
Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}.&lt;br /&gt;
Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}.&lt;br /&gt;
&lt;br /&gt;
¿q(a)?: No, ya que P ⊧ ¬q(a).&lt;br /&gt;
¿r(a)?: Desconocido.&lt;br /&gt;
¿q(b)?: Desconocido.&lt;br /&gt;
¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta.&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;
-- Ulises&lt;br /&gt;
El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}.&lt;br /&gt;
&lt;br /&gt;
¿p(b)?: No, ya que ¬p(b) está en S.&lt;br /&gt;
¿q(b)?: Sí, ya que está en S.&lt;br /&gt;
¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S.&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=41</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=41"/>
		<updated>2018-11-04T22:57:00Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
{p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
{p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
p(a).&lt;br /&gt;
p(c).&lt;br /&gt;
&lt;br /&gt;
S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.&lt;br /&gt;
El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.&lt;br /&gt;
&lt;br /&gt;
¿s(a)?: No, ya que P ⊧ ¬s(a).&lt;br /&gt;
¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.&lt;br /&gt;
¿s(b)?: Desconocido.&lt;br /&gt;
¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.&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;
-- Ulises&lt;br /&gt;
Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}.&lt;br /&gt;
Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}.&lt;br /&gt;
&lt;br /&gt;
¿q(a)?: No, ya que P ⊧ ¬q(a).&lt;br /&gt;
¿r(a)?: Desconocido.&lt;br /&gt;
¿q(b)?: Desconocido.&lt;br /&gt;
¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta.&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;
-- Ulises&lt;br /&gt;
El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}.&lt;br /&gt;
&lt;br /&gt;
¿p(b)?: No, ya que ¬p(b) está en S.&lt;br /&gt;
¿q(b)?: Sí, ya que está en S.&lt;br /&gt;
¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S.&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=40</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=40"/>
		<updated>2018-11-04T22:40:06Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
{p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
{p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
p(a).&lt;br /&gt;
p(c).&lt;br /&gt;
&lt;br /&gt;
S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.&lt;br /&gt;
El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.&lt;br /&gt;
&lt;br /&gt;
¿s(a)?: No, ya que P ⊧ ¬s(a).&lt;br /&gt;
¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.&lt;br /&gt;
¿s(b)?: Desconocido.&lt;br /&gt;
¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.&lt;br /&gt;
&lt;br /&gt;
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=39</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=39"/>
		<updated>2018-11-04T22:16:00Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
{p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
{p,r}, {p,s}, {q,r,¬s}.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
En primer lugar eliminamos las reglas que contengan not p(c):&lt;br /&gt;
p(a) :- not p(b).&lt;br /&gt;
p(c) :- not p(a).&lt;br /&gt;
Y en segundo lugar eliminamos las premisas que contengan not:&lt;br /&gt;
p(a).&lt;br /&gt;
p(c).&lt;br /&gt;
&lt;br /&gt;
S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.&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;
&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=38</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=38"/>
		<updated>2018-11-04T21:38:06Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&lt;br /&gt;
-- Ulises&lt;br /&gt;
Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:&lt;br /&gt;
{p,r}, {p,s}, {q,r}, {q,s}.&lt;br /&gt;
Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:&lt;br /&gt;
{p,r}, {p,s}, {q,r,¬s}.&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;
&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;
&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=37</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=37"/>
		<updated>2018-11-04T21:26:52Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.&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;
&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;
&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;
&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LCyTM2018/index.php?title=Relaci%C3%B3n_1&amp;diff=36</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=36"/>
		<updated>2018-11-04T21:25:21Z</updated>

		<summary type="html">&lt;p&gt;Ulipasdia: &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;
&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;
% Solución:&lt;br /&gt;
-- Ulises:&lt;br /&gt;
Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P $\models$ ¬p.&lt;br /&gt;
En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni $P\models q$ ni $P\models\not q$.&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;
&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;
&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;
&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulipasdia</name></author>
		
	</entry>
</feed>