Está en la página 1de 2

%base

agentesecreto(Alberto,p(espana),p(francia)).
agentesecreto(Luisa,p(espana),p(francia)).
agentesecreto(Carmen,p(egipto),p(japon)).
agentesecreto(Tomas).

%Reglas
%Regla_1
mensaje_francia1(tomas, luisa) :- tomas = 'p(francia)', !, luisa, pais(' no esta en españa').
%Regla_2
mensaje_francia2(luisa, tomas) :- luisa = 'p(espana)', !, tomas, pais(' no esta en españa').
%Regla_3
mensaje_españa1(tomas, alberto) :- tomas = 'p(espana)', !, alberto, pais(' no esta en francia').
%Regla_4
mensaje_españa2(alberto, tomas) :- alberto= 'p(francia)', !, tomas, pais(' no esta en españa').
%Regla_5
mensaje_egipto1(tomas, carmen) :- tomas = 'p(egipto)', !, carmen, pais(' no esta en egipto').
%Regla_6
mensaje_egipto2(carmen, tomas) :- carmen= 'p(egipto)', !, tomas, pais(' no esta en egipto').
%Regla_7
mensaje_japon1(tomas, carmen) :- tomas = 'p(japon)', !, carmen, pais(' no esta en francia').
%Regla_8
mensaje_japon2(carmen, tomas) :- carmen= 'p(francia)', !, tomas, pais(' no esta en japon').
%Regla_9
regla9(alberto, luisa) :- alberto= 'p(egipto)', !, luisa, pais(' no esta en egipto').
%Regla_10
regla10(alberto, carmen) :- alberto= 'p(egipto)', !, carmen, pais(' no esta en egipto').
%Regla_11
regla11(alberto, tomas) :- alberto= 'p(egipto)', !, tomas, pais(' no esta en egipto').
%Regla_12
regla12(luisa, carmen) :- luisa= 'p(egipto)', !, carmen, pais(' no esta en egipto').
%Regla_13
regla13(luisa, tomas) :- luisa= 'p(egipto)', !, tomas, pais(' no esta en egipto').
%Regla_14
regla14(carmen, tomas) :- carmen= 'p(egipto)', !, tomas, pais(' no esta en egipto').

encontrarmentiroso(p(pais)) :-
agentesecreto(mentiroso,p(_,_),p(pais1,pais2)),
format('El mentiroso es ~w~n', [mentiroso]).
encontrarmentiroso(agente) :-
format('~w: agente incorrecta', [agente]).

También podría gustarte