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

case h_2
n : ℕ
v₁ v₂ v₃ : Variables n order.Lex
m : ℕ
a b c : Variables m order.Lex
property✝⁴ property✝³ property✝² : List.length [] = m
h : Order.lex_impl { val := [], property := property✝⁴ } { val := [], property := property✝³ }
v₁✝ v₂✝ : Vector ℕ m
x✝ : ℕ
tail✝¹ : List ℕ
property✝¹ : List.length (x✝ :: tail✝¹) = m
y✝ : ℕ
tail✝ : List ℕ
property✝ : List.length (y✝ :: tail✝) = m
heq✝¹ :
  Variables.mul { val := [], property := property✝⁴ } { val := [], property := property✝² } =
    { val := x✝ :: tail✝¹, property := property✝¹ }
heq✝ :
  Variables.mul { val := [], property := property✝³ } { val := [], property := property✝² } =
    { val := y✝ :: tail✝, property := property✝ }
⊢ if x✝ = y✝ then
    Order.lex_impl (tail (Variables.mul { val := [], property := property✝⁴ } { val := [], property := property✝² }))
      (tail (Variables.mul { val := [], property := property✝³ } { val := [], property := property✝² }))
  else x✝ ≤ y✝