5. Report contents / Зміст звіту
The report is submitted together with the source code. It must contain the following sections.
- Title block — course, laboratory work number and title, student’s name and group, date.
- Objective — a short statement of the goal of the work (see 1purpose.md).
- Brief theory — the definitions of reflexivity, symmetry, transitivity, antisymmetry, an equivalence relation, a partial order, and the inverse of a relation, in your own words (see Lecture 3 — Relations).
- Chosen representation — how a relation and the underlying set are stored, and how a pair is looked up (membership test).
- Implementation — the source code of each check (
isReflexive,isSymmetric,isTransitive,isAntisymmetric,isEquivalence,isPartialOrder) and ofinverse, with brief comments. State the programming language used. - Testing — for each function, a table of inputs and results including the
examples of 4task.md and your own cases: a relation that fails
each property (e.g. a non-symmetric or non-transitive one) so that both
TrueandFalseoutcomes are demonstrated. - Achieved band — state which band you reached and which tasks it covers.
- Complexity — the time complexity of each check and how it changes with a hash-based membership test.
- Conclusions — what was implemented, difficulties encountered, and what you learned about the properties of relations.
Submission requirements. The source must compile/run and reproduce the example outputs of 4task.md.