@@ -7703,15 +7703,6 @@ theorem perm_of_beqModel [BEq α] [LawfulBEq α] [∀ k, BEq (β k)] [∀ k, Law
77037703 rw [Bool.not_eq_true] at hc₂
77047704 rw [getValueCast?_eq_none hc₁, getValueCast?_eq_none hc₂]
77057705
7706- theorem all_congr [BEq α] {l₁ l₂ : List ((a : α) × β a)} {f : (a : α) × β a → Bool} (hp : l₁.Perm l₂) : l₁.all f = l₂.all f := by
7707- rw [Bool.eq_iff_iff, Bool.eq_iff_iff, List.all_eq_true, List.all_eq_true]
7708- simp only [iff_true]
7709- constructor
7710- · intro hyp ⟨k,v⟩ mem
7711- exact hyp ⟨k,v⟩ (@Perm.mem_iff _ ⟨k,v⟩ l₁ l₂ hp |>.2 mem)
7712- · intro hyp ⟨k,v⟩ mem
7713- exact hyp ⟨k,v⟩ (@Perm.mem_iff _ ⟨k,v⟩ l₂ l₁ hp.symm |>.2 mem)
7714-
77157706theorem beqModel_congr [BEq α] [LawfulBEq α] [∀ k, BEq (β k)] {l₁ l₂ l₃ l₄ : List ((a : α) × β a)}
77167707 (hl : DistinctKeys l₂) (p₁ : l₁.Perm l₃) (p₂ : l₂.Perm l₄) : beqModel l₁ l₂ = beqModel l₃ l₄ := by
77177708 rw [beqModel]
@@ -7732,7 +7723,7 @@ theorem beqModel_congr [BEq α] [LawfulBEq α] [∀ k, BEq (β k)] {l₁ l₂ l
77327723 ext x
77337724 rw [getValueCast?_of_perm hl p₂]
77347725 rw [this ]
7735- apply all_congr p₁
7726+ apply List.Perm.all_eq p₁
77367727
77377728theorem Const.beqModel_congr {β : Type v} [BEq α] [LawfulBEq α] [BEq β] {l₁ l₂ l₃ l₄ : List ((_ : α) × β)}
77387729 (hl : DistinctKeys l₂) (p₁ : l₁.Perm l₃) (p₂ : l₂.Perm l₄) : beqModel l₁ l₂ = beqModel l₃ l₄ := by
@@ -7754,7 +7745,7 @@ theorem Const.beqModel_congr {β : Type v} [BEq α] [LawfulBEq α] [BEq β] {l
77547745 ext x
77557746 rw [getValue?_of_perm hl p₂]
77567747 rw [this ]
7757- apply all_congr p₁
7748+ apply List.Perm.all_eq p₁
77587749
77597750theorem beqModel_eq_constBeqModel {β : Type v} [BEq α] [LawfulBEq α] [BEq β] {l₁ l₂ : List ((_ : α) × β)} : beqModel l₁ l₂ = Const.beqModel l₁ l₂ := by
77607751 rw [beqModel, Const.beqModel]
0 commit comments