Homework Part 1.
Due next Tuesday, 2/19/19
Recall the definitions of reflexive, symmetric and transitive relations.
Recall, too, that a relation is a set of ordered pairs.
Section 2.5.2 in Makinson (p44) defines the following:
A similarity relation is when a relation is both reflexive and symmetric, but not transitive.
An equivalence relation is when a relation has three properties - transitivity, symmetry and reflexivity.
Unfortunately, Makinson does not define a relation type when a relation is reflexive and
transitive, but not symmetric. I will call this an "aintbad" relation because, "Two out of three ain't bad."
(1) Using the 2/12 lab as a starting point, create three functions:
similarity?
equivalence?
aintbad?
that will test a binary relation "R" over A, where A = {1, 2, 3} to see if it
qualifies as one of these relations.
(2) Find a test case that will work for each one of the above three functions.
You can have as many tester test cases (that fail any/all three functions) as you like,
but you should have one test case that will pass one of the functions above for a total of three.
WHAT TO HAND IN:
No need to email a program to me. Print off your definitions file and a copy of your interactions
file and hand them both in before Tuesday's lecture.
A RUBRIC OF SORTS:
Total of 10 points.
2 points each for finding a test case that works and includes failing test cases. (6)
2 points for properly commenting code (2)
2 points for properly formatting code (2)
-2 points if you omit your name.