Load loadpath.
veristar.list_denote veristar.model_type veristar.model
veristar.basic veristar.compare.
Module Type SPRED_LEMMAS.
Declare Module VSM : VERISTAR_MODEL.
End SPRED_LEMMAS.
Module SPredLemmas (VSM : VERISTAR_MODEL) <: SPRED_LEMMAS
with Module VSM := VSM.
Module VSM := VSM.
(* properties of spred operators *)
Module spred. Section spred.
Variables x y z : spred.
Local Open Scope pred.

Lemma list_denote_inter_app : forall {A} (f: A -> spred) cs1 cs2 s,
list_denote f (@andp state) TT (cs1 ++ cs2) s ->
(list_denote f (@andp state) TT cs1 s /\
list_denote f (@andp state) TT cs2 s).