aboutsummaryrefslogtreecommitdiff
path: root/src/Data/Array/Nested/Lemmas.hs
diff options
context:
space:
mode:
authorMikolaj Konarski <mikolaj.konarski@funktory.com>2025-09-24 20:56:20 +0200
committerMikolaj Konarski <mikolaj.konarski@funktory.com>2025-10-02 12:54:23 +0200
commit22a3d9c5cbafb7a633f2f802af884d042718e78d (patch)
treee0fb4cacfc39f182e2f1e0313bddc8836dbae651 /src/Data/Array/Nested/Lemmas.hs
parent2fae6bf7f6704e3dd9a3f73acbdc84331adb1bf0 (diff)
Port to ghc-typelits-natnormalise-0.8.1 that is much overhauledport-to-natnormalise-0.8.1
and probably more sound than earlier versions.
Diffstat (limited to 'src/Data/Array/Nested/Lemmas.hs')
-rw-r--r--src/Data/Array/Nested/Lemmas.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Data/Array/Nested/Lemmas.hs b/src/Data/Array/Nested/Lemmas.hs
index 8cac298..e089479 100644
--- a/src/Data/Array/Nested/Lemmas.hs
+++ b/src/Data/Array/Nested/Lemmas.hs
@@ -43,14 +43,18 @@ lemAppLeft _ Refl = Refl
lemReplicatePlusApp :: forall n m a. SNat n -> Proxy m -> Proxy a
-> Replicate (n + m) a :~: Replicate n a ++ Replicate m a
+{- for now, the plugins can't derive a type for this code, see
+ https://github.com/clash-lang/ghc-typelits-natnormalise/pull/98#issuecomment-3332842214
lemReplicatePlusApp sn _ _ = go sn
where
go :: SNat n' -> Replicate (n' + m) a :~: Replicate n' a ++ Replicate m a
go SZ = Refl
go (SS (n :: SNat n'm1))
- | Refl <- lemReplicateSucc @a @n'm1
+ | Refl <- lemReplicateSucc @a n
, Refl <- go n
- = sym (lemReplicateSucc @a @(n'm1 + m))
+ = sym (lemReplicateSucc @a (SNat @(n'm1 + m)))
+-}
+lemReplicatePlusApp _ _ _ = unsafeCoerceRefl
lemDropLenApp :: Rank l1 <= Rank l2
=> Proxy l1 -> Proxy l2 -> Proxy rest