@@ -15,7 +15,6 @@ open import Relation.Binary
15
15
module Relation.Binary.Reasoning.Base.Triple {a ℓ₁ ℓ₂ ℓ₃} {A : Set a}
16
16
{_≈_ : Rel A ℓ₁} {_≤_ : Rel A ℓ₂} {_<_ : Rel A ℓ₃}
17
17
(isPreorder : IsPreorder _≈_ _≤_)
18
- (<-irrefl : Irreflexive _≈_ _<_)
19
18
(<-trans : Transitive _<_) (<-resp-≈ : _<_ Respects₂ _≈_) (<⇒≤ : _<_ ⇒ _≤_)
20
19
(<-≤-trans : Trans _<_ _≤_ _<_) (≤-<-trans : Trans _≤_ _<_ _<_)
21
20
where
@@ -25,7 +24,7 @@ open import Function.Base using (case_of_; id)
25
24
open import Level using (Level; _⊔_; Lift; lift)
26
25
open import Relation.Binary.PropositionalEquality.Core
27
26
using (_≡_; refl; sym)
28
- open import Relation.Nullary using (Dec; yes; no)
27
+ open import Relation.Nullary using (Dec; yes; no; ¬_ )
29
28
open import Relation.Nullary.Decidable using (True; toWitness)
30
29
open import Relation.Nullary.Negation using (contradiction)
31
30
@@ -78,7 +77,7 @@ extractEquality (isEquality x≈y) = x≈y
78
77
-- See `Relation.Binary.Reasoning.Base.Partial` for the design decisions
79
78
-- behind these combinators.
80
79
81
- infix 1 begin_ begin-strict_ begin-irrefl_ begin- equality_
80
+ infix 1 begin_ begin-strict_ begin-equality_
82
81
infixr 2 step-< step-≤ step-≈ step-≈˘ step-≡ step-≡˘ _≡⟨⟩_
83
82
infix 3 _∎
84
83
@@ -92,12 +91,21 @@ begin (equals x≈y) = ≤-reflexive x≈y
92
91
begin-strict_ : ∀ {x y} (r : x IsRelatedTo y) → {s : True (IsStrict? r)} → x < y
93
92
begin-strict_ r {s} = extractStrict (toWitness s)
94
93
95
- begin-irrefl_ : ∀ {x} (r : x IsRelatedTo x) → {s : True (IsStrict? r)} → ∀ {a} {A : Set a} → A
96
- begin-irrefl_ r {s} = contradiction (extractStrict (toWitness s)) (<-irrefl Eq.refl)
97
-
98
94
begin-equality_ : ∀ {x y} (r : x IsRelatedTo y) → {s : True (IsEquality? r)} → x ≈ y
99
95
begin-equality_ r {s} = extractEquality (toWitness s)
100
96
97
+
98
+ begin-irrefl : Irreflexive _≈_ _<_ →
99
+ ∀ {x} (r : x IsRelatedTo x) {s : True (IsStrict? r)} →
100
+ ∀ {a} {A : Set a} → A
101
+ begin-irrefl <-irrefl {x} r {s} = contradiction x<x x≮x where
102
+
103
+ x<x : x < x
104
+ x<x = extractStrict (toWitness s)
105
+
106
+ x≮x : ¬ (x < x)
107
+ x≮x = <-irrefl Eq.refl
108
+
101
109
-- Step with the strict relation
102
110
103
111
step-< : ∀ (x : A) {y z} → y IsRelatedTo z → x < y → x IsRelatedTo z
0 commit comments