Definition var_env_or (ve1 ve2 : var_env) (x : ad) := ve1 x || ve2 x.Definition var_env'_or (ve1 ve2 : var_env') (x : nat) := ve1 x || ve2 x.

Lemma exl_semantics : forall (lx : list ad) (be : bool_expr) (ve : var_env'), (forall n : nat, ve n = true -> ~ In (N_of_nat n) lx) -> no_dup_list _ lx -> (eval_be' (exl be lx) ve = true <-> (exists ve' : var_env', (forall n : nat, ve' n = true -> In (N_of_nat n) lx) /\ eval_be' be (var_env'_or ve ve') = true)).