88
99module Data.Vec.Functional.Properties where
1010
11- open import Data.Empty using (⊥-elim)
1211open import Data.Fin.Base using (Fin; zero; suc; toℕ; fromℕ<; reduce≥;
1312 _↑ˡ_; _↑ʳ_; punchIn; punchOut)
1413open import Data.Nat.Base as ℕ using (ℕ; zero; suc)
@@ -30,6 +29,7 @@ open import Relation.Binary.PropositionalEquality.Properties
3029 using (module ≡-Reasoning )
3130open import Relation.Nullary.Decidable
3231 using (Dec; does; yes; no; map′; _×-dec_)
32+ open import Relation.Nullary.Negation using (contradiction)
3333
3434import Data.Fin.Properties as Finₚ
3535
@@ -70,7 +70,7 @@ updateAt-updates (suc i) xs = updateAt-updates i (tail xs)
7070
7171updateAt-minimal : ∀ (i j : Fin n) {f : A → A} (xs : Vector A n) →
7272 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
7474updateAt-minimal zero (suc j) xs _ = refl
7575updateAt-minimal (suc i) zero xs _ = refl
7676updateAt-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))
117117
118118updateAt-commutes : ∀ (i j : Fin n) {f g : A → A} → i ≢ j → (xs : Vector A n) →
119119 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
121121updateAt-commutes zero (suc j) _ xs zero = refl
122122updateAt-commutes zero (suc j) _ xs (suc k) = refl
123123updateAt-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
238238removeAt-punchOut : ∀ (xs : Vector A (suc n))
239239 {i : Fin (suc n)} {j : Fin (suc n)} (i≢j : i ≢ j) →
240240 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
242242removeAt-punchOut {n = suc n} xs {zero} {suc j} i≢j = refl
243243removeAt-punchOut {n = suc n} xs {suc i} {zero} i≢j = refl
244244removeAt-punchOut {n = suc n} xs {suc i} {suc j} i≢j = removeAt-punchOut (tail xs) (i≢j ∘ cong suc)
0 commit comments