(motive : List (Lean.Expr × Lean.Expr) × List (Lean.Expr × Lean.Expr) → Sort u_1) →
  (x : List (Lean.Expr × Lean.Expr) × List (Lean.Expr × Lean.Expr)) →
    ((fst : List (Lean.Expr × Lean.Expr)) → motive (fst, [])) →
      ((ps₁ : List (Lean.Expr × Lean.Expr)) →
          (a snd : Lean.Expr) → (ps₂ : List (Lean.Expr × Lean.Expr)) → motive (ps₁, (a, snd) :: ps₂)) →
        motive x