Skip to content

Commit eb9a5df

Browse files
committed
Extract ++-identityʳ into a separate definition
1 parent 8f7a5c8 commit eb9a5df

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Data/Vec/Properties.agda

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,10 @@ map-⊛ f g (x ∷ xs) = cong (f x (g x) ∷_) (map-⊛ f g xs)
493493
++-assoc eq [] ys zs = cast-is-id eq (ys ++ zs)
494494
++-assoc eq (x ∷ xs) ys zs = cong (x ∷_) (++-assoc (cong pred eq) xs ys zs)
495495

496+
++-identityʳ : .(eq : m ≡ m + zero) (xs : Vec A m) cast eq xs ≡ xs ++ []
497+
++-identityʳ eq [] = refl
498+
++-identityʳ eq (x ∷ xs) = cong (x ∷_) (++-identityʳ (cong pred eq) xs)
499+
496500
lookup-++-< : (xs : Vec A m) (ys : Vec A n)
497501
i (i<m : toℕ i < m)
498502
lookup (xs ++ ys) i ≡ lookup xs (Fin.fromℕ< i<m)
@@ -962,10 +966,6 @@ map-reverse f (x ∷ xs) = begin
962966
reverse-++ : .(eq : m + n ≡ n + m) (xs : Vec A m) (ys : Vec A n)
963967
cast eq (reverse (xs ++ ys)) ≡ reverse ys ++ reverse xs
964968
reverse-++ {m = zero} {n = n} eq [] ys = ++-identityʳ (+-comm zero n) (reverse ys)
965-
where
966-
++-identityʳ : .(eq : m ≡ m + zero) (xs : Vec A m) cast eq xs ≡ xs ++ []
967-
++-identityʳ eq [] = refl
968-
++-identityʳ eq (x ∷ xs) = cong (x ∷_) (++-identityʳ (cong pred eq) xs)
969969
reverse-++ {m = suc m} {n = n} eq (x ∷ xs) ys = begin
970970
cast eq (reverse (x ∷ xs ++ ys)) ≡⟨ cong (cast eq) (reverse-∷ x (xs ++ ys)) ⟩
971971
cast eq (reverse (xs ++ ys) ∷ʳ x) ≡˘⟨ cast-trans eq₂ eq₁ (reverse (xs ++ ys) ∷ʳ x) ⟩

0 commit comments

Comments
 (0)