@@ -164,25 +164,25 @@ export LawfulGetElem (getElem?_def getElem!_def)
164164instance (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