@@ -119,7 +119,7 @@ lemma P2_neg_right : P2 x₁ x₂ y ↔ P2 x₁ x₂ (-y) := by
119
119
rw [P2, P2, quot_mul_neg, quot_mul_neg, neg_inj]
120
120
121
121
lemma P4_neg_left : P4 x₁ x₂ y ↔ P4 (-x₂) (-x₁) y := by
122
- simp_rw [P4, PGame.neg_lt_neg_iff, moveLeft_neg' , ← P3_neg]
122
+ simp_rw [P4, PGame.neg_lt_neg_iff, moveLeft_neg, ← P3_neg]
123
123
124
124
lemma P4_neg_right : P4 x₁ x₂ y ↔ P4 x₁ x₂ (-y) := by
125
125
rw [P4, P4, neg_neg, and_comm]
@@ -230,7 +230,7 @@ lemma ih1_swap (ih : ∀ a, ArgsRel a (Args.P1 x y) → P124 a) : IH1 y x := ih1
230
230
lemma P3_of_ih (hy : Numeric y) (ihyx : IH1 y x) (i k l) :
231
231
P3 (x.moveLeft i) x (y.moveLeft k) (-(-y).moveLeft l) :=
232
232
P3_comm.2 <| ((ihyx (IsOption.moveLeft k) (isOption_neg.1 <| .moveLeft l) <| Or.inl rfl).2
233
- (by rw [← moveRight_neg_symm ]; apply hy.left_lt_right)).1 i
233
+ (by rw [moveLeft_neg, neg_neg ]; apply hy.left_lt_right)).1 i
234
234
235
235
lemma P24_of_ih (ihxy : IH1 x y) (i j) : P24 (x.moveLeft i) (x.moveLeft j) y :=
236
236
ihxy (IsOption.moveLeft i) (IsOption.moveLeft j) (Or.inl rfl)
@@ -413,9 +413,8 @@ theorem P3_of_lt {y₁ y₂} (h : ∀ i, IH3 x₁ (x₂.moveLeft i) x₂ y₁ y
413
413
P3 x₁ x₂ y₁ y₂ := by
414
414
obtain (⟨i,hi⟩|⟨i,hi⟩) := lf_iff_exists_le.1 (lf_of_lt hl)
415
415
· exact P3_of_le_left i (h i) hi
416
- · exact P3_neg.2 <| P3_of_le_left _ (hs _) <| by
417
- rw [moveLeft_neg]
418
- exact neg_le_neg (le_iff_game_le.1 hi)
416
+ · apply P3_neg.2 <| P3_of_le_left _ (hs (toLeftMovesNeg i)) _
417
+ simpa
419
418
420
419
/-- The main chunk of Theorem 8 in [ Conway2001 ] / Theorem 3.8 in [ SchleicherStoll ] . -/
421
420
theorem main (a : Args) : a.Numeric → P124 a := by
@@ -488,7 +487,7 @@ theorem P3_of_lt_of_lt (hx₁ : x₁.Numeric) (hx₂ : x₂.Numeric) (hy₁ : y
488
487
· have hi := hx₁.neg.moveLeft i
489
488
exact ⟨(P24 hx₂.neg hi hy₁).1 , (P24 hx₂.neg hi hy₂).1 ,
490
489
P3_comm.2 <| ((P24 hy₁ hy₂ hx₁).2 hy).2 _, by
491
- rw [moveLeft_neg' , ← P3_neg, neg_lt_neg_iff]
490
+ rw [moveLeft_neg, ← P3_neg, neg_lt_neg_iff]
492
491
exact ih _ (fst <| IsOption.moveRight _) (hx₁.moveRight _) hx₂⟩
493
492
494
493
theorem Numeric.mul_pos (hx₁ : x₁.Numeric) (hx₂ : x₂.Numeric) (hp₁ : 0 < x₁) (hp₂ : 0 < x₂) :
0 commit comments