Skip to content

Commit 3fe3eeb

Browse files
committed
chore: adapt to by mvars restriction
1 parent c0fe21c commit 3fe3eeb

File tree

7 files changed

+15
-11
lines changed

7 files changed

+15
-11
lines changed

src/Init/Data/BitVec/Lemmas.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3179,7 +3179,7 @@ theorem getElem_concat (x : BitVec w) (b : Bool) (i : Nat) (h : i < w + 1) :
31793179
· simp [Nat.mod_eq_of_lt b.toNat_lt]
31803180
· simp [Nat.div_eq_of_lt b.toNat_lt, Nat.testBit_add_one]
31813181

3182-
@[simp] theorem getElem_concat_zero : (concat x b)[0] = b := by
3182+
@[simp] theorem getElem_concat_zero (x : BitVec w) : (concat x b)[0] = b := by
31833183
simp [getElem_concat]
31843184

31853185
theorem getLsbD_concat_zero : (concat x b).getLsbD 0 = b := by

src/Init/Data/Fin/Fold.lean

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,9 @@ theorem foldrM_loop [Monad m] [LawfulMonad m] (f : Fin (n+1) → α → m α) (x
184184
rw [foldrM_loop_zero, foldrM_loop_succ, pure_bind]
185185
conv => rhs; rw [←bind_pure (f 0 x)]
186186
congr
187-
funext
188-
simp [foldrM_loop_zero]
187+
try -- TODO: block can be deleted after bootstrapping
188+
funext
189+
simp [foldrM_loop_zero]
189190
| succ i ih =>
190191
rw [foldrM_loop_succ, foldrM_loop_succ, bind_assoc]
191192
congr; funext; exact ih ..

src/Init/Data/List/Nat/Pairwise.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ theorem sublist_eq_map_getElem {l l' : List α} (h : l' <+ l) : ∃ is : List (F
5555
simp [Function.comp_def, pairwise_map, IH, ← get_eq_getElem, get_cons_zero, get_cons_succ']
5656

5757
set_option linter.listVariables false in
58-
theorem pairwise_iff_getElem : Pairwise R l ↔
58+
theorem pairwise_iff_getElem (l : List α) : Pairwise R l ↔
5959
∀ (i j : Nat) (_hi : i < l.length) (_hj : j < l.length) (_hij : i < j), R l[i] l[j] := by
6060
rw [pairwise_iff_forall_sublist]
6161
constructor <;> intro h

src/Init/Data/List/Nat/Sublist.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ theorem IsSuffix.getElem {xs ys : List α} (h : xs <:+ ys) {i} (hn : i < xs.leng
3030
have := h.length_le
3131
omega
3232

33-
theorem suffix_iff_getElem? : l₁ <:+ l₂ ↔
33+
theorem suffix_iff_getElem? (l₁ l₂ : List α) : l₁ <:+ l₂ ↔
3434
l₁.length ≤ l₂.length ∧ ∀ i (h : i < l₁.length), l₂[i + l₂.length - l₁.length]? = some l₁[i] := by
3535
suffices l₁.length ≤ l₂.length ∧ l₁ <:+ l₂ ↔
3636
l₁.length ≤ l₂.length ∧ ∀ i (h : i < l₁.length), l₂[i + l₂.length - l₁.length]? = some l₁[i] by
@@ -78,7 +78,7 @@ theorem suffix_iff_getElem {l₁ l₂ : List α} :
7878
rw [getElem?_eq_getElem]
7979
simpa using w
8080

81-
theorem infix_iff_getElem? : l₁ <:+: l₂ ↔
81+
theorem infix_iff_getElem? (l₁ l₂ : List α) : l₁ <:+: l₂ ↔
8282
∃ k, l₁.length + k ≤ l₂.length ∧ ∀ i (h : i < l₁.length), l₂[i + k]? = some l₁[i] := by
8383
constructor
8484
· intro h

src/Init/Data/List/Sort/Impl.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,12 @@ where
153153
mergeTR (run' r) (run l) le
154154

155155
theorem splitRevInTwo'_fst (l : { l : List α // l.length = n }) :
156-
(splitRevInTwo' l).1 = ⟨(splitInTwo ⟨l.1.reverse, by simpa using l.2⟩).2.1, by simp; omega⟩ := by
156+
(splitRevInTwo' l).1 = ⟨(splitInTwo (n := n) ⟨l.1.reverse, by simpa using l.2⟩).2.1, by simp; omega⟩ := by
157157
simp only [splitRevInTwo', splitRevAt_eq, reverse_take, splitInTwo_snd]
158158
congr
159159
omega
160160
theorem splitRevInTwo'_snd (l : { l : List α // l.length = n }) :
161-
(splitRevInTwo' l).2 = ⟨(splitInTwo ⟨l.1.reverse, by simpa using l.2⟩).1.1.reverse, by simp; omega⟩ := by
161+
(splitRevInTwo' l).2 = ⟨(splitInTwo (n := n) ⟨l.1.reverse, by simpa using l.2⟩).1.1.reverse, by simp; omega⟩ := by
162162
simp only [splitRevInTwo', splitRevAt_eq, reverse_take, splitInTwo_fst, reverse_reverse]
163163
congr 2
164164
simp

src/Init/Data/List/Sublist.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,8 @@ theorem infix_concat_iff {l₁ l₂ : List α} {a : α} :
905905
rw [← reverse_infix, reverse_concat, infix_cons_iff, reverse_infix,
906906
← reverse_prefix, reverse_concat]
907907

908-
theorem prefix_iff_getElem? : l₁ <+: l₂ ↔ ∀ i (h : i < l₁.length), l₂[i]? = some l₁[i] := by
908+
theorem prefix_iff_getElem? (l₁ l₂ : List α) :
909+
l₁ <+: l₂ ↔ ∀ i (h : i < l₁.length), l₂[i]? = some l₁[i] := by
909910
induction l₁ generalizing l₂ with
910911
| nil => simp
911912
| cons a l₁ ih =>

src/Init/Data/Nat/Lemmas.lean

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,8 +1767,10 @@ instance decidableExistsLT' {p : (m : Nat) → m < k → Prop} [I : ∀ m h, Dec
17671767
/-- Dependent version of `decidableExistsLE`. -/
17681768
instance decidableExistsLE' {p : (m : Nat) → m ≤ k → Prop} [I : ∀ m h, Decidable (p m h)] :
17691769
Decidable (∃ m : Nat, ∃ h : m ≤ k, p m h) :=
1770-
decidable_of_iff (∃ m, ∃ h : m < k + 1, p m (by omega)) (exists_congr fun _ =>
1771-
⟨fun ⟨h, w⟩ => ⟨le_of_lt_succ h, w⟩, fun ⟨h, w⟩ => ⟨lt_add_one_of_le h, w⟩⟩)
1770+
decidable_of_iff (∃ m, ∃ h : m < k + 1, p m (by omega)) <| by
1771+
apply exists_congr
1772+
intro
1773+
exact ⟨fun ⟨h, w⟩ => ⟨le_of_lt_succ h, w⟩, fun ⟨h, w⟩ => ⟨lt_add_one_of_le h, w⟩⟩
17721774

17731775
/-! ### Results about `List.sum` specialized to `Nat` -/
17741776

0 commit comments

Comments
 (0)