2
module Logic.Relations where
10
Reflexive : {A : Set} -> Rel A -> Set
11
Reflexive {A} _R_ = {x : A} -> x R x
13
Symmetric : {A : Set} -> Rel A -> Set
14
Symmetric {A} _R_ = {x y : A} -> x R y -> y R x
16
Transitive : {A : Set} -> Rel A -> Set
17
Transitive {A} _R_ = {x y z : A} -> x R y -> y R z -> x R z
19
Congruent : {A : Set} -> Rel A -> Set
20
Congruent {A} _R_ = (f : A -> A)(x y : A) -> x R y -> f x R f y
22
Substitutive : {A : Set} -> Rel A -> Set1
23
Substitutive {A} _R_ = (P : A -> Set)(x y : A) -> x R y -> P x -> P y
25
module PolyEq (_≡_ : {A : Set} -> Rel A) where
27
Antisymmetric : {A : Set} -> Rel A -> Set
28
Antisymmetric {A} _R_ = (x y : A) -> x R y -> y R x -> x ≡ y
30
module MonoEq {A : Set}(_≡_ : Rel A) where
32
Antisymmetric : Rel A -> Set
33
Antisymmetric _R_ = (x y : A) -> x R y -> y R x -> x ≡ y
37
Total : {A : Set} -> Rel A -> Set
38
Total {A} _R_ = (x y : A) -> (x R y) \/ (y R x)
40
Decidable : (P : Set) -> Set
41
Decidable P = P \/ ¬ P