summaryrefslogtreecommitdiff
path: root/backends/lean/Base/Primitives/Scalar.lean
diff options
context:
space:
mode:
authorSon HO2024-06-22 15:07:14 +0200
committerGitHub2024-06-22 15:07:14 +0200
commit8719c17f1a363c0463d74b90e558b2aaa24645d6 (patch)
tree94cd2fb84f10912e76d1d1e8e89d8f9aee948f0c /backends/lean/Base/Primitives/Scalar.lean
parent8144c39f4d37aa1fa14a8a061eb7ed60e153fb4c (diff)
Do some cleanup in the Lean backend (#257)
Diffstat (limited to '')
-rw-r--r--backends/lean/Base/Primitives/Scalar.lean9
1 files changed, 8 insertions, 1 deletions
diff --git a/backends/lean/Base/Primitives/Scalar.lean b/backends/lean/Base/Primitives/Scalar.lean
index 31038e0d..2359c140 100644
--- a/backends/lean/Base/Primitives/Scalar.lean
+++ b/backends/lean/Base/Primitives/Scalar.lean
@@ -299,7 +299,14 @@ structure Scalar (ty : ScalarTy) where
val : Int
hmin : Scalar.min ty ≤ val
hmax : val ≤ Scalar.max ty
-deriving Repr
+deriving Repr, BEq, DecidableEq
+
+instance {ty} : BEq (Scalar ty) where
+ beq a b := a.val = b.val
+
+instance {ty} : LawfulBEq (Scalar ty) where
+ eq_of_beq {a b} := by cases a; cases b; simp[BEq.beq]
+ rfl {a} := by cases a; simp [BEq.beq]
instance (ty : ScalarTy) : CoeOut (Scalar ty) Int where
coe := λ v => v.val