Library ListSet
List In in Set
Fixpoint In {A:Set}(a:A) (l:list A) : Set :=
match l with
| nil ⇒ Empty_set
| cons b m ⇒ (b = a) + In a m
end.
Definition incl {A:Set} l m := ∀ a:A, In a l → In a m.
Hint Unfold incl : core.
Definition included {A:Set}(Gamma:list A)(T:A→Set) :=
∀ f, In f Gamma → T f.
Theorem in_eq {A:Set} : ∀ (a:A) l, In a (a :: l).
Theorem in_cons {A:Set} : ∀ (a b:A) l, In b l → In b (a :: l).
Lemma nil_included {A:Set} : ∀ (Ax:A→Set), included nil Ax.
Lemma nil_lem1 {A:Set} : ∀ l:list A, incl nil l.
Lemma in_app_or {A:Set} : ∀ l m (a:A), In a (l ++ m) → In a l + In a m.
Lemma in_or_app {A:Set} : ∀ l m (a:A), In a l + In a m → In a (l ++ m).
Lemma included_lem1 {A:Set} : ∀ l1 l2:list A, ∀ Ax:A→Set,
included l1 Ax → included l2 Ax → included (l1++l2) Ax.
Lemma incl_tran {A:Set} : ∀ l m n:list A, incl l m → incl m n → incl l n.
Lemma incl_refl {A:Set} : ∀ l:list A, incl l l.
Hint Resolve incl_refl : core.
Theorem in_dec {A:Set} :
(∀ x y:A, {x = y} + {x ≠ y}) →
∀ (a:A) (l:list A), In a l + (In a l → Empty_set).
Lemma incl_appl {A:Set} : ∀ l m n:list A, incl l n → incl l (n ++ m).
Hint Immediate incl_appl : core.
Lemma incl_appr {A:Set} : ∀ l m n:list A, incl l n → incl l (m ++ n).
Hint Immediate incl_appr : core.
Lemma in_inv {A:Set} : ∀ (a b:A) (l:list A), In b (a :: l) → (a = b) + In b l.
match l with
| nil ⇒ Empty_set
| cons b m ⇒ (b = a) + In a m
end.
Definition incl {A:Set} l m := ∀ a:A, In a l → In a m.
Hint Unfold incl : core.
Definition included {A:Set}(Gamma:list A)(T:A→Set) :=
∀ f, In f Gamma → T f.
Theorem in_eq {A:Set} : ∀ (a:A) l, In a (a :: l).
Theorem in_cons {A:Set} : ∀ (a b:A) l, In b l → In b (a :: l).
Lemma nil_included {A:Set} : ∀ (Ax:A→Set), included nil Ax.
Lemma nil_lem1 {A:Set} : ∀ l:list A, incl nil l.
Lemma in_app_or {A:Set} : ∀ l m (a:A), In a (l ++ m) → In a l + In a m.
Lemma in_or_app {A:Set} : ∀ l m (a:A), In a l + In a m → In a (l ++ m).
Lemma included_lem1 {A:Set} : ∀ l1 l2:list A, ∀ Ax:A→Set,
included l1 Ax → included l2 Ax → included (l1++l2) Ax.
Lemma incl_tran {A:Set} : ∀ l m n:list A, incl l m → incl m n → incl l n.
Lemma incl_refl {A:Set} : ∀ l:list A, incl l l.
Hint Resolve incl_refl : core.
Theorem in_dec {A:Set} :
(∀ x y:A, {x = y} + {x ≠ y}) →
∀ (a:A) (l:list A), In a l + (In a l → Empty_set).
Lemma incl_appl {A:Set} : ∀ l m n:list A, incl l n → incl l (n ++ m).
Hint Immediate incl_appl : core.
Lemma incl_appr {A:Set} : ∀ l m n:list A, incl l n → incl l (m ++ n).
Hint Immediate incl_appr : core.
Lemma in_inv {A:Set} : ∀ (a b:A) (l:list A), In b (a :: l) → (a = b) + In b l.
This page has been generated by coqdoc