Semantic and Declarative Technologies Course -- AIT 2020 Spring Semester
This page contains information on the Semantic and Declarative Technologies
Course -- AIT 2020 Spring Semester
Files for the class on April 27th:
Slides of the present, 2020 Spring, semester
Videos of the present, 2020 Spring, semester
- Videos for the second part (Prolog) and third part (Constraints)
- Optional Practice Session 03-19-2020:
corresponding Prolog code
- Class on 03-23-2020:
- Class on 03-26-2020:
last 12 minutes of the video (starting around 1:32) contain some tips
for Assignment 1, re how to use transpose/2 and how to obtain the list of boxes within a sudoku
grid (a corresponding
Prolog script is here).
- Class on 03-30-2020:
- Class on 04-02-2020:
- Class on 04-06-2020:
- Class on 04-09-2020:
- Class on 04-16-2020:
- Class on 04-20-2020:
- Class on 04-23-2020:
- Class on 04-27-2020:
- Class on 04-30-2020:
(recording was started late,
therefore the initial part was re-recorded with no audience)
OWL files: Susan example 1 (as in slides 292-293),
Susan example 2 (extended with hasChild and C1).
- Class on 05-04-2020:
- Class on 05-07-2020:
(recorded into cloud).
As the cloud recording seems to freeze for quite a while, multiple
times, a local recording (starting around minute 2 of the class) is
also made available here
- Class on 05-11-2020:
(recorded into cloud),
(recorded locally, perhaps slightly better sound)
- Class on 05-14-2020:
The main Prolog system of the course is SICStus Prolog. You obtained,
through email, download instructions and a licence (valid till the
beginning of the next term).
You can use other Prolog systems, but your homeworks will be run using
SICStus Prolog. Of the free Prolog systems we
SWI-Prolog, which also has a Web-based sandbox
environment: SWISH. During the
course we will try to give some help in solving compatibility issues.
Please use this link to obtain various
pieces of code for practice on 02-20-2020.
The example programs presented on the slides can be downloaded
The programs are placed in files
prefixed with the page number of the slide.
Propositional resolution free practice
Prolog execution practice
Constraint pruning 1
Constraint pruning 2
What is the name of this book?
The course rules can be downloaded from here.
ETS - the Electronic Teacher Support system
The login page of ETS is
Sometimes you have to press the Reload button, possibly several times, for
the login page to appear. Some browsers may also ask you for additional
confirmation as they consider this an "unsafe" site.
Your user code is obtained by concatenating your last name(s) and the first
name, in this order, and taking the first six letters of this string
(omitting spaces, hyphens, etc). For example, if your
name is Joe Ford, your user code will be
FORDJO. If you
have provided a preferred first name in parentheses, that will be used
and all the other first names ignored. Example: the user code for "Fui
Si (Chris) Won" is
When you first log in:
You can change your email and password anytime using the menu item "My
data". Please do not use a valuable password here.
- enter your user code, leave the password field blank;
- check or edit the email address in the form displayed, then press the Go button;
- wait until you receive a generated password at the email address provided by you;
- enter this password in the second form displayed;
- from now on you can access the services of ETS using this password.
- Practice L1: published 4-Feb-2020
- Homework L2: published 6-Feb-2020, due, on paper or pdf sent by email, by 9:00am, 14-Feb-2020,
- Homework L3: published 13-Feb-2020, due, on paper or pdf sent by email, by 9:00am, 21-Feb-2020,
- Optional Homework P1: published
23-Feb-2020, due in ETS by 4:00pm, 25-Feb-2020,
- Homework P2: published 25-Feb-2020;
due in ETS by 11:59pm 03-March-2020
- Class Practice P3: published
- Homework P4: published
03-March-2020, due in ETS by 11:59pm CET 22-Mar-2020
- Homework P5: published
10-March-2020, due in ETS by 11:59pm CET 31-Mar-2020
- Homework Practice C1: published 9-April-2020,
due in ETS by 11:59pm CEST 16-April-2020
% Comment out the next 17 lines, before submitting to ETS
domain(L, Min, Max) :-
L ins Min..Max.
:- op(760, yfx, #<=>).
:- op(750, xfy, #=>).
:- op(750, yfx, #<=).
X #<=> Y :- X #<==> Y.
X #=> Y :- X #==> Y.
X #<= Y :- X #<== Y.
table(Tuples, Table) :-
% end of text to be commented out
Important advice re handling differences between SICStus and SWI
Use the SICStus variants of the library predicates that differ wrt. SWI,
Include the text below in your program file when testing with SWI Prolog
- Practice C2: published 20-April-2020,
due in ETS by 11:59pm CEST 28-April-2020
- Practice S1, published 4-May-2020,
due in ETS as a pdf file (scanned, photographed or latexed) by 11:59pm CEST 12-May-2020
(Latex source). Note that downloading
the pdf files submitted to ETS is temporarily out of order, nevertheless
your submission is received.
The mid-term test was published on course webpage on Wednesday, April 8th
2020, 4:09 pm CEST: pdf
Solutions are to be submitted via ETS (already open). You are encouraged to
submit partial solutions, only the very last submission will be evaluated.
deadline is Thursday, April 9th, 8:00 pm CEST.
Sample mid-term test
available: sample 1, sample 2.
All assignments are to be submitted via the ETS Electronic
Teacher Support (ETS) tool.
The finals are split into two parts: a sit-in (sit-at-home) part on the Semantic Web, and
a take-home part on CLPFD programming.
The Semantic Web part of the final test can be downloaded from here. This is an OPEN BOOK test, you can use the slides.
The solution should be submitted to
ETS as a pdf file.
Semantic Web part deadline: 11:59pm CEST Sunday 17th May.
The latex source
of the test is available here.
(The sample final test (Semantic Web part) can still be downloaded from here,
and its solution from here.)
The CLPFD part of the final test can be downloaded
from here. It can be submitted and tested using ETS.
CLPFD part deadline: 11:59pm CEST Monday 18th May.
Some hints, about how to make your code prune better, can be read here.
The CLPFD part is related to the end
view puzzle, see e.g. here.
Last modified by Péter Szeredi,