(** * Preliminaries *)
(** This file contains definitions and proofs from the Base Library for the ICL lecture. - Version: 3 October 2016 - Author: Gert Smolka, Saarland University - Acknowlegments: Sigurd Schneider, Dominik Kirst, Yannick Forster *)
Require Export Bool Omega List Setoid Morphisms.
Global Set Implicit Arguments.
Global Unset Strict Implicit.
Global Unset Printing Records.
Global Unset Printing Implicit Defensive.
Global Set Regular Subst Tactic.
(** ** Lists *)
Export ListNotations.
Notation "x 'el' A" := (In x A) (at level 70).
Notation "A <<= B" := (incl A B) (at level 70).
Notation "| A |" := (length A) (at level 65).
Hint Extern 4 =>
match goal with
|[ H: ?x el nil |- _ ] => destruct H
end.

(* Specifications: *)
Lemma incl_nil X (A : list X) :
nil <<= A.