Skip to content
Snippets Groups Projects
Commit cc2072ee authored by Regis Blanc's avatar Regis Blanc
Browse files

proving properties of equivalence over rationals

parent c0785649
No related branches found
No related tags found
No related merge requests found
......@@ -66,4 +66,24 @@ object RationalProps {
require(p.isRational && q.isRational && q.nonZero)
((p / q) * q) ~ p
} holds
/*
* properties of equivalence
*/
def equivalentIsReflexive(p: Rational): Boolean = {
require(p.isRational)
p ~ p
} holds
def equivalentIsSymmetric(p: Rational, q: Rational): Boolean = {
require(p.isRational && q.isRational && p ~ q)
q ~ p
} holds
def equivalentIsTransitive(p: Rational, q: Rational, r: Rational): Boolean = {
require(p.isRational && q.isRational && r.isRational && p ~ q && q ~ r)
p ~ r
} holds
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment