Skip to content

Commit ef56220

Browse files
committed
chore: more simp lemmas for LawfulGetElem
1 parent d5060e9 commit ef56220

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Init/GetElem.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,25 +164,25 @@ export LawfulGetElem (getElem?_def getElem!_def)
164164
instance (priority := low) [GetElem coll idx elem valid] [∀ xs i, Decidable (valid xs i)] :
165165
LawfulGetElem coll idx elem valid where
166166

167-
theorem getElem?_pos [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
167+
@[simp] theorem getElem?_pos [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
168168
(c : cont) (i : idx) (h : dom c i) : c[i]? = some (c[i]'h) := by
169169
have : Decidable (dom c i) := .isTrue h
170170
rw [getElem?_def]
171171
exact dif_pos h
172172

173-
theorem getElem?_neg [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
173+
@[simp] theorem getElem?_neg [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
174174
(c : cont) (i : idx) (h : ¬dom c i) : c[i]? = none := by
175175
have : Decidable (dom c i) := .isFalse h
176176
rw [getElem?_def]
177177
exact dif_neg h
178178

179-
theorem getElem!_pos [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
179+
@[simp] theorem getElem!_pos [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
180180
[Inhabited elem] (c : cont) (i : idx) (h : dom c i) :
181181
c[i]! = c[i]'h := by
182182
have : Decidable (dom c i) := .isTrue h
183183
simp [getElem!_def, getElem?_def, h]
184184

185-
theorem getElem!_neg [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
185+
@[simp] theorem getElem!_neg [GetElem? cont idx elem dom] [LawfulGetElem cont idx elem dom]
186186
[Inhabited elem] (c : cont) (i : idx) (h : ¬dom c i) : c[i]! = default := by
187187
have : Decidable (dom c i) := .isFalse h
188188
simp [getElem!_def, getElem?_def, h]

0 commit comments

Comments
 (0)