-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathmetasp.tex
61 lines (61 loc) · 1.7 KB
/
metasp.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
% ----------------------------------------------------------------------
\begin{frame}{\metasp}
\begin{itemize}
\item \structure{Idea} \ extend ASP via meta programming
\item \structure{Features} \
\begin{itemize}
\item reification
\item meta programming
\item ASP solver in a dozen lines
\end{itemize}
\item \structure{References} \ \cite{gekasc11b,karoscwa21a}
\item \structure{Applications} \ \cite{brderosc15b,digelurosc18a}
\end{itemize}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}[fragile]{Grounding for meta programming}
\begin{adjustbox}{max totalsize={\textwidth}{.83\textheight},keepaspectratio}
\begin{lstlisting}
$ gringo --output=reify enconding.lp instance.lp
atom_tuple(0).
atom_tuple(0,1).
literal_tuple(0).
rule(disjunction(0),normal(0)).
atom_tuple(1).
atom_tuple(1,2).
rule(disjunction(1),normal(0)).
atom_tuple(2).
atom_tuple(2,3).
rule(disjunction(2),normal(0)).
atom_tuple(3).
atom_tuple(3,4).
rule(disjunction(3),normal(0)).
atom_tuple(4).
atom_tuple(4,5).
rule(disjunction(4),normal(0)).
atom_tuple(5).
atom_tuple(5,6).
rule(disjunction(5),normal(0)).
atom_tuple(6).
atom_tuple(6,7).
rule(disjunction(6),normal(0)).
atom_tuple(7).
atom_tuple(7,8).
rule(disjunction(7),normal(0)).
atom_tuple(8).
atom_tuple(8,9).
...
\end{lstlisting}
\end{adjustbox}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}[fragile,shrink=34]{Meta encoding, or ASP in ASP}
\bigskip
\lstinputlisting[language=clingo]{encodings/meta.lp}
\end{frame}
% ----------------------------------------------------------------------
%
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../../main"
%%% End: