Skip to content

Commit c47995a

Browse files
committed
Weaken the instances for the Const variant
1 parent 3b281d5 commit c47995a

File tree

10 files changed

+14
-14
lines changed

10 files changed

+14
-14
lines changed

src/Std/Data/DHashMap/Internal/RawLemmas.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2610,7 +2610,7 @@ theorem Const.Equiv.beq [LawfulHashable α] [EquivBEq α] [BEq β] [ReflBEq β]
26102610
theorem Const.equiv_of_beq [LawfulBEq α] [BEq β] [LawfulBEq β] (h₁ : m₁.val.WF) (h₂ : m₂.val.WF) : beq m₁ m₂ = true → m₁.1.Equiv m₂.1 := by
26112611
simp_to_model using List.Const.perm_of_beqModel
26122612

2613-
theorem Const.Equiv.beq_congr [LawfulBEq α] {m₃ m₄ : Raw₀ α (fun _ => β)} [BEq β] (h₁ : m₁.val.WF) (h₂ : m₂.val.WF) (h₃ : m₃.val.WF) (h₄ : m₄.val.WF) :
2613+
theorem Const.Equiv.beq_congr [EquivBEq α] [LawfulHashable α] {m₃ m₄ : Raw₀ α (fun _ => β)} [BEq β] (h₁ : m₁.val.WF) (h₂ : m₂.val.WF) (h₃ : m₃.val.WF) (h₄ : m₄.val.WF) :
26142614
m₁.1.Equiv m₃.1 → m₂.1.Equiv m₄.1 → Const.beq m₁ m₂ = Const.beq m₃ m₄ := by
26152615
simp_to_model using List.Const.beqModel_congr
26162616
end

src/Std/Data/DHashMap/Lemmas.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1868,9 +1868,9 @@ theorem Const.equiv_of_beq [LawfulBEq α] [LawfulBEq β] (h : Const.beq m₁ m
18681868
simp only at this
18691869
exact this
18701870

1871-
theorem Const.Equiv.beq_congr [LawfulBEq α] {m₃ m₄ : DHashMap α (fun _ => β)} : m₁ ~m m₃ → m₂ ~m m₄ → Const.beq m₁ m₂ = Const.beq m₃ m₄ := by
1871+
theorem Const.Equiv.beq_congr [EquivBEq α] [LawfulHashable α] {m₃ m₄ : DHashMap α (fun _ => β)} : m₁ ~m m₃ → m₂ ~m m₄ → Const.beq m₁ m₂ = Const.beq m₃ m₄ := by
18721872
intro h1 h2
1873-
exact @Raw₀.Const.Equiv.beq_congr α _ _ _ ⟨m₁.1, m₁.2.size_buckets_pos⟩ ⟨m₂.1, m₂.2.size_buckets_pos⟩ _ ⟨m₃.1, m₃.2.size_buckets_pos⟩ ⟨m₄.1, m₄.2.size_buckets_pos⟩ _ m₁.2 m₂.2 m₃.2 m₄.2 h1.1 h2.1
1873+
exact @Raw₀.Const.Equiv.beq_congr α _ _ _ ⟨m₁.1, m₁.2.size_buckets_pos⟩ ⟨m₂.1, m₂.2.size_buckets_pos⟩ _ _ ⟨m₃.1, m₃.2.size_buckets_pos⟩ ⟨m₄.1, m₄.2.size_buckets_pos⟩ _ m₁.2 m₂.2 m₃.2 m₄.2 h1.1 h2.1
18741874
end
18751875

18761876
section Union

src/Std/Data/DHashMap/RawLemmas.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3790,7 +3790,7 @@ theorem Const.Equiv.beq [LawfulHashable α] [EquivBEq α] [BEq β] [ReflBEq β]
37903790
theorem Const.equiv_of_beq [LawfulBEq α] [BEq β] [LawfulBEq β] (h₁ : m₁.WF) (h₂ : m₂.WF) : beq m₁ m₂ = true → m₁ ~m m₂ := by
37913791
simp_to_raw using Raw₀.Const.equiv_of_beq
37923792

3793-
theorem Const.Equiv.beq_congr [LawfulBEq α] [BEq β] {m₃ m₄ : Raw α (fun _ => β)} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
3793+
theorem Const.Equiv.beq_congr [EquivBEq α] [LawfulHashable α] [BEq β] {m₃ m₄ : Raw α (fun _ => β)} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
37943794
m₁ ~m m₃ → m₂ ~m m₄ → Raw.Const.beq m₁ m₂ = Raw.Const.beq m₃ m₄ := by
37953795
simp_to_raw
37963796
intro w1 w2

src/Std/Data/ExtDHashMap/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ namespace Const
387387

388388
variable {β : Type v}
389389
@[inline, inherit_doc DHashMap.beq]
390-
def beq [LawfulBEq α] [BEq β] (m₁ m₂ : ExtDHashMap α fun _ => β) : Bool := lift₂ (fun x y : DHashMap α fun _ => β => DHashMap.Const.beq x y)
390+
def beq [EquivBEq α] [LawfulHashable α] [BEq β] (m₁ m₂ : ExtDHashMap α fun _ => β) : Bool := lift₂ (fun x y : DHashMap α fun _ => β => DHashMap.Const.beq x y)
391391
(fun _ _ _ _ => DHashMap.Const.Equiv.beq_congr) m₁ m₂
392392

393393
theorem beq_of_eq [LawfulBEq α] [BEq β] [ReflBEq β] (m₁ m₂ : ExtDHashMap α fun _ => β) (h : m₁ = m₂) : Const.beq m₁ m₂ := by

src/Std/Data/ExtHashMap/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def union [EquivBEq α] [LawfulHashable α] (m₁ m₂ : ExtHashMap α β) : Ext
250250
instance [EquivBEq α] [LawfulHashable α] : Union (ExtHashMap α β) := ⟨union⟩
251251

252252
@[inline, inherit_doc ExtDHashMap.beq]
253-
def beq [LawfulBEq α] [BEq β] (m₁ m₂ : ExtHashMap α β) : Bool := ExtDHashMap.Const.beq m₁.inner m₂.inner
253+
def beq [EquivBEq α] [LawfulHashable α] [BEq β] (m₁ m₂ : ExtHashMap α β) : Bool := ExtDHashMap.Const.beq m₁.inner m₂.inner
254254

255255
instance [LawfulBEq α] [BEq β] : BEq (ExtHashMap α β) := ⟨beq⟩
256256

src/Std/Data/ExtHashSet/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def union [EquivBEq α] [LawfulHashable α] (m₁ m₂ : ExtHashSet α) : ExtHas
205205
instance [EquivBEq α] [LawfulHashable α] : Union (ExtHashSet α) := ⟨union⟩
206206

207207
@[inline, inherit_doc ExtHashMap.beq]
208-
def beq [LawfulBEq α] (m₁ m₂ : ExtHashSet α) : Bool := ExtDHashMap.Const.beq m₁.inner.inner m₂.inner.inner
208+
def beq [EquivBEq α] [LawfulHashable α] (m₁ m₂ : ExtHashSet α) : Bool := ExtDHashMap.Const.beq m₁.inner.inner m₂.inner.inner
209209

210210
instance [LawfulBEq α] : BEq (ExtHashSet α) := ⟨beq⟩
211211

src/Std/Data/HashMap/Lemmas.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,13 +1349,13 @@ theorem isEmpty_of_isEmpty_insertMany [EquivBEq α] [LawfulHashable α]
13491349
section
13501350
variable {β : Type v} {m₁ m₂ : HashMap α β} [BEq β]
13511351

1352-
theorem Equiv.beq [LawfulHashable α] [EquivBEq α] [ReflBEq β] (h : m₁ ~m m₂) : m₁ == m₂ :=
1352+
theorem Equiv.beq [EquivBEq α] [LawfulHashable α] [ReflBEq β] (h : m₁ ~m m₂) : m₁ == m₂ :=
13531353
DHashMap.Const.Equiv.beq h.1
13541354

13551355
theorem equiv_of_beq [LawfulBEq α] [LawfulBEq β] (h : m₁ == m₂) : m₁ ~m m₂ :=
13561356
⟨DHashMap.Const.equiv_of_beq h⟩
13571357

1358-
theorem Equiv.beq_congr [LawfulBEq α] {m₃ m₄ : HashMap α β} : m₁ ~m m₃ → m₂ ~m m₄ → (m₁ == m₂) = (m₃ == m₄) := fun h1 h2 =>
1358+
theorem Equiv.beq_congr [EquivBEq α] [LawfulHashable α] {m₃ m₄ : HashMap α β} : m₁ ~m m₃ → m₂ ~m m₄ → (m₁ == m₂) = (m₃ == m₄) := fun h1 h2 =>
13591359
DHashMap.Const.Equiv.beq_congr h1.1 h2.1
13601360

13611361
end

src/Std/Data/HashMap/RawLemmas.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,9 +1317,9 @@ theorem Equiv.beq [LawfulHashable α] [EquivBEq α] [BEq β] [ReflBEq β] (h₁
13171317
theorem equiv_of_beq [LawfulBEq α] [BEq β] [LawfulBEq β] (h₁ : m₁.WF) (h₂ : m₂.WF) : m₁ == m₂ → m₁ ~m m₂ := fun hyp =>
13181318
⟨@DHashMap.Raw.Const.equiv_of_beq _ _ _ _ m₁.1 m₂.1 _ _ _ h₁.1 h₂.1 hyp⟩
13191319

1320-
theorem Equiv.beq_congr [LawfulBEq α] [BEq β] {m₃ m₄ : Raw α β} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
1320+
theorem Equiv.beq_congr [EquivBEq α] [LawfulHashable α] [BEq β] {m₃ m₄ : Raw α β} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
13211321
m₁ ~m m₃ → m₂ ~m m₄ → (m₁ == m₂) = (m₃ == m₄) := fun hyp1 hyp2 =>
1322-
@DHashMap.Raw.Const.Equiv.beq_congr _ _ _ _ m₁.1 m₂.1 _ _ m₃.1 m₄.1 h₁.1 h₂.1 h₃.1 h₄.1 hyp1.1 hyp2.1
1322+
@DHashMap.Raw.Const.Equiv.beq_congr _ _ _ _ m₁.1 m₂.1 _ _ _ m₃.1 m₄.1 h₁.1 h₂.1 h₃.1 h₄.1 hyp1.1 hyp2.1
13231323

13241324
end
13251325

src/Std/Data/HashSet/RawLemmas.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -823,9 +823,9 @@ theorem Equiv.beq [LawfulHashable α] [EquivBEq α] (h₁ : m₁.WF) (h₂ : m
823823
theorem equiv_of_beq [LawfulBEq α] (h₁ : m₁.WF) (h₂ : m₂.WF) : m₁ == m₂ → m₁ ~m m₂ := fun hyp =>
824824
⟨@HashMap.Raw.equiv_of_beq _ _ _ _ m₁.1 m₂.1 _ _ _ h₁.1 h₂.1 hyp⟩
825825

826-
theorem Equiv.beq_congr [LawfulBEq α] {m₃ m₄ : Raw α} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
826+
theorem Equiv.beq_congr [EquivBEq α] [LawfulHashable α] {m₃ m₄ : Raw α} (h₁ : m₁.WF) (h₂ : m₂.WF) (h₃ : m₃.WF) (h₄ : m₄.WF) :
827827
m₁ ~m m₃ → m₂ ~m m₄ → (m₁ == m₂) = (m₃ == m₄) := fun hyp1 hyp2 =>
828-
@HashMap.Raw.Equiv.beq_congr _ _ _ _ m₁.1 m₂.1 _ _ m₃.1 m₄.1 h₁.1 h₂.1 h₃.1 h₄.1 hyp1.1 hyp2.1
828+
@HashMap.Raw.Equiv.beq_congr _ _ _ _ m₁.1 m₂.1 _ _ _ m₃.1 m₄.1 h₁.1 h₂.1 h₃.1 h₄.1 hyp1.1 hyp2.1
829829

830830
end
831831

src/Std/Data/Internal/List/Associative.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7725,7 +7725,7 @@ theorem beqModel_congr [BEq α] [LawfulBEq α] [∀ k, BEq (β k)] {l₁ l₂ l
77257725
rw [this]
77267726
apply List.Perm.all_eq p₁
77277727

7728-
theorem Const.beqModel_congr {β : Type v} [BEq α] [LawfulBEq α] [BEq β] {l₁ l₂ l₃ l₄ : List ((_ : α) × β)}
7728+
theorem Const.beqModel_congr {β : Type v} [BEq α] [EquivBEq α] [BEq β] {l₁ l₂ l₃ l₄ : List ((_ : α) × β)}
77297729
(hl : DistinctKeys l₂) (p₁ : l₁.Perm l₃) (p₂ : l₂.Perm l₄) : beqModel l₁ l₂ = beqModel l₃ l₄ := by
77307730
rw [beqModel]
77317731
split

0 commit comments

Comments
 (0)