Goal:
  
  n1 : Z
  y1 : V.t
  x2 : V.t
  n2 : Z
  y2 : V.t
  H2 : CompareSpec (n1 = n2) (n1 < n2) (n2 < n1) (n1 ?= n2)
  ============================
   (CompareSpec ((x2, n1, y1) = (x2, n2, y2))
      (V.lt x2 x2 \/
       V.eq x2 x2 /\ n1 < n2 \/ V.eq x2 x2 /\ n1 = n2 /\ V.lt y1 y2)
      (V.lt x2 x2 \/
       V.eq x2 x2 /\ n2 < n1 \/ V.eq x2 x2 /\ n2 = n1 /\ V.lt y2 y1)
      match n1 ?= n2 with
      | Eq => V.compare y1 y2
      | Lt => Lt
      | Gt => Gt
      end)


DEBUG:Going to execute:
destruct (n1 ?= n2); cbn in *
DEBUG LTAC Evaluated term: (Z.compare_spec n1 n2)