]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/Sorting/Heap.mma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / procedural / Coq / Sorting / Heap.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: Heap.v,v 1.3.2.1 2004/07/16 19:31:19 herbelin Exp $ i*)
34
35 (*#* A development of Treesort on Heap trees *)
36
37 (* G. Huet 1-9-95 uses Multiset *)
38
39 include "Lists/List.ma".
40
41 include "Sets/Multiset.ma".
42
43 include "Sorting/Permutation.ma".
44
45 include "Relations/Relations.ma".
46
47 include "Sorting/Sorting.ma".
48
49 (* UNEXPORTED
50 Section defs
51 *)
52
53 (* UNEXPORTED
54 cic:/Coq/Sorting/Heap/defs/A.var
55 *)
56
57 (* UNEXPORTED
58 cic:/Coq/Sorting/Heap/defs/leA.var
59 *)
60
61 (* UNEXPORTED
62 cic:/Coq/Sorting/Heap/defs/eqA.var
63 *)
64
65 (* UNAVAILABLE OBJECT: cic:/Coq/Sorting/Heap/defs/gtA.con *****************)
66
67 inline procedural "cic:/Coq/Sorting/Heap/defs/gtA.con" "defs__" as definition.
68
69 (* UNEXPORTED
70 cic:/Coq/Sorting/Heap/defs/leA_dec.var
71 *)
72
73 (* UNEXPORTED
74 cic:/Coq/Sorting/Heap/defs/eqA_dec.var
75 *)
76
77 (* UNEXPORTED
78 cic:/Coq/Sorting/Heap/defs/leA_refl.var
79 *)
80
81 (* UNEXPORTED
82 cic:/Coq/Sorting/Heap/defs/leA_trans.var
83 *)
84
85 (* UNEXPORTED
86 cic:/Coq/Sorting/Heap/defs/leA_antisym.var
87 *)
88
89 (* UNEXPORTED
90 Hint Resolve leA_refl.
91 *)
92
93 (* UNEXPORTED
94 Hint Immediate eqA_dec leA_dec leA_antisym.
95 *)
96
97 (* UNAVAILABLE OBJECT: cic:/Coq/Sorting/Heap/defs/emptyBag.con ************)
98
99 inline procedural "cic:/Coq/Sorting/Heap/defs/emptyBag.con" "defs__" as definition.
100
101 (* UNAVAILABLE OBJECT: cic:/Coq/Sorting/Heap/defs/singletonBag.con ********)
102
103 inline procedural "cic:/Coq/Sorting/Heap/defs/singletonBag.con" "defs__" as definition.
104
105 inline procedural "cic:/Coq/Sorting/Heap/Tree.ind".
106
107 (*#* [a] is lower than a Tree [T] if [T] is a Leaf
108     or [T] is a Node holding [b>a] *)
109
110 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree.con" as definition.
111
112 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree_Leaf.con" as lemma.
113
114 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree_Node.con" as lemma.
115
116 (* UNEXPORTED
117 Hint Resolve leA_Tree_Leaf leA_Tree_Node.
118 *)
119
120 (*#* The heap property *)
121
122 inline procedural "cic:/Coq/Sorting/Heap/is_heap.ind".
123
124 (* UNEXPORTED
125 Hint Constructors is_heap.
126 *)
127
128 inline procedural "cic:/Coq/Sorting/Heap/invert_heap.con" as lemma.
129
130 (* This lemma ought to be generated automatically by the Inversion tools *)
131
132 inline procedural "cic:/Coq/Sorting/Heap/is_heap_rec.con" as lemma.
133
134 inline procedural "cic:/Coq/Sorting/Heap/low_trans.con" as lemma.
135
136 (*#* contents of a tree as a multiset *)
137
138 (*#* Nota Bene : In what follows the definition of SingletonBag
139     in not used. Actually, we could just take as postulate:
140     [Parameter SingletonBag : A->multiset].  *)
141
142 inline procedural "cic:/Coq/Sorting/Heap/contents.con" as definition.
143
144 (*#* equivalence of two trees is equality of corresponding multisets *)
145
146 inline procedural "cic:/Coq/Sorting/Heap/equiv_Tree.con" as definition.
147
148 (*#* specification of heap insertion *)
149
150 inline procedural "cic:/Coq/Sorting/Heap/insert_spec.ind".
151
152 inline procedural "cic:/Coq/Sorting/Heap/insert.con" as lemma.
153
154 (*#* building a heap from a list *)
155
156 inline procedural "cic:/Coq/Sorting/Heap/build_heap.ind".
157
158 inline procedural "cic:/Coq/Sorting/Heap/list_to_heap.con" as lemma.
159
160 (*#* building the sorted list *)
161
162 inline procedural "cic:/Coq/Sorting/Heap/flat_spec.ind".
163
164 inline procedural "cic:/Coq/Sorting/Heap/heap_to_list.con" as lemma.
165
166 (*#* specification of treesort *)
167
168 inline procedural "cic:/Coq/Sorting/Heap/treesort.con" as theorem.
169
170 (* UNEXPORTED
171 End defs
172 *)
173