Semantic and Declarative Technologies Course -- AIT 2022 Spring Semester
This page contains information on the Semantic and Declarative Technologies
Course -- AIT 2022 Spring Semester
Protégé can be downloaded from here.
Assignment 2 has been published.
A specific part of a You Tube
video explaining the Y-wing (bent triple) technique.
A You Tube
shorts video explaining the X-wing technique.
- Apr-26-2022: Here is
a video on
solving a skyscraper sudoku puzzle, with nice explanation of the rules,
starting at 0:57.
- Apr-20-2022: Some hints are available on Homework C2.
- Apr-14-2022: A new PLWIN app
admin is available for
checking results and feedback.
- Apr-14-2022: A new PLWIN app C1-1 (practice of constraint execution) is
Mar-21-2022: For search tree visualisation you can use the web-based Tau-Prolog sandbox:
- Mar-17-2022: Homework Practice P4
published, to be submitted via ETS by 11:59pm Thursday, Mar-24-2022
- Mar-15-2022: Some hints for Homework P3 are available here.
- Mar-10-2022: The class scheduled for Saturday Mar-26-2022 4pm will
be held on Friday, Mar-18-2022, 2pm-4pm, Room 1
- Mar-10-2022: Homework Practice P3
published, to be submitted via ETS by 11:59pm Thursday, Mar-17-2022
- Mar-07-2022: A new set of tasks for the practice of Prolog execution is
available here, to be solved
preferably by Mar-10-2022.
- Mar-03-2022: Homework Practice P2-3 published
- Feb-28-2022: A new PLWIN app (practice of Prolog execution) is
- Feb-27-2022: SWISH seems to be down. Using your ETS user code and
password you can get access to a local SWISH
- Feb-25-2022: Homework Practice P2-2 published
- Feb-25-2022: Zoom links for classes can be obtained by logging in
to ETS (bottom part of the
left hand side menu list)
- Feb-24-2022: Class Practice P2-1 published
- Feb-07-2022: The Plwin Web tutoring system is
Slides of the present, 2022 Spring semester
Videos of the 2022 Spring semester
- Class on Feb-07-2022:
- Class on Feb-10-2022: no recording available :-(.
- Class on Feb-14-2022:
(only the second part of the class, after the break).
- Class on Feb-17-2022:
- Class on Feb-21-2022:
- Class on Feb-24-2022:
(second half spent on Class Practice P2-1)
- Class on Feb-28-2022:
- Class on Mar-03-2022:
- Class on Mar-07-2022:
- Class on Mar-10-2022:
- Class on Mar-17-2022:
- Class on Mar-18-2022:
- Class on Mar-21-2022:
- Class on Mar-24-2022:
- Class on Apr-04-2022:
(In this class we did some practice in preparation for the midterm exam.
This short video is on how to solve one of the sample midterm tasks.)
- Class on Apr-07-2022:
- Class on Apr-11-2022:
- Class on Apr-14-2022:
- Class on Apr-21-2022:
- Class on Apr-25-2022:
- Class on Apr-28-2022:
- Class on May-02-2022:
- Class on May-05-2022:
- Class on May-09-2022:
- Class on May-12-2022:
- Class on May-16-2022:
- Class on May-19-2022:
The main Prolog system of the course is SICStus Prolog. You will obtain,
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.
The example programs presented on the slides can be downloaded
The programs are placed in files
prefixed with the page number of the slide.
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.
For logging into ETS you will need a user code (given by us) and a password
(chosen by you).
Your user code is obtained by concatenating your last name(s) and the
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
If in doubt, check this list.
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;
- enter an 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.
Using the sandbox within ETS
Using your ETS user code and password you can get access to a local SWI Prolog
Submitting homework via ETS
Using the "Submit" menu item you can submit your Prolog code for practice
sessions and assignments.
You can submit the same piece of work several times, the last submission
overrides all the earlier versions. You are encouraged to submit homework
exercise solutions incrementally, so that you can get early
feedback. However, make sure that the last submission includes all earlier
submissions (or corrected versions of these).
You can upload a file with an arbitrary name, but the uploaded file will be
(re)named to the file-name given on the submission page.
After uploading, your homework enters a queue and is tested shortly
afterwards. The log of the test is mailed to you. It can also be viewed by
clicking on the icons in the "Test log" column in the bottom right of the
- Homework L2: published Feb-7-2022, due, on paper or pdf sent by email, by 4:00pm, Feb-14-2022,
- Optional Homework L3-2: published Feb-10-2022, due, on paper or pdf sent by email, by 11:59pm, Feb-17-2022,
- Optional Homework L4-1: published Feb-14-2022:
Transform sentences (1) - (11) from slide 37 to FOL formulas, find subsets of
the formulas that imply some other formula.
Homework due, on paper or pdf sent by email, by 11:00am, Feb-17-2022.
- Homework L4-2: published Feb-17-2022, due,
on paper or pdf sent by email to
email@example.com, by 11:00pm, Feb-24-2022,
If you get stuck doing task 7, hAncestor, here is a hint.
- Class Practice P2-1: published Feb-24-2022, to be submitted via ETS by
- Homework Practice P2-2: published Feb-25-2022, to be submitted via ETS by
- Homework Practice P2-3: published Mar-03-2022, to be submitted via ETS by
- Homework Practice P3: published Mar-10-2022, to be submitted via ETS by
- Homework Practice P4: published Mar-17-2022, to be submitted via ETS by
- Homework Practice C2: published Apr-14-2022,
due in ETS by 11:59pm Apr-21-2022
- For homework tasks in Constraint programming here is some
important advice re handling differences between SICStus and SWI
/* Comment out the next 14 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.
/* end of text to be commented out */
Use the SICStus variants of the library predicates that differ wrt. SWI,
Include the text below at the top of your program file when testing with SWI Prolog
- Homework Practice C3: published Apr-25-2022,
due in ETS by May-2-2022
- Homework Practice S1 (Semantic Web)., published 9-May-2022,
due in ETS as a pdf file (scanned, photographed or latexed) by 16-May-2022
Propositional formulas (L1-1,
..., L1-4), compulsory, due by midnight Feb-14-2022
Propositional resolution (L3-1
compulsory, L3-2 optional), both due by midnight Feb-17-2022
Prolog execution P1-1
(compulsory), due by midnight Mar-10-2022
Prolog execution P1-2
(compulsory), preferably to be solved by 11:00am Mar-10-2022, due by midnight Mar-17-2022
Constraint execution C1-1
(compulsory), due by midnight Apr-25-2022
Links of potential interest
What is the name of this book?
David H. D. Warren. What is Prolog? Slides for a talk, 1974, 15 pages.
Prolog and Logic Programming Historical Sources Archive
Office hours: Mondays 6pm-7pm. Other dates can be arranged as well.
The course rules can be downloaded from here.
You will write the mid-term test on Apr-05-2022 from 4pm in Room 1.
Sample mid-term tests are
1, sample 2,
1, sample 2,
All assignments are to be submitted via the ETS Electronic
Teacher Support (ETS) tool.
Solving a Sudoku
You can download the test cases from here.
Deadline : Monday, April 11th, 2022
Please read some important advice given here.
If (and only if) you think you are unable to
solve the problem, please read the hints available from this page.
There is some information on how to handle subgrids without recursion here.
You can discuss approaches and algorithms, but no code pieces should be shared!
Solving a Skyscraper
Sudoku puzzle: .pdf.
Deadline: Monday, May 9th, 2022.
A description of Skyscraper Sudoku rules can be found here.
You can download the test cases from here.
Here is a
related video. A
simpler version of the puzzle can be played
Lots of Skyscraper Sudoku puzzles can be downloaded from here.
The finals are split into two parts: a sit-in part on the Semantic Web, and
a take-home part on CLPFD programming.
You will write the sit-in part (Semantic Web) of the final test
on Monday, May 23rd, 2022 at 4 pm.
The sample final test (Semantic Web part) can 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: 8:00pm Monday 23rd May.
The CLPFD part is related to the end
view puzzle, see e.g. here.
Last modified by Péter Szeredi,