{motive : Lean.Elab.PreDefinition → Sort u} →
  (t : Lean.Elab.PreDefinition) →
    ((ref : Lean.Syntax) →
        (kind : Lean.Elab.DefKind) →
          (levelParams : List Lean.Name) →
            (modifiers : Lean.Elab.Modifiers) →
              (declName : Lean.Name) →
                (binders : Lean.Syntax) →
                  (numSectionVars : ℕ) →
                    (type value : Lean.Expr) →
                      (termination : Lean.Elab.TerminationHints) →
                        motive
                          { ref := ref, kind := kind, levelParams := levelParams, modifiers := modifiers,
                            declName := declName, binders := binders, numSectionVars := numSectionVars, type := type,
                            value := value, termination := termination }) →
      motive t