]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/Init/Datatypes.mma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / procedural / Coq / Init / Datatypes.mma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 include "Coq.ma".
18
19 (*#***********************************************************************)
20
21 (*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
22
23 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
24
25 (*   \VV/  **************************************************************)
26
27 (*    //   *      This file is distributed under the terms of the       *)
28
29 (*         *       GNU Lesser General Public License Version 2.1        *)
30
31 (*#***********************************************************************)
32
33 (*i $Id: Datatypes.v,v 1.26.2.1 2004/07/16 19:31:03 herbelin Exp $ i*)
34
35 include "Init/Notations.ma".
36
37 include "Init/Logic.ma".
38
39 (* UNEXPORTED
40 Set Implicit Arguments.
41 *)
42
43 (*#* [unit] is a singleton datatype with sole inhabitant [tt] *)
44
45 inline procedural "cic:/Coq/Init/Datatypes/unit.ind".
46
47 (*#* [bool] is the datatype of the booleans values [true] and [false] *)
48
49 inline procedural "cic:/Coq/Init/Datatypes/bool.ind".
50
51 (* NOTATION
52 Add Printing If bool.
53 *)
54
55 (*#* [nat] is the datatype of natural numbers built from [O] and successor [S];
56     note that zero is the letter O, not the numeral 0 *)
57
58 inline procedural "cic:/Coq/Init/Datatypes/nat.ind".
59
60 (* UNEXPORTED
61 Delimit Scope nat_scope with nat.
62 *)
63
64 (* UNEXPORTED
65 Bind Scope nat_scope with nat.
66 *)
67
68 (* UNEXPORTED
69 Arguments Scope S [nat_scope].
70 *)
71
72 (*#* [Empty_set] has no inhabitant *)
73
74 inline procedural "cic:/Coq/Init/Datatypes/Empty_set.ind".
75
76 (*#* [identity A a] is the family of datatypes on [A] whose sole non-empty
77     member is the singleton datatype [identity A a a] whose
78     sole inhabitant is denoted [refl_identity A a] *)
79
80 inline procedural "cic:/Coq/Init/Datatypes/identity.ind".
81
82 (* UNEXPORTED
83 Hint Resolve refl_identity: core v62.
84 *)
85
86 (* UNEXPORTED
87 Implicit Arguments identity_ind [A].
88 *)
89
90 (* UNEXPORTED
91 Implicit Arguments identity_rec [A].
92 *)
93
94 (* UNEXPORTED
95 Implicit Arguments identity_rect [A].
96 *)
97
98 (*#* [option A] is the extension of A with a dummy element None *)
99
100 inline procedural "cic:/Coq/Init/Datatypes/option.ind".
101
102 (* UNEXPORTED
103 Implicit Arguments None [A].
104 *)
105
106 (*#* [sum A B], equivalently [A + B], is the disjoint sum of [A] and [B] *)
107
108 (* Syntax defined in Specif.v *)
109
110 inline procedural "cic:/Coq/Init/Datatypes/sum.ind".
111
112 (* NOTATION
113 Notation "x + y" := (sum x y) : type_scope.
114 *)
115
116 (*#* [prod A B], written [A * B], is the product of [A] and [B];
117     the pair [pair A B a b] of [a] and [b] is abbreviated [(a,b)] *)
118
119 inline procedural "cic:/Coq/Init/Datatypes/prod.ind".
120
121 (* NOTATION
122 Add Printing Let prod.
123 *)
124
125 (* NOTATION
126 Notation "x * y" := (prod x y) : type_scope.
127 *)
128
129 (* NOTATION
130 Notation "( x , y , .. , z )" := (pair .. (pair x y) .. z) : core_scope.
131 *)
132
133 (* UNEXPORTED
134 Section projections
135 *)
136
137 (* UNEXPORTED
138 cic:/Coq/Init/Datatypes/projections/A.var
139 *)
140
141 (* UNEXPORTED
142 cic:/Coq/Init/Datatypes/projections/B.var
143 *)
144
145 inline procedural "cic:/Coq/Init/Datatypes/fst.con" as definition.
146
147 inline procedural "cic:/Coq/Init/Datatypes/snd.con" as definition.
148
149 (* UNEXPORTED
150 End projections
151 *)
152
153 (* UNEXPORTED
154 Hint Resolve pair inl inr: core v62.
155 *)
156
157 inline procedural "cic:/Coq/Init/Datatypes/surjective_pairing.con" as lemma.
158
159 inline procedural "cic:/Coq/Init/Datatypes/injective_projections.con" as lemma.
160
161 (*#* Comparison *)
162
163 inline procedural "cic:/Coq/Init/Datatypes/comparison.ind".
164
165 inline procedural "cic:/Coq/Init/Datatypes/CompOpp.con" as definition.
166