Module L.
Include Coq.Lists.List.
Definition null {A : Type} (l : list A) : bool :=
match l with
| L.nil => true
| L.cons _ _ => false
end.
#[global] Hint Rewrite null_spec in_map_iff in_app_iff : simplication_hints.
#[global] Hint Rewrite in_remove_iff : simplication_hints.

Lemma list_rev_dual {A : Type} (phi : list A -> Prop)
(H_rev : forall n, phi (L.rev n))
: forall n, phi n.