split
n : ℕ
a : Variables n order.Lex
m : ℕ
v : Variables m order.Lex
x : ℕ
xs : List ℕ
property✝ : List.length (x :: xs) = m
⊢ match { val := x :: xs, property := property✝ }, { val := x :: xs, property := property✝ } with
  | { val := [], property := property }, { val := [], property := property_1 } => True
  | { val := x_1 :: tail, property := property }, { val := y :: tail_1, property := property_1 } =>
    if x_1 = y then
      Order.lex_impl (Vector.tail { val := x :: xs, property := property✝ })
        (Vector.tail { val := x :: xs, property := property✝ })
    else x_1 ≤ y
case h_1
n : ℕ
a : Variables n order.Lex
m : ℕ
v : Variables m order.Lex
x : ℕ
xs : List ℕ
property✝² : List.length (x :: xs) = m
v₁✝ v₂✝ : Vector ℕ m
property✝¹ property✝ : List.length [] = m
heq✝¹ : { val := x :: xs, property := property✝² } = { val := [], property := property✝¹ }
heq✝ : { val := x :: xs, property := property✝² } = { val := [], property := property✝ }
⊢ True

case h_2
n : ℕ
a : Variables n order.Lex
m : ℕ
v : Variables m order.Lex
x : ℕ
xs : List ℕ
property✝² : List.length (x :: xs) = m
v₁✝ v₂✝ : Vector ℕ m
x✝ : ℕ
tail✝¹ : List ℕ
property✝¹ : List.length (x✝ :: tail✝¹) = m
y✝ : ℕ
tail✝ : List ℕ
property✝ : List.length (y✝ :: tail✝) = m
heq✝¹ : { val := x :: xs, property := property✝² } = { val := x✝ :: tail✝¹, property := property✝¹ }
heq✝ : { val := x :: xs, property := property✝² } = { val := y✝ :: tail✝, property := property✝ }
⊢ if x✝ = y✝ then
    Order.lex_impl (tail { val := x :: xs, property := property✝² }) (tail { val := x :: xs, property := property✝² })
  else x✝ ≤ y✝