Set Implicit Arguments.
Fixpoint subseq {A} (xs ys : list A) : Prop :=
match xs, ys with
| [], _ => True
| x :: xs', y :: ys' => (x = y /\ subseq xs' ys') \/ subseq xs ys'
| _, _ => False
end.
Section subseq.
Variable A B : Type.
Hypothesis A_eq_dec : forall x y : A, {x = y} + {x <> y}.

(* Specifications: *)
Lemma subseq_refl : forall (l : list A), subseq l l.
Proof using.