1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
19 include "Init/Prelude.ma".
21 (*#***********************************************************************)
23 (* v * The Coq Proof Assistant / The Coq Development Team *)
25 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
27 (* \VV/ **************************************************************)
29 (* // * This file is distributed under the terms of the *)
31 (* * GNU Lesser General Public License Version 2.1 *)
33 (*#***********************************************************************)
35 (*#***************************************************************************)
39 (* Naive Set Theory in Coq *)
45 (* Rocquencourt Sophia-Antipolis *)
63 (* Acknowledgments: This work was started in July 1993 by F. Prost. Thanks *)
65 (* to the Newton Institute for providing an exceptional work environment *)
67 (* in Summer 1995. Several developments by E. Ledinot were an inspiration. *)
69 (*#***************************************************************************)
71 (*i $Id: Ensembles.v,v 1.7.2.1 2004/07/16 19:31:17 herbelin Exp $ i*)
78 cic:/Coq/Sets/Ensembles/Ensembles/U.var
81 inline procedural "cic:/Coq/Sets/Ensembles/Ensemble.con" as definition.
83 inline procedural "cic:/Coq/Sets/Ensembles/In.con" as definition.
85 inline procedural "cic:/Coq/Sets/Ensembles/Included.con" as definition.
87 inline procedural "cic:/Coq/Sets/Ensembles/Empty_set.ind".
89 inline procedural "cic:/Coq/Sets/Ensembles/Full_set.ind".
91 (*#* NB: The following definition builds-in equality of elements in [U] as
94 This may have to be changed if we replace [U] by a Setoid on [U]
95 with its own equality [eqs], with
96 [In_singleton: (y: U)(eqs x y) -> (In (Singleton x) y)]. *)
98 inline procedural "cic:/Coq/Sets/Ensembles/Singleton.ind".
100 inline procedural "cic:/Coq/Sets/Ensembles/Union.ind".
102 inline procedural "cic:/Coq/Sets/Ensembles/Add.con" as definition.
104 inline procedural "cic:/Coq/Sets/Ensembles/Intersection.ind".
106 inline procedural "cic:/Coq/Sets/Ensembles/Couple.ind".
108 inline procedural "cic:/Coq/Sets/Ensembles/Triple.ind".
110 inline procedural "cic:/Coq/Sets/Ensembles/Complement.con" as definition.
112 inline procedural "cic:/Coq/Sets/Ensembles/Setminus.con" as definition.
114 inline procedural "cic:/Coq/Sets/Ensembles/Subtract.con" as definition.
116 inline procedural "cic:/Coq/Sets/Ensembles/Disjoint.ind".
118 inline procedural "cic:/Coq/Sets/Ensembles/Inhabited.ind".
120 inline procedural "cic:/Coq/Sets/Ensembles/Strict_Included.con" as definition.
122 inline procedural "cic:/Coq/Sets/Ensembles/Same_set.con" as definition.
124 (*#* Extensionality Axiom *)
126 inline procedural "cic:/Coq/Sets/Ensembles/Extensionality_Ensembles.con".
129 Hint Resolve Extensionality_Ensembles.
137 Hint Unfold In Included Same_set Strict_Included Add Setminus Subtract: sets
142 Hint Resolve Union_introl Union_intror Intersection_intro In_singleton
143 Couple_l Couple_r Triple_l Triple_m Triple_r Disjoint_intro
144 Extensionality_Ensembles: sets v62.