Definition be_to_be_inc (f : bool_expr -> bool_expr) :=
  forall be1 be2 : bool_expr, be_le be1 be2 -> be_le (f be1) (f be2).Definition fp (bef : bool_expr -> bool_expr) (be : bool_expr) :=
  be_eq be (bef be).Definition lfp_be (bef : bool_expr -> bool_expr) (be1 be : bool_expr) :=
  fp bef be /\
  be_le be1 be /\
  (forall be' : bool_expr, fp bef be' -> be_le be1 be' -> be_le be be').Definition lfp (bef : bool_expr -> bool_expr) (be : bool_expr) :=
  fp bef be /\ (forall be' : bool_expr, fp bef be' -> be_le be be').

(* Specifications: *)
Lemma lt_mn_minus : forall n m : nat, m < n -> 0 < n - m.
Lemma le_minus_minus : forall m n : nat, n <= m -> n = m - (m - n).
Lemma minus_n_m_le_n : forall n m : nat, n - m <= n.
Lemma le_minus_le : forall p n m : nat, n <= m -> p - m <= p - n.