%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% adm.alt.lp %% %% (C) Thomas Linsbichler, Jörg Pührer, Hannes Strass, 2015 %% %% Deciding realisability of sets of three-valued interpretations %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% admissible semantics inV(I) :- in(I). % members ac(S, J, t) :- inV(I), member(t(S), I), int2(J), ileq(I, J). ac(S, J, f) :- inV(I), member(f(S), I), int2(J), ileq(I, J). % non-members dec(S, I) :- member(t(S), I). dec(S, I) :- member(f(S), I). ac(S, J, t) :- int(I), not inV(I), int2(J), ileq(I, J), member(f(S), I); ac(R, K, f) : member(f(R), I), dec(R, I), int2(K), ileq(I, K), (S, J) != (R, K); ac(Q, L, t) : member(t(Q), I), dec(Q, I), int2(L), ileq(I, L), (S, J) != (Q, L). ac(S, J, f) :- int(I), not inV(I), int2(J), ileq(I, J), member(t(S), I); ac(R, K, f) : member(f(R), I), dec(R, I), int2(K), ileq(I, K), (S, J) != (R, K); ac(Q, L, t) : member(t(Q), I), dec(Q, I), int2(L), ileq(I, L), (S, J) != (Q, L). % the least informative interpretation must be in V :- not inV(nil).