proposition: Lemma isEmpty_Vone_app: forall l1 l2, isEmpty (l1 ++ l2) = Vone <-> isEmpty l1 = Vone /\ isEmpty l2 = Vone.
proof: Proof. intros. split; intros. - repeat rewrite isEmptyMeansInf, Forall_forall in *; split; intros; apply H, in_or_app; [left | right]; trivial. - repeat rewrite isEmptyMeansInf, Forall_forall in *. destruct H. intros. apply in_app_or in H1; destruct H1; [apply H | apply H0]; trivial. Qed.
imports: VST.floyd.proofauto