Skip to content

Commit 5ceb5fd

Browse files
committed
Match the order of ++-identityʳ with that of lists
1 parent c5ff1a7 commit 5ceb5fd

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2632,7 +2632,7 @@ Other minor changes
26322632
init-tail : init ∘ tail ≗ tail ∘ init
26332633
26342634
++-assoc : cast eq ((xs ++ ys) ++ zs) ≡ xs ++ (ys ++ zs)
2635-
++-identityʳ : cast eq xs ≡ xs ++ []
2635+
++-identityʳ : cast eq (xs ++ []) ≡ xs
26362636
init-reverse : init ∘ reverse ≗ reverse ∘ tail
26372637
last-reverse : last ∘ reverse ≗ head
26382638
reverse-++ : cast eq (reverse (xs ++ ys)) ≡ reverse ys ++ reverse xs

src/Data/Vec/Properties.agda

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ 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 ++ []
496+
++-identityʳ : .(eq : n + zero ≡ n) (xs : Vec A n) cast eq (xs ++ []) ≡ xs
497497
++-identityʳ eq [] = refl
498498
++-identityʳ eq (x ∷ xs) = cong (x ∷_) (++-identityʳ (cong pred eq) xs)
499499

@@ -965,7 +965,12 @@ map-reverse f (x ∷ xs) = begin
965965

966966
reverse-++ : .(eq : m + n ≡ n + m) (xs : Vec A m) (ys : Vec A n)
967967
cast eq (reverse (xs ++ ys)) ≡ reverse ys ++ reverse xs
968-
reverse-++ {m = zero} {n = n} eq [] ys = ++-identityʳ (+-comm zero n) (reverse ys)
968+
reverse-++ {m = zero} {n = n} eq [] ys = begin
969+
cast _ (reverse ys) ≡˘⟨ cong (cast eq) (++-identityʳ (sym eq) (reverse ys)) ⟩
970+
cast _ (cast _ (reverse ys ++ [])) ≡⟨ cast-trans (sym eq) eq (reverse ys ++ []) ⟩
971+
cast _ (reverse ys ++ []) ≡⟨ cast-is-id (trans (sym eq) eq) (reverse ys ++ []) ⟩
972+
reverse ys ++ [] ≡⟨⟩
973+
reverse ys ++ reverse [] ∎
969974
reverse-++ {m = suc m} {n = n} eq (x ∷ xs) ys = begin
970975
cast eq (reverse (x ∷ xs ++ ys)) ≡⟨ cong (cast eq) (reverse-∷ x (xs ++ ys)) ⟩
971976
cast eq (reverse (xs ++ ys) ∷ʳ x) ≡˘⟨ cast-trans eq₂ eq₁ (reverse (xs ++ ys) ∷ʳ x) ⟩

0 commit comments

Comments
 (0)