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:
		
							
								
								
									
										2
									
								
								examples/choice-rules.lp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								examples/choice-rules.lp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
p(a).
 | 
			
		||||
{q(a)}.
 | 
			
		||||
@@ -1,10 +1,18 @@
 | 
			
		||||
#external color(1).
 | 
			
		||||
#external edge(2).
 | 
			
		||||
#external vertex(1).
 | 
			
		||||
#show color/2.
 | 
			
		||||
 | 
			
		||||
% assign a set of colors to each vertex
 | 
			
		||||
{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, _).
 | 
			
		||||
:- vertex(V), not covered(V).
 | 
			
		||||
 | 
			
		||||
% adjacent vertices don’t share the same color
 | 
			
		||||
:- 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).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								examples/letters.lp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								examples/letters.lp
									
									
									
									
									
										Normal file
									
								
							@@ -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,3 +1,5 @@
 | 
			
		||||
#show p/2.
 | 
			
		||||
 | 
			
		||||
{p(1..n, 1..n)}.
 | 
			
		||||
 | 
			
		||||
:- p(X, Y1), p(X, Y2), Y1 != Y2.
 | 
			
		||||
@@ -8,5 +10,3 @@ q2(Y) :- p(_, Y).
 | 
			
		||||
 | 
			
		||||
:- not q1(X), X = 1..n.
 | 
			
		||||
:- not q2(Y), Y = 1..n.
 | 
			
		||||
 | 
			
		||||
#show p/2.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#show in/2.
 | 
			
		||||
 | 
			
		||||
{in(1..n, 1..r)}.
 | 
			
		||||
covered(I) :- in(I, S).
 | 
			
		||||
 | 
			
		||||
:- I = 1..n, not covered(I).
 | 
			
		||||
:- in(I, S), in(J, S), in(I + J, S).
 | 
			
		||||
 | 
			
		||||
#show in/2.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								examples/simple-external-show.lp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								examples/simple-external-show.lp
									
									
									
									
									
										Normal file
									
								
							@@ -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).
 | 
			
		||||
							
								
								
									
										5
									
								
								examples/simple-external.lp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								examples/simple-external.lp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
s(X) :- p(X).
 | 
			
		||||
s(X) :- q(X).
 | 
			
		||||
 | 
			
		||||
#external p(1).
 | 
			
		||||
#external q(1).
 | 
			
		||||
		Reference in New Issue
	
	Block a user