/-- Casts a `Surreal` number into a `Game`. -/
def toGame : Surreal →+o Game where
  toFun := lift (fun x _ => ⟦x⟧) fun _ _ => Quot.sound
  map_zero' := rfl
  map_add' := by rintro ⟨_, _⟩ ⟨_, _⟩; rfl
  monotone' := by 

Proof state:
⊢ Monotone
    (↑{
          toZeroHom :=
            {
              toFun :=
                lift (fun x x_1 => ⟦x⟧)
                  (_ :
                    ∀ {x y : PGame},
                      Numeric x → Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y),
              map_zero' :=
                (_ :
                  lift (fun x x_1 => ⟦x⟧)
                      (_ :
                        ∀ {x y : PGame},
                          Numeric x → Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                      0 =
                    lift (fun x x_1 => ⟦x⟧)
                      (_ :
                        ∀ {x y : PGame},
                          Numeric x → Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                      0) },
          map_add' :=
            (_ :
              ∀ (x y : Surreal),
                ZeroHom.toFun
                    {
                      toFun :=
                        lift (fun x x_1 => ⟦x⟧)
                          (_ :
                            ∀ {x y : PGame},
                              Numeric x → Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y),
                      map_zero' :=
                        (_ :
                          lift (fun x x_1 => ⟦x⟧)
                              (_ :
                                ∀ {x y : PGame},
                                  Numeric x →
                                    Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                              0 =
                            lift (fun x x_1 => ⟦x⟧)
                              (_ :
                                ∀ {x y : PGame},
                                  Numeric x →
                                    Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                              0) }
                    (x + y) =
                  ZeroHom.toFun
                      {
                        toFun :=
                          lift (fun x x_1 => ⟦x⟧)
                            (_ :
                              ∀ {x y : PGame},
                                Numeric x →
                                  Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y),
                        map_zero' :=
                          (_ :
                            lift (fun x x_1 => ⟦x⟧)
                                (_ :
                                  ∀ {x y : PGame},
                                    Numeric x →
                                      Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                                0 =
                              lift (fun x x_1 => ⟦x⟧)
                                (_ :
                                  ∀ {x y : PGame},
                                    Numeric x →
                                      Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                                0) }
                      x +
                    ZeroHom.toFun
                      {
                        toFun :=
                          lift (fun x x_1 => ⟦x⟧)
                            (_ :
                              ∀ {x y : PGame},
                                Numeric x →
                                  Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y),
                        map_zero' :=
                          (_ :
                            lift (fun x x_1 => ⟦x⟧)
                                (_ :
                                  ∀ {x y : PGame},
                                    Numeric x →
                                      Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                                0 =
                              lift (fun x x_1 => ⟦x⟧)
                                (_ :
                                  ∀ {x y : PGame},
                                    Numeric x →
                                      Numeric y → PGame.Equiv x y → Quot.mk PGame.Equiv x = Quot.mk PGame.Equiv y)
                                0) }
                      y) }).toFun

Next tactic:
rintro ⟨_, _⟩ ⟨_, _⟩