(* QuickChick Prelude *)
Set Warnings "-extraction-opaque-accessed,-extraction".
Set Warnings "-notation-overridden,-parsing".
Set Bullet Behavior "Strict Subproofs".
(* End prelude *)
Require Export Lists.
Inductive list (X:Type) : Type :=
| nil : list X
| cons : X -> list X -> list X.
Instance dec_list' {A} (p q : list A)
(D : forall (x y : A), Dec (x = y)) : Dec (p = q).
Admitted. (* QuickChick app_assoc. *)
Admitted. (* QuickChick app_length. *)

Theorem rev_app_distr: forall X (l1 l2 : list X),
rev (l1 ++ l2) = rev l1 ++ rev l2.