import HFKR
reflR :: Eq a => [a] -> Rel a -> Bool
reflR xs r =
[(x,x) | x <- xs] `containedIn` r
symmR :: Eq a => Rel a -> Bool
symmR r = cnv r `containedIn` r
transR :: Eq a => Rel a -> Bool
transR r = (r @@ r) `containedIn` r
isKD45 :: Eq a => Rel a -> Bool
isKD45 r = transR r && serialR r && euclR r
isS5 :: Eq a => [a] -> Rel a -> Bool
isS5 xs r = reflR xs r && transR r && symmR r