====== Logic and Set Theory ====== ===== Rules ===== During the course Logic and Set Theory a student can get up to 100 pts (100%) **Scale of grades:** 60% dst (3), 75% dst+ (3.5), 80% db (4), 85% db+ (4.5), 90% bdb (5). ** To collect the maximum number of points one has to participate in: ** * two mid-term tests (each worth 30 pts): 60 pts * homework with presentation, two times (each worth 5 pts): 10 pts (students have to prepare handouts of the homework which will be kept by the teaching assistant) * project assignment, two times (each worth 5 pts): 10 pts * ten quizzes (each worth 2 pts): 20 pts **Further rules:** * one can only pass a mid-term test during the day it is conducted * if a student will not collect at least 60 pts at the end of the term, then to pass the course it is required to write a resit test; 60% of the score allows to get grade dst * if a student will gather at least 60 pts but didn't pass a test (*) with a score of at least 10 points a student has to write a test (*) again ==== Projects ==== Logic and set theory course projects: **The project is worth 10 pts in total.** === Rules === 1. Description of the program (PDF + presentation during the session; LaTeX and Beamer are very welcome) (5 pts.) 2. Demo of the features during the session (5 pts.) 3. Groups of 3 - 4 students can present one project. 4. Program must be your own work and cannot use only built-in functions of a specific programming language, i.e. one cannot use libraries that completely solve a given problem. === Project topics: === 1. Program that emulates the action of combined logical gates with sample designs: multiplicator scheme, binary addition scheme, function prescribed by the user. 2. Program that checks the formula in classical logic is syntactically correct, checks the truth of any given correct formula and returns the possible evaluation of variables for which formula is false. 3. Program that produces analytic tableaux for the formula and checks whether the formula is a tautology. 4. Program that turns a given valid formula into a conjunctive/disjunctive normal form (using 0-1 tables). 5. Program that turns a given valid formula into a conjunctive/disjunctive normal form (using transformations to equivalent forms). 6. Program that turns a selected formula into equivalent one with selected restricted set of logical connectives (we restrict to several sets of connectives that form a universal set, e.g. disjunction and negation; conjunction and negation; Sheffer stroke; Pierce arrow). 7. Program that tries to find a formula equivalent to a given one but of shorter length (reduction algorithm; decide on the specific criteria, e.g. number of variables, total number of symbols without brackets etc.).