Section Evaluation.
(* Useful simple properties *)

(* Specifications: *)
Lemma eval_null_zero : forall p var, null p -> eval var p = false.
Lemma eval_extensional_eq_compat : forall p var1 var2,
(forall x, list_nth x var1 false = list_nth x var2 false) -> eval var1 p = eval var2 p.
Lemma eval_suffix_compat : forall k p var1 var2,
(forall i, (i < k)%positive -> list_nth i var1 false = list_nth i var2 false) -> valid k p ->
eval var1 p = eval var2 p.