@@ -33,6 +33,13 @@ open SymInterior public
33
33
------------------------------------------------------------------------
34
34
-- Properties
35
35
36
+ -- A reflexive transitive relation _≤_ gives rise to a poset in which the
37
+ -- equivalence relation is SymInterior _≤_.
38
+ record IsProset {a ℓ} {A : Set a} (_≤_ : Rel A ℓ) : Set (a ⊔ ℓ) where
39
+ field
40
+ refl : Reflexive _≤_
41
+ trans : Transitive _≤_
42
+
36
43
-- The symmetric interior is symmetric.
37
44
symmetric : Symmetric (SymInterior R)
38
45
symmetric (r , r′) = r′ , r
@@ -46,46 +53,43 @@ unfold sym f s = f s , f (sym s)
46
53
reflexive : Reflexive R → Reflexive (SymInterior R)
47
54
reflexive refl = refl , refl
48
55
49
- trans′ : Trans R S T → Trans S R T →
56
+ trans : Trans R S T → Trans S R T →
50
57
Trans (SymInterior R) (SymInterior S) (SymInterior T)
51
- trans′ trans-rs trans-sr (r , r′) (s , s′) = trans-rs r s , trans-sr s′ r′
58
+ trans trans-rs trans-sr (r , r′) (s , s′) = trans-rs r s , trans-sr s′ r′
52
59
53
60
transitive : Transitive R → Transitive (SymInterior R)
54
- transitive tr = trans′ tr tr
61
+ transitive tr = trans tr tr
55
62
56
63
-- The symmetric interior of a strict relation is empty.
57
64
Empty-SymInterior : Asymmetric R → Empty (SymInterior R)
58
65
Empty-SymInterior asym (r , r′) = asym r r′
59
66
60
- -- A reflexive transitive relation _≤_ gives rise to a poset in which the
61
- -- equivalence relation is SymInterior _≤_.
62
- record IsProset {a ℓ} {A : Set a} (_≤_ : Rel A ℓ) : Set (a ⊔ ℓ) where
63
- field
64
- refl : Reflexive _≤_
65
- trans : Transitive _≤_
66
-
67
67
record Proset c ℓ : Set (suc (c ⊔ ℓ)) where
68
68
infix 4 _≤_
69
69
field
70
70
Carrier : Set c
71
71
_≤_ : Rel Carrier ℓ
72
72
isProset : IsProset _≤_
73
73
74
- IsProset⇒IsPartialOrder : ∀ {a ℓ} {A : Set a} {≤ : Rel A ℓ} →
74
+ isEquivalence : ∀ {a ℓ} {A : Set a} {≤ : Rel A ℓ} →
75
+ IsProset ≤ → IsEquivalence (SymInterior ≤)
76
+ isEquivalence isProset = record
77
+ { refl = reflexive ≤-refl
78
+ ; sym = symmetric
79
+ ; trans = transitive ≤-trans
80
+ } where open IsProset isProset renaming (refl to ≤-refl; trans to ≤-trans)
81
+
82
+ isPartialOrder : ∀ {a ℓ} {A : Set a} {≤ : Rel A ℓ} →
75
83
IsProset ≤ → IsPartialOrder (SymInterior ≤) ≤
76
- IsProset⇒IsPartialOrder {≤ = ≤} isProset = record
84
+ isPartialOrder isProset = record
77
85
{ isPreorder = record
78
- { isEquivalence = record
79
- { refl = reflexive refl
80
- ; sym = symmetric
81
- ; trans = transitive trans
82
- }
86
+ { isEquivalence = isEquivalence isProset
83
87
; reflexive = lhs≤rhs
84
- ; trans = trans
88
+ ; trans = ≤- trans
85
89
}
86
90
; antisym = _,_
87
- } where open IsProset isProset
91
+ } where open IsProset isProset renaming (trans to ≤-trans)
88
92
89
- Proset⇒Poset : Proset c ℓ → Poset c ℓ ℓ
90
- Proset⇒Poset record { isProset = isProset } =
91
- record { isPartialOrder = IsProset⇒IsPartialOrder isProset }
93
+ poset : Proset c ℓ → Poset c ℓ ℓ
94
+ poset record { isProset = isProset } =
95
+ record { isPartialOrder = isPartialOrder isProset }
0 commit comments