Definition zlt: forall (x y: Z), {x < y} + {x >= y} := Z_lt_dec.

(* Specifications: *)
Lemma zlt_true: forall (A: Type) (x y: Z) (a b: A), x < y -> (if zlt x y then a else b) = a.
Lemma zlt_false: forall (A: Type) (x y: Z) (a b: A), x >= y -> (if zlt x y then a else b) = b.
Lemma zlt_true: forall (A: Type) (x y: Z) (a b: A), x < y -> (if zlt x y then a else b) = a.
Lemma zlt_false: forall (A: Type) (x y: Z) (a b: A), x >= y -> (if zlt x y then a else b) = b.