{P : Sort u} →
  {name : Lean.Name} →
    {builder : Aesop.BuilderName} →
      {phase : Aesop.PhaseName} →
        {scope : Aesop.ScopeName} →
          {hash : UInt64} →
            {name' : Lean.Name} →
              {builder' : Aesop.BuilderName} →
                {phase' : Aesop.PhaseName} →
                  {scope' : Aesop.ScopeName} →
                    {hash' : UInt64} →
                      { name := name, builder := builder, phase := phase, scope := scope, hash := hash } =
                          { name := name', builder := builder', phase := phase', scope := scope', hash := hash' } →
                        (name = name' → builder = builder' → phase = phase' → scope = scope' → hash = hash' → P) → P