(motive : List Lean.OpenDecl → Sort u_1) →
  (x : List Lean.OpenDecl) →
    (Unit → motive []) →
      ((ns : Lean.Name) →
          (exs : List Lean.Name) → (ds : List Lean.OpenDecl) → motive (Lean.OpenDecl.simple ns exs :: ds)) →
        ((head : Lean.OpenDecl) → (ds : List Lean.OpenDecl) → motive (head :: ds)) → motive x