Inductive extract_trivial_liftx {A}: list (environ->A) -> list A -> Prop :=
| ETL_nil: extract_trivial_liftx nil nil
| ETL_cons: forall a al bl,
extract_trivial_liftx al bl ->
extract_trivial_liftx (`a :: al) (a::bl).

Lemma fold_right_and_app_lifted:
forall (Q1 Q2: list (environ -> Prop)),
fold_right `(and) `(True) (Q1 ++ Q2)  =
`(and) (fold_right `(and) `(True) Q1) (fold_right `(and) `(True) Q2).