-
Notifications
You must be signed in to change notification settings - Fork 247
Missing cast
properties
#1443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I also ended up needing cast-cast-is-id : ∀ {m n} (eq₁ : m ≡ n) (eq₂ : n ≡ m) (k : Fin n) → cast eq₁ (cast eq₂ k) ≡ k
cast-cast-is-id {ℕ.suc m} {.(ℕ.suc _)} eq₁ eq₂ F.zero = refl
cast-cast-is-id {ℕ.suc m} {.(ℕ.suc _)} eq₁ eq₂ (F.suc k) = cong Fin.suc (cast-cast-is-id (suc-injective eq₁) (suc-injective eq₂) k)
cast-trans : ∀ {m n o} (eq₁ : m ≡ n) (eq₂ : n ≡ o) (k : Fin m) → cast (trans eq₁ eq₂) k ≡ cast eq₂ (cast eq₁ k)
cast-trans {ℕ.suc m} {ℕ.suc n} {ℕ.suc o} eq₁ eq₂ F.zero = refl
cast-trans {ℕ.suc m} {ℕ.suc n} {ℕ.suc o} eq₁ eq₂ (F.suc k) = cong Fin.suc (cast-trans (suc-injective eq₁) (suc-injective eq₂) k) where I did need to expand out those implicits to get the |
|
That could be - I proved |
Can/Should we (try to) do this for milestone 2.0? |
gallais
added a commit
to gallais/agda-stdlib
that referenced
this issue
Sep 30, 2022
gallais
added a commit
to gallais/agda-stdlib
that referenced
this issue
Sep 30, 2022
MatthewDaggitt
pushed a commit
that referenced
this issue
Oct 4, 2022
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Realised tonight we don't have these (and their equivalents for
Vec
)Note that it would also be nice to prove commutation lemmas for subst &
constructors for the various inductive types we have.
The text was updated successfully, but these errors were encountered: