{α : Type} →
  {P : Sort u} →
    {smap : Lean.PHashMap Lean.Name (List α)} →
      {origins erased : Lean.PHashSet Lean.Meta.Grind.Origin} →
        {omap : Lean.PHashMap Lean.Meta.Grind.Origin (List α)} →
          {smap' : Lean.PHashMap Lean.Name (List α)} →
            {origins' erased' : Lean.PHashSet Lean.Meta.Grind.Origin} →
              {omap' : Lean.PHashMap Lean.Meta.Grind.Origin (List α)} →
                { smap := smap, origins := origins, erased := erased, omap := omap } =
                    { smap := smap', origins := origins', erased := erased', omap := omap' } →
                  (smap ≍ smap' → origins = origins' → erased = erased' → omap ≍ omap' → P) → P