End Be_iter1.

Lemma be_iter2n_le_preserved :
forall (n : nat) (be1 be2 : bool_expr) (f1 f2 : bool_expr -> bool_expr),
be_le be1 be2 ->
(forall be1' be2' : bool_expr, be_eq be1' be2' -> be_eq (f1 be1') (f1 be2')) ->
(forall be1' be2' : bool_expr, be_eq be1' be2' -> be_eq (f2 be1') (f2 be2')) ->
(forall be1' be2' : bool_expr, be_le be1' be2' -> be_le (f1 be1') (f2 be2')) ->
be_le (fst (be_iter2n f1 be1 n)) (fst (be_iter2n f2 be2 n)).