Definition mf (be : bool_expr) := mu_eval f (re_put re P be).Definition mfs (n : nat) := fst (be_iter2n mf Zero n).

(* Specifications: *)
Lemma mf_inc : be_to_be_inc mf.
Lemma mf_be_ok : forall be : bool_expr, be_ok (var_lu 0 N) be -> be_ok (var_lu 0 N) (mf be).
Lemma mf_preserves_eq : forall be1 be2 : bool_expr, be_eq be1 be2 -> be_eq (mf be1) (mf be2).
Lemma mf_fix_ex : exists m : nat, m <= two_power N /\ be_eq (be_iter1 mf Zero m) (be_iter1 mf Zero (S m)).
Lemma mf_lfp : lfp mf (fst (be_iter2n mf Zero N)).
Lemma mu_eval_mu_is_lfp : forall (P : ad) (f : mu_form) (re : rel_env), f_ok (mu_mu P f) -> mu_form_ap_ok (var_lu 0 N) (mu_mu P f) -> ad_to_be_ok (var_lu 0 N) re -> lfp (fun be : bool_expr => mu_eval f (re_put re P be)) (mu_eval (mu_mu P f) re).