8
8
9
9
module Data.Vec.Functional.Properties where
10
10
11
- open import Data.Empty using (⊥-elim)
12
11
open import Data.Fin.Base using (Fin; zero; suc; toℕ; fromℕ<; reduce≥;
13
12
_↑ˡ_; _↑ʳ_; punchIn; punchOut)
14
13
open import Data.Nat.Base as ℕ using (ℕ; zero; suc)
@@ -30,6 +29,7 @@ open import Relation.Binary.PropositionalEquality.Properties
30
29
using (module ≡-Reasoning )
31
30
open import Relation.Nullary.Decidable
32
31
using (Dec; does; yes; no; map′; _×-dec_)
32
+ open import Relation.Nullary.Negation using (contradiction)
33
33
34
34
import Data.Fin.Properties as Finₚ
35
35
@@ -70,7 +70,7 @@ updateAt-updates (suc i) xs = updateAt-updates i (tail xs)
70
70
71
71
updateAt-minimal : ∀ (i j : Fin n) {f : A → A} (xs : Vector A n) →
72
72
i ≢ j → updateAt xs j f i ≡ xs i
73
- updateAt-minimal zero zero xs 0≢0 = ⊥-elim ( 0≢0 refl)
73
+ updateAt-minimal zero zero xs 0≢0 = contradiction refl 0≢0
74
74
updateAt-minimal zero (suc j) xs _ = refl
75
75
updateAt-minimal (suc i) zero xs _ = refl
76
76
updateAt-minimal (suc i) (suc j) xs i≢j = updateAt-minimal i j (tail xs) (i≢j ∘ cong suc)
@@ -117,7 +117,7 @@ updateAt-cong i eq xs = updateAt-cong-local i xs (eq (xs i))
117
117
118
118
updateAt-commutes : ∀ (i j : Fin n) {f g : A → A} → i ≢ j → (xs : Vector A n) →
119
119
updateAt (updateAt xs j g) i f ≗ updateAt (updateAt xs i f) j g
120
- updateAt-commutes zero zero 0≢0 xs k = ⊥-elim ( 0≢0 refl)
120
+ updateAt-commutes zero zero 0≢0 xs k = contradiction refl 0≢0
121
121
updateAt-commutes zero (suc j) _ xs zero = refl
122
122
updateAt-commutes zero (suc j) _ xs (suc k) = refl
123
123
updateAt-commutes (suc i) zero _ xs zero = refl
@@ -238,7 +238,7 @@ insertAt-punchIn {n = suc n} xs (suc i) v (suc j) = insertAt-punchIn (tail xs) i
238
238
removeAt-punchOut : ∀ (xs : Vector A (suc n))
239
239
{i : Fin (suc n)} {j : Fin (suc n)} (i≢j : i ≢ j) →
240
240
removeAt xs i (punchOut i≢j) ≡ xs j
241
- removeAt-punchOut {n = n} xs {zero} {zero} i≢j = ⊥-elim ( i≢j refl)
241
+ removeAt-punchOut {n = n} xs {zero} {zero} i≢j = contradiction refl i≢j
242
242
removeAt-punchOut {n = suc n} xs {zero} {suc j} i≢j = refl
243
243
removeAt-punchOut {n = suc n} xs {suc i} {zero} i≢j = refl
244
244
removeAt-punchOut {n = suc n} xs {suc i} {suc j} i≢j = removeAt-punchOut (tail xs) (i≢j ∘ cong suc)
0 commit comments