{P : Sort u} →
  {decl : Lean.Declaration} →
    {indFvars : Array Lean.Expr} →
      {numParams : ℤ} →
        {rs : Array Lean.Elab.Command.PreElabHeaderResult} →
          {decl' : Lean.Declaration} →
            {indFvars' : Array Lean.Expr} →
              {numParams' : ℤ} →
                {rs' : Array Lean.Elab.Command.PreElabHeaderResult} →
                  { decl := decl, indFvars := indFvars, numParams := numParams, rs := rs } =
                      { decl := decl', indFvars := indFvars', numParams := numParams', rs := rs' } →
                    (decl = decl' → indFvars = indFvars' → numParams = numParams' → rs = rs' → P) → P