(motive : List Lean.Compiler.LCNF.UnreachableBranches.Value → Lean.Compiler.LCNF.UnreachableBranches.Value → Sort u_1) →
  (vs : List Lean.Compiler.LCNF.UnreachableBranches.Value) →
    (v : Lean.Compiler.LCNF.UnreachableBranches.Value) →
      ((v : Lean.Compiler.LCNF.UnreachableBranches.Value) → motive [] v) →
        ((v1 : Lean.Compiler.LCNF.UnreachableBranches.Value) →
            (i1 : Lean.Name) →
              (vs1 : Array Lean.Compiler.LCNF.UnreachableBranches.Value) →
                (h : v1 = Lean.Compiler.LCNF.UnreachableBranches.Value.ctor i1 vs1) →
                  (cs : List Lean.Compiler.LCNF.UnreachableBranches.Value) →
                    (i2 : Lean.Name) →
                      (vs2 : Array Lean.Compiler.LCNF.UnreachableBranches.Value) →
                        motive (namedPattern v1 (Lean.Compiler.LCNF.UnreachableBranches.Value.ctor i1 vs1) h :: cs)
                          (Lean.Compiler.LCNF.UnreachableBranches.Value.ctor i2 vs2)) →
          ((x : List Lean.Compiler.LCNF.UnreachableBranches.Value) →
              (x_1 : Lean.Compiler.LCNF.UnreachableBranches.Value) → motive x x_1) →
            motive vs v