Skip to content

Commit 2e75b0e

Browse files
committed
deleted lparse
reformulated intro accordingly deleted todo deleted 'grounding component' thinned gringo3 comparison
1 parent 00fa0bf commit 2e75b0e

File tree

6 files changed

+74
-78
lines changed

6 files changed

+74
-78
lines changed

gringo3.tex

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ \section{Differences to the Language of \gringo~3}\label{sec:gringo:tri}
88
\item \texttt{NOTES} in \gringo/\clingo\ distribution
99
\end{itemize}
1010

11-
\paragraph{Deprecated features}
11+
\paragraph{Removed features}
1212
\begin{itemize}
1313
\item \code{\#hide} statements
1414
\item \code{\#domain} statements
1515
\item \code{\#compute} statements
1616
\item aggregates
1717
\begin{itemize}
1818
\item multiset semantics
19-
\item \code{\#avg} \index{Aggregates!Average, \code{\#avg}}
19+
\item \code{\#avg} \index{aggregates!average, \code{\#avg}}
20+
\item \code{\#even}/\code{\#odd} \index{aggregates!parity, \code{\#odd}}
2021
\end{itemize}
2122
\end{itemize}
2223

guide.tex

+1-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
\newpage
5050
\appendix
5151
\include{resources}
52-
\include{lparse}
52+
% \include{lparse}
5353
\include{gringo3}
5454
\include{iclingo}
5555
\newpage
@@ -63,6 +63,4 @@
6363
% Note: unfortunately printindex uses pagestyle){plain} for first page
6464
\fancypagestyle{plain}{\pagestyle{fancy}}
6565
\printindex
66-
\newpage
67-
\include{todo}
6866
\end{document}

iclingo.tex

+7-7
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ \section{Differences to the Language of \iclingo\ and \oclingo}\label{sec:iclin
33
This section is not yet ready for publishing
44
and will be included in one of the forthcoming editions of this guide.
55

6-
\paragraph{Deprecated features}
7-
\begin{itemize}
8-
\item command line options
9-
\item \code{\#cumulative} statements
10-
\item \code{\#volatile} statements
11-
\item \oclingo\ specific constructs
12-
\end{itemize}
6+
% \paragraph{Removed features}
7+
% \begin{itemize}
8+
% \item command line options
9+
% \item \code{\#cumulative} statements
10+
% \item \code{\#volatile} statements
11+
% \item \oclingo\ specific constructs
12+
% \end{itemize}
1313

1414
%%% Local Variables:
1515
%%% mode: latex

introduction.tex

+5-7
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,11 @@ \subsection{Outline}\label{sec:outline}
113113
to solver configuration.
114114
Finally, we conclude with a summary in Section~\ref{sec:future}.
115115

116-
For readers familiar with \lparse~\cite{lparseManual}%
117-
\footnote{A grounder that constitutes the traditional front-end of solver \smodels~\cite{siniso02a}}
118-
or the \gringo~3 series,
119-
Appendices~\ref{sec:lparse} and~\ref{sec:gringo:tri}
120-
list the most prominent differences to our current tools.
121-
Otherwise, \gringo\ and \clingo\ series~4 should accept most inputs recognized by \lparse\ and \gringo~3,
122-
while the input of solver \clasp\ can also be generated by \lparse\ instead of \gringo.
116+
For readers familiar with the \gringo~3 series, Appendix~\ref{sec:gringo:tri}
117+
lists the most prominent differences to the current series.
118+
Otherwise, \gringo\ and \clingo\ series~4 should accept most inputs recognized by \gringo~3 (and the seminal grounder \lparse~\cite{lparseManual}%
119+
\footnote{A grounder that constitutes the traditional front-end of solver \smodels~\cite{siniso02a}}).
120+
The input of solver \clasp\ can be generated by all versions of \gringo\ (as well as \lparse).
123121
Be aware that there are some syntactic and semantic changes between the language of the series 3 and 4,
124122
so already existing encodings have to be adapted to be used with series 4.
125123
Throughout this document, we provide illustrative examples.

language.tex

+4-5
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ \subsubsection{Normal Programs and Integrity Constraints}\label{subsec:gringo:no
304304
(a literal not preceded by \code{not}) in the body of the rule.
305305
For instance, the first two schematic rules in Example~\ref{ex:flies}
306306
are safe because they include \code{\pred{bird}(\var{X})} in their positive bodies.
307-
This tells \gringo\ (or the grounding component of \clingo)
307+
This tells \gringo\ (or \clingo)
308308
that the values to be substituted for~\var{X} are limited to birds.
309309

310310
Up to now, we have introduced terms, facts, (normal) rules, and integrity constraints.
@@ -588,7 +588,7 @@ \subsubsection{Built-in Comparison Predicates}\label{subsec:gringo:comp}
588588
\index{Comparison Predicates!Greater or Equal, \code{>=}}
589589
\index{Logic Programs!Atoms!Comparison Predicates}
590590

591-
Grounder \gringo\ and the grounding component of \clingo\
591+
Grounder \gringo\ (and \clingo)
592592
feature a total order among variable-free terms (without arithmetic functions).
593593
The built-in predicates to compare terms are
594594
\code{=} (equal),
@@ -707,7 +707,7 @@ \subsubsection{Built-in Comparison Predicates}\label{subsec:gringo:comp}
707707
However, this only works when unification can be made directionally,
708708
i.e., it must be possible to instantiate one side without knowing the values of variables on the other side.
709709
For example, the rule~\code{\pred{p}(\var{X})\,:-\:\var{X}\:=\:\var{Y},\:\var{Y}\:=\:\var{X}.}
710-
is not accepted by \gringo\ (or the grounding component of \clingo)
710+
is not accepted by \gringo\ (or \clingo)
711711
because values for~\var{X} rely on values for~\var{Y}, and vice versa.
712712
Only simple arithmetic terms can be unified with (cf.\ Remark~\ref{note:simple}).
713713
Hence, variable~\var{X} in literal~\code{X*X=8} must be bound by some other positive literal.
@@ -2056,8 +2056,7 @@ \subsection{Input Language of \clasp}\label{subsec:lang:clasp}
20562056

20572057
For ASP solving,
20582058
\clasp\ is typically invoked in a pipe reading
2059-
a logic program output by \gringo\
2060-
or as a component of \clingo:
2059+
a logic program output by \gringo\ (or \clingo):
20612060
%
20622061
\begin{lstlisting}[numbers=none]
20632062
gringo [ options | files ] | clasp [ options | number ]

todo.tex

+54-54
Original file line numberDiff line numberDiff line change
@@ -21,60 +21,60 @@ \section{TODO}
2121
%%% \item section disjunctive modeling (do book)
2222
% \item quoting of expressions/symbols (double quotes, punctuation)
2323
\item homogeneous style for schematics in language section
24-
\item the language section uses very often: ``gringo and the grounding component of clingo''
25-
\item Vladimir's comments
26-
\begin{itemize}
27-
\item
28-
The symbols \code{\#sup} and \code{\#inf} are new to me, is this a recent addition to the
29-
language? Is it really true that \code{\#sup>f(\#sup)}, but \code{\#inf<f(\#inf)}?
30-
The explanation of these symbols at the bottom of page 13 is cryptic, I’m
31-
afraid, unless you say there that a total order on variable-free terms is
32-
going to be inroduced later.
33-
\comment{RK: I agree that it is not obvious to the reader why the two symbols are introduced their.
34-
But we have a forward reference to the aggregate section where their use is described.}
35-
\item
36-
The discussion of terms in Sec. 3.1.1 gives the impression that Fig. 2 is a
37-
complete description of the syntax of terms. It would be good to say here
38-
that the definition of a term will be extended later, when arithmetic
39-
operations and intervals are introduced. In fact, Fig. 2 defines something
40-
close to what we call “precomputed” terms in the AG paper. It may be
41-
worthwhile to include this (or similar) name for the class of terms covered
42-
by Fig. 2, for the following reason. The total order that you talk about
43-
in Sec. 3.1.7 is not defined actually on all variable-free terms; it is
44-
defined on *precomputed* variable free terms. Once we decided whether f(a)
45-
is greater than g(2), we are committed to the same choice regarding f(a)
46-
and g(1+1), and regarding g(1..1), right?
47-
\comment{RK: I disscussed this with Martin.
48-
When variable-free terms are introduced, they contain neither arithmetics, pools, or intervals.
49-
The order among variables is introduced along with comparison literals,
50-
where we mention that terms are compared after evaluating arithmetic functions.
51-
Our conclusion was to not introduce auxiliary notions to keep the guide simple.}
52-
% \item
53-
% Will the reader understand “cannot span positive cycles” and “induces no
54-
% positive cycle” in Sec. 3.1.4? Unfortunately, I don't know what to
55-
% suggest.
56-
\end{itemize}
57-
\item Christoph's comments
58-
\begin{itemize}
59-
\item
60-
I have one comment regarding the future work section where it says that it
61-
is considered to add "support for arbitrary positive loops". Since the
62-
second half of the sentence talks about redefining atoms in incremental
63-
programs, I was wondering if these two features are meant to be used
64-
together, i.e., redefining atoms in a cyclic fashion (which would
65-
contradict the outcome of our discussion after Cristina's defense). If not,
66-
then it should be clarified which kind of positive loops are meant here
67-
since most positive loops are already supported (maybe over aggregates?).
68-
\item
69-
Another question concerns Section 3.1.11 (conditional literals), where I
70-
was wondering how the rule would be instantiated if person(jane) and
71-
person(john) were no fact but derivable atoms. Then meet would only depend
72-
on the available atoms whose corresponding person atoms are currently true.
73-
Maybe one should give another example which demonstrates this. (My idea
74-
would be to use default-negation to derive an intermediate atom if there is
75-
a person who is not available, and then use another default-negation to
76-
check if this atom is not true.).
77-
\end{itemize}
24+
%\item the language section uses very often: ``gringo and the grounding component of clingo''
25+
% \item Vladimir's comments
26+
% \begin{itemize}
27+
% \item
28+
% The symbols \code{\#sup} and \code{\#inf} are new to me, is this a recent addition to the
29+
% language? Is it really true that \code{\#sup>f(\#sup)}, but \code{\#inf<f(\#inf)}?
30+
% The explanation of these symbols at the bottom of page 13 is cryptic, I’m
31+
% afraid, unless you say there that a total order on variable-free terms is
32+
% going to be inroduced later.
33+
% \comment{RK: I agree that it is not obvious to the reader why the two symbols are introduced their.
34+
% But we have a forward reference to the aggregate section where their use is described.}
35+
% \item
36+
% The discussion of terms in Sec. 3.1.1 gives the impression that Fig. 2 is a
37+
% complete description of the syntax of terms. It would be good to say here
38+
% that the definition of a term will be extended later, when arithmetic
39+
% operations and intervals are introduced. In fact, Fig. 2 defines something
40+
% close to what we call “precomputed” terms in the AG paper. It may be
41+
% worthwhile to include this (or similar) name for the class of terms covered
42+
% by Fig. 2, for the following reason. The total order that you talk about
43+
% in Sec. 3.1.7 is not defined actually on all variable-free terms; it is
44+
% defined on *precomputed* variable free terms. Once we decided whether f(a)
45+
% is greater than g(2), we are committed to the same choice regarding f(a)
46+
% and g(1+1), and regarding g(1..1), right?
47+
% \comment{RK: I disscussed this with Martin.
48+
% When variable-free terms are introduced, they contain neither arithmetics, pools, or intervals.
49+
% The order among variables is introduced along with comparison literals,
50+
% where we mention that terms are compared after evaluating arithmetic functions.
51+
% Our conclusion was to not introduce auxiliary notions to keep the guide simple.}
52+
% % \item
53+
% % Will the reader understand “cannot span positive cycles” and “induces no
54+
% % positive cycle” in Sec. 3.1.4? Unfortunately, I don't know what to
55+
% % suggest.
56+
% \end{itemize}
57+
% \item Christoph's comments
58+
% \begin{itemize}
59+
% \item
60+
% I have one comment regarding the future work section where it says that it
61+
% is considered to add "support for arbitrary positive loops". Since the
62+
% second half of the sentence talks about redefining atoms in incremental
63+
% programs, I was wondering if these two features are meant to be used
64+
% together, i.e., redefining atoms in a cyclic fashion (which would
65+
% contradict the outcome of our discussion after Cristina's defense). If not,
66+
% then it should be clarified which kind of positive loops are meant here
67+
% since most positive loops are already supported (maybe over aggregates?).
68+
% \item
69+
% Another question concerns Section 3.1.11 (conditional literals), where I
70+
% was wondering how the rule would be instantiated if person(jane) and
71+
% person(john) were no fact but derivable atoms. Then meet would only depend
72+
% on the available atoms whose corresponding person atoms are currently true.
73+
% Maybe one should give another example which demonstrates this. (My idea
74+
% would be to use default-negation to derive an intermediate atom if there is
75+
% a person who is not available, and then use another default-negation to
76+
% check if this atom is not true.).
77+
% \end{itemize}
7878
\end{itemize}
7979

8080
%%% Local Variables:

0 commit comments

Comments
 (0)