# 4. Task and order of execution / Завдання та порядок виконання > **Source of tasks.** The seven tasks below are taken from the assignment; Tasks 6–7 > extend it with antisymmetry and partial orders. Implement the described behaviour — > the input/output examples are authoritative. Task numbers follow the assignment, so > within a difficulty band they are not always consecutive. ## Order of execution The tasks are grouped into three difficulty bands. Implement them in order and test each against its example; your score corresponds to the band of tasks you complete correctly. ## Easy tasks (60–74 points) ### Task 1 — Reflexivity Checker **Objective:** Write a program that checks if a relation is reflexive on a set. - **Input:** Set: `{1, 2, 3}`; Relation: `{(1, 1), (2, 2), (3, 3)}` - **Output:** Is Reflexive: `True` ### Task 2 — Symmetry Identifier **Objective:** Implement a program that identifies if a relation on a set is symmetric. - **Input:** Relation: `{(1, 2), (2, 1), (3, 3)}` - **Output:** Is Symmetric: `True` ### Task 3 — Transitivity Verifier **Objective:** Create a program to verify the transitivity of a relation on a set. - **Input:** Relation: `{(1, 2), (2, 3), (1, 3)}` - **Output:** Is Transitive: `True` ## Medium tasks (75–89 points) ### Task 4 — Equivalence Relation Checker **Objective:** Create a program that checks if a relation on a set is an equivalence relation (reflexive, symmetric, and transitive). - **Input:** Set: `{1, 2, 3}`; Relation: `{(1, 1), (2, 2), (3, 3), (1, 2), (2, 1), (2, 3), (3, 2), (1, 3), (3, 1)}` - **Output:** Is Equivalence Relation: `True` ### Task 6 — Antisymmetry Checker **Objective:** Implement a program that checks whether a relation on a set is antisymmetric (no two **distinct** elements are related both ways). - **Input:** Relation: `{(1, 1), (1, 2), (2, 3)}` - **Output:** Is Antisymmetric: `True` ## Hard tasks (90–100 points) ### Task 5 — Inverse Relation Generator **Objective:** Implement a program that generates the inverse of a given relation. - **Input:** Relation: `{(1, 2), (3, 4), (5, 6)}` - **Output:** Inverse Relation: `{(2, 1), (4, 3), (6, 5)}` ### Task 7 — Partial Order Checker **Objective:** Check whether a relation on a set is a **partial order** (reflexive, antisymmetric, and transitive). - **Input:** Set: `{1, 2, 3}`; Relation: `{(1, 1), (2, 2), (3, 3), (1, 2), (2, 3), (1, 3)}` - **Output:** Is Partial Order: `True`