simp [Or.comm]
n : ℕ
v₁ v₂ : Variables n order.Lex
m : ℕ
a b : Vector ℕ m
x : ℕ
xs : List ℕ
p : List.length (x :: xs) = m
y : ℕ
ys : List ℕ
q : List.length (y :: ys) = m
⊢ (match { val := x :: xs, property := p }, { val := y :: ys, property := q } with
    | { val := [], property := property }, { val := [], property := property_1 } => True
    | { val := x_1 :: tail, property := property }, { val := y_1 :: tail_1, property := property_1 } =>
      if x_1 = y_1 then
        Order.lex_impl (Vector.tail { val := x :: xs, property := p }) (Vector.tail { val := y :: ys, property := q })
      else x_1 ≤ y_1) ∨
    Order.lex_impl { val := y :: ys, property := q } { val := x :: xs, property := p }
n : ℕ
v₁ v₂ : Variables n order.Lex
m : ℕ
a b : Vector ℕ m
x : ℕ
xs : List ℕ
p : List.length (x :: xs) = m
y : ℕ
ys : List ℕ
q : List.length (y :: ys) = m
⊢ Order.lex_impl { val := y :: ys, property := q } { val := x :: xs, property := p } ∨
    if x = y then Order.lex_impl (tail { val := x :: xs, property := p }) (tail { val := y :: ys, property := q })
    else x ≤ y