]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/Sorting/Heap.mma
transcript: we improved the parser/lexer to read the scripts of the standard
[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___,, *        INRIA-Rocquencourt  &  LRI-CNRS-Orsay              *)
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 2003/11/29 17:28:44 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 inline procedural "cic:/Coq/Sorting/Heap/defs/gtA.con" "defs__" as definition.
66
67 (* UNEXPORTED
68 cic:/Coq/Sorting/Heap/defs/leA_dec.var
69 *)
70
71 (* UNEXPORTED
72 cic:/Coq/Sorting/Heap/defs/eqA_dec.var
73 *)
74
75 (* UNEXPORTED
76 cic:/Coq/Sorting/Heap/defs/leA_refl.var
77 *)
78
79 (* UNEXPORTED
80 cic:/Coq/Sorting/Heap/defs/leA_trans.var
81 *)
82
83 (* UNEXPORTED
84 cic:/Coq/Sorting/Heap/defs/leA_antisym.var
85 *)
86
87 (* UNEXPORTED
88 Hint Resolve leA_refl.
89 *)
90
91 (* UNEXPORTED
92 Hint Immediate eqA_dec leA_dec leA_antisym.
93 *)
94
95 inline procedural "cic:/Coq/Sorting/Heap/defs/emptyBag.con" "defs__" as definition.
96
97 inline procedural "cic:/Coq/Sorting/Heap/defs/singletonBag.con" "defs__" as definition.
98
99 inline procedural "cic:/Coq/Sorting/Heap/Tree.ind".
100
101 (*#* [a] is lower than a Tree [T] if [T] is a Leaf
102     or [T] is a Node holding [b>a] *)
103
104 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree.con" as definition.
105
106 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree_Leaf.con" as lemma.
107
108 inline procedural "cic:/Coq/Sorting/Heap/leA_Tree_Node.con" as lemma.
109
110 (* UNEXPORTED
111 Hint Resolve leA_Tree_Leaf leA_Tree_Node.
112 *)
113
114 (*#* The heap property *)
115
116 inline procedural "cic:/Coq/Sorting/Heap/is_heap.ind".
117
118 (* UNEXPORTED
119 Hint Constructors is_heap.
120 *)
121
122 inline procedural "cic:/Coq/Sorting/Heap/invert_heap.con" as lemma.
123
124 (* This lemma ought to be generated automatically by the Inversion tools *)
125
126 inline procedural "cic:/Coq/Sorting/Heap/is_heap_rec.con" as lemma.
127
128 inline procedural "cic:/Coq/Sorting/Heap/low_trans.con" as lemma.
129
130 (*#* contents of a tree as a multiset *)
131
132 (*#* Nota Bene : In what follows the definition of SingletonBag
133     in not used. Actually, we could just take as postulate:
134     [Parameter SingletonBag : A->multiset].  *)
135
136 inline procedural "cic:/Coq/Sorting/Heap/contents.con" as definition.
137
138 (*#* equivalence of two trees is equality of corresponding multisets *)
139
140 inline procedural "cic:/Coq/Sorting/Heap/equiv_Tree.con" as definition.
141
142 (*#* specification of heap insertion *)
143
144 inline procedural "cic:/Coq/Sorting/Heap/insert_spec.ind".
145
146 inline procedural "cic:/Coq/Sorting/Heap/insert.con" as lemma.
147
148 (*#* building a heap from a list *)
149
150 inline procedural "cic:/Coq/Sorting/Heap/build_heap.ind".
151
152 inline procedural "cic:/Coq/Sorting/Heap/list_to_heap.con" as lemma.
153
154 (*#* building the sorted list *)
155
156 inline procedural "cic:/Coq/Sorting/Heap/flat_spec.ind".
157
158 inline procedural "cic:/Coq/Sorting/Heap/heap_to_list.con" as lemma.
159
160 (*#* specification of treesort *)
161
162 inline procedural "cic:/Coq/Sorting/Heap/treesort.con" as theorem.
163
164 (* UNEXPORTED
165 End defs
166 *)
167