∀ {M : Type u_1} [inst : CommMonoid M] {S : Submonoid M} {N : Type u_2} [inst_1 : CommMonoid N] {P : Type u_3}
  [inst_2 : CommMonoid P] (f : S.LocalizationMap N) {g : M →* P} (hg : ∀ (y : ↥S), IsUnit (g ↑y)),
  f.lift hg =
    { toFun := fun z => g (f.sec z).1 * ↑((IsUnit.liftRight (g.restrict S) hg) (f.sec z).2)⁻¹, map_one' := ⋯,
      map_mul' := ⋯ }