Skip to content

Commit 31633ff

Browse files
committed
refactor: use contradiction-irr instead, following agda#2785
1 parent c7bb4ca commit 31633ff

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

src/Data/Fin/Base.agda

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ open import Level using (0ℓ)
1919
open import Relation.Binary.Core using (Rel)
2020
open import Relation.Binary.PropositionalEquality.Core using (_≡_; _≢_; refl; cong)
2121
open import Relation.Binary.Indexed.Heterogeneous.Core using (IRel)
22-
open import Relation.Nullary.Negation.Core using (¬_; contradiction)
23-
open import Relation.Nullary.Recomputable using (¬-recompute)
22+
open import Relation.Nullary.Negation.Core using (¬_; contradiction-irr)
2423

2524
private
2625
variable
@@ -117,11 +116,8 @@ inject≤ {n = suc _} (suc i) m≤n = suc (inject≤ i (ℕ.s≤s⁻¹ m≤n))
117116

118117
-- lower₁ "i" _ = "i".
119118

120-
lower₁-¬0≢0 : {ℓ} {A : Set ℓ} .(00) A
121-
lower₁-¬0≢0 0≢0 = contradiction refl (¬-recompute 0≢0)
122-
123119
lower₁ : (i : Fin (suc n)) .(n ≢ toℕ i) Fin n
124-
lower₁ {zero} zero ne = lower₁-¬0≢0 ne
120+
lower₁ {zero} zero ne = contradiction-irr refl ne
125121
lower₁ {suc n} zero _ = zero
126122
lower₁ {suc n} (suc i) ne = suc (lower₁ i (ne ∘ cong suc))
127123

@@ -257,7 +253,7 @@ opposite {suc n} (suc i) = inject₁ (opposite i)
257253
-- McBride's "First-order unification by structural recursion".
258254

259255
punchOut : {i j : Fin (suc n)} i ≢ j Fin n
260-
punchOut {_} {zero} {zero} i≢j = contradiction refl i≢j
256+
punchOut {_} {zero} {zero} i≢j = contradiction-irr refl i≢j
261257
punchOut {_} {zero} {suc j} _ = j
262258
punchOut {suc _} {suc i} {zero} _ = zero
263259
punchOut {suc _} {suc i} {suc j} i≢j = suc (punchOut (i≢j ∘ cong suc))

src/Data/Fin/Properties.agda

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ open import Relation.Binary.PropositionalEquality.Properties as ≡
4646
using (module ≡-Reasoning)
4747
open import Relation.Nullary.Decidable as Dec
4848
using (Dec; _because_; yes; no; _×-dec_; _⊎-dec_; map′)
49-
open import Relation.Nullary.Negation.Core using (¬_; contradiction)
49+
open import Relation.Nullary.Negation.Core
50+
using (¬_; contradiction; contradiction-irr)
5051
open import Relation.Nullary.Reflects using (invert)
5152
open import Relation.Unary as U
5253
using (U; Pred; Decidable; _⊆_; Satisfiable; Universal)
@@ -506,15 +507,15 @@ inject!-< {suc n} {suc i} (suc k) = s≤s (inject!-< k)
506507
-- lower₁
507508
------------------------------------------------------------------------
508509

509-
toℕ-lower₁ : i .(p : n ≢ toℕ i) toℕ (lower₁ i p) ≡ toℕ i
510-
toℕ-lower₁ {ℕ.zero} zero 0≢0 = lower₁-¬0≢0 0≢0
510+
toℕ-lower₁ : i .(n≢i : n ≢ toℕ i) toℕ (lower₁ i n≢i) ≡ toℕ i
511+
toℕ-lower₁ {ℕ.zero} zero 0≢0 = contradiction-irr refl 0≢0
511512
toℕ-lower₁ {ℕ.suc m} zero _ = refl
512513
toℕ-lower₁ {ℕ.suc m} (suc i) ne = cong ℕ.suc (toℕ-lower₁ i (ne ∘ cong ℕ.suc))
513514

514515
lower₁-injective : .{n≢i : n ≢ toℕ i} .{n≢j : n ≢ toℕ j}
515516
lower₁ i n≢i ≡ lower₁ j n≢j i ≡ j
516-
lower₁-injective {zero} {zero} {_} {0≢0} {_} _ = lower₁-¬0≢0 0≢0
517-
lower₁-injective {zero} {_} {zero} {_} {0≢0} _ = lower₁-¬0≢0 0≢0
517+
lower₁-injective {zero} {zero} {_} {0≢0} {_} _ = contradiction-irr refl 0≢0
518+
lower₁-injective {zero} {_} {zero} {_} {0≢0} _ = contradiction-irr refl 0≢0
518519
lower₁-injective {suc n} {zero} {zero} {_} {_} _ = refl
519520
lower₁-injective {suc n} {suc i} {suc j} {_} {_} eq =
520521
cong suc (lower₁-injective (suc-injective eq))
@@ -524,7 +525,7 @@ lower₁-injective {suc n} {suc i} {suc j} {_} {_} eq =
524525

525526
inject₁-lower₁ : (i : Fin (suc n)) .(n≢i : n ≢ toℕ i)
526527
inject₁ (lower₁ i n≢i) ≡ i
527-
inject₁-lower₁ {zero} zero 0≢0 = lower₁-¬0≢0 0≢0
528+
inject₁-lower₁ {zero} zero 0≢0 = contradiction-irr refl 0≢0
528529
inject₁-lower₁ {suc n} zero _ = refl
529530
inject₁-lower₁ {suc n} (suc i) n+1≢i+1 =
530531
cong suc (inject₁-lower₁ i (n+1≢i+1 ∘ cong suc))
@@ -541,7 +542,7 @@ lower₁-inject₁ i = lower₁-inject₁′ i (toℕ-inject₁-≢ i)
541542

542543
lower₁-irrelevant : (i : Fin (suc n)) .(n≢i₁ n≢i₂ : n ≢ toℕ i)
543544
lower₁ i n≢i₁ ≡ lower₁ i n≢i₂
544-
lower₁-irrelevant {zero} zero 0≢0 _ = lower₁-¬0≢0 0≢0
545+
lower₁-irrelevant {zero} zero 0≢0 _ = contradiction-irr refl 0≢0
545546
lower₁-irrelevant {suc n} zero _ _ = refl
546547
lower₁-irrelevant {suc n} (suc i) _ _ =
547548
cong suc (lower₁-irrelevant i _ _)
@@ -563,7 +564,7 @@ lower-injective {n = suc n} (suc i) (suc j) eq =
563564

564565
lower₁≗lower : (i : Fin (suc n)) .(n≢i : n ≢ toℕ i)
565566
lower₁ i n≢i ≡ lower i (ℕ.≤∧≢⇒< (toℕ≤pred[n]′ i) (n≢i ∘ sym))
566-
lower₁≗lower {n = zero} zero 0≢0 = lower₁-¬0≢0 0≢0
567+
lower₁≗lower {n = zero} zero 0≢0 = contradiction-irr refl 0≢0
567568
lower₁≗lower {n = suc _ } zero _ = refl
568569
lower₁≗lower {n = suc _ } (suc i) ne = cong suc (lower₁≗lower i (ne ∘ cong suc))
569570

src/Relation/Nullary/Negation/Core.agda

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ _¬-⊎_ = [_,_]
4747
------------------------------------------------------------------------
4848
-- Uses of negation
4949

50-
contradiction-irr : .A ¬ A Whatever
50+
contradiction-irr : .A .(¬ A) Whatever
5151
contradiction-irr a ¬a = ⊥-elim-irr (¬a a)
5252

5353
contradiction : A ¬ A Whatever
54-
contradiction a = contradiction-irr a
54+
contradiction a ¬a = contradiction-irr a ¬a
5555

5656
contradiction₂ : A ⊎ B ¬ A ¬ B Whatever
5757
contradiction₂ (inj₁ a) ¬a ¬b = contradiction a ¬a

0 commit comments

Comments
 (0)