Update examples
This updates the examples to showcase the scope of anthem’s feature set. New examples are added concerning placeholders, hiding predicates, and simplifications related to integer variables.
This commit is contained in:
parent
6015b225a2
commit
20112317fd
|
@ -0,0 +1,2 @@
|
||||||
|
p(a).
|
||||||
|
{q(a)}.
|
|
@ -1,10 +1,18 @@
|
||||||
#external color(1).
|
% assign a set of colors to each vertex
|
||||||
#external edge(2).
|
|
||||||
#external vertex(1).
|
|
||||||
#show color/2.
|
|
||||||
|
|
||||||
{color(V, C)} :- vertex(V), color(C).
|
{color(V, C)} :- vertex(V), color(C).
|
||||||
|
|
||||||
|
% at most one color per vertex
|
||||||
|
:- color(V, C1), color(V, C2), C1 != C2.
|
||||||
|
|
||||||
|
% at least one color per vertex
|
||||||
covered(V) :- color(V, _).
|
covered(V) :- color(V, _).
|
||||||
:- vertex(V), not covered(V).
|
:- vertex(V), not covered(V).
|
||||||
|
|
||||||
|
% adjacent vertices don’t share the same color
|
||||||
:- color(V1, C), color(V2, C), edge(V1, V2).
|
:- color(V1, C), color(V2, C), edge(V1, V2).
|
||||||
:- color(V, C1), color(V, C2), C1 != C2.
|
|
||||||
|
#show color/2.
|
||||||
|
|
||||||
|
#external vertex(1).
|
||||||
|
#external edge(2).
|
||||||
|
#external color(1).
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
letter(a).
|
||||||
|
letter(b).
|
||||||
|
letter(c).
|
||||||
|
|
||||||
|
{p(1..3, Y)} :- letter(Y).
|
||||||
|
:- p(X1, Y), p(X2, Y), X1 != X2.
|
||||||
|
|
||||||
|
q(X) :- p(X, _).
|
||||||
|
:- X = 1..3, not q(X).
|
||||||
|
|
||||||
|
#show p/2.
|
|
@ -1,4 +1,4 @@
|
||||||
#show prime/1.
|
|
||||||
|
|
||||||
composite(I * J) :- I = 2..n, J = 2..n.
|
composite(I * J) :- I = 2..n, J = 2..n.
|
||||||
prime(N) :- N = 2..n, not composite(N).
|
prime(N) :- N = 2..n, not composite(N).
|
||||||
|
|
||||||
|
#show prime/1.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#show in/2.
|
|
||||||
|
|
||||||
{in(1..n, 1..r)}.
|
{in(1..n, 1..r)}.
|
||||||
covered(I) :- in(I, S).
|
covered(I) :- in(I, S).
|
||||||
|
|
||||||
:- I = 1..n, not covered(I).
|
:- I = 1..n, not covered(I).
|
||||||
:- in(I, S), in(J, S), in(I + J, S).
|
:- in(I, S), in(J, S), in(I + J, S).
|
||||||
|
|
||||||
|
#show in/2.
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
s(X) :- p(X).
|
||||||
|
s(X) :- q(X).
|
||||||
|
u(X) :- r(X), not s(X).
|
||||||
|
|
||||||
|
#show u/1.
|
||||||
|
|
||||||
|
#external p(1).
|
||||||
|
#external q(1).
|
||||||
|
#external r(1).
|
|
@ -0,0 +1,5 @@
|
||||||
|
s(X) :- p(X).
|
||||||
|
s(X) :- q(X).
|
||||||
|
|
||||||
|
#external p(1).
|
||||||
|
#external q(1).
|
Loading…
Reference in New Issue