@@ -200,19 +200,16 @@ attribute [local instance] Sym2.Rel.setoid
200200/-- Recursion on the well-founded `Sym2.GameAdd` relation. -/
201201def GameAdd.fix {C : α → α → Sort *} (hr : WellFounded rα)
202202 (IH : ∀ a₁ b₁, (∀ a₂ b₂, Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a b : α) :
203- C a b := by
204- -- Porting note: this was refactored for https://github.com/leanprover-community/mathlib4/pull/3414 (reenableeta), and could perhaps be cleaned up.
205- have := hr.sym2_gameAdd
206- dsimp only [GameAdd, lift₂, DFunLike.coe, EquivLike.coe] at this
207- exact @WellFounded.fix (α × α) (fun x => C x.1 x.2 ) _ this.of_quotient_lift₂
203+ C a b :=
204+ @WellFounded.fix (α × α) (fun x => C x.1 x.2 )
205+ (fun x y ↦ Prod.GameAdd rα rα x y ∨ Prod.GameAdd rα rα x.swap y)
206+ (by simpa [← Sym2.gameAdd_iff] using hr.sym2_gameAdd.onFun)
208207 (fun ⟨x₁, x₂⟩ IH' => IH x₁ x₂ fun a' b' => IH' ⟨a', b'⟩) (a, b)
209208
210209theorem GameAdd.fix_eq {C : α → α → Sort *} (hr : WellFounded rα)
211210 (IH : ∀ a₁ b₁, (∀ a₂ b₂, Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a b : α) :
212- GameAdd.fix hr IH a b = IH a b fun a' b' _ => GameAdd.fix hr IH a' b' := by
213- -- Porting note: this was refactored for https://github.com/leanprover-community/mathlib4/pull/3414 (reenableeta), and could perhaps be cleaned up.
214- dsimp [GameAdd.fix]
215- exact WellFounded.fix_eq _ _ _
211+ GameAdd.fix hr IH a b = IH a b fun a' b' _ => GameAdd.fix hr IH a' b' :=
212+ WellFounded.fix_eq ..
216213
217214/-- Induction on the well-founded `Sym2.GameAdd` relation. -/
218215theorem GameAdd.induction {C : α → α → Prop } :
0 commit comments