Opaque minus_rev_e.
(** * Less than predicate  - arities: (1,1) *)
Notation lt_e := minus_rev_e.

(* Specifications: *)
Lemma lt_correct v1 v2:
bs2bool (sem lt_e [v1] [v2]) = true ->
length v1 < length v2.
Lemma unary_tl l :
unary l = true ->
unary (tl l) = true.
Lemma lt_correct_conv_bool v1 v2:
unary v2 = true ->
length v1 < length v2 ->
bs2bool (sem lt_e [v1] [v2]) = true.
Lemma lt_correct_conv v1 v2 :
unary v1 = true ->
unary v2 = true ->
bs2bool (sem lt_e [v1] [v2]) = false ->
length v2 <= length v1.
Lemma lt_correct_conv_nil v1 v2 :
unary v1 = true ->
unary v2 = true ->
sem lt_e [v1] [v2] = nil ->
length v2 <= length v1.