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 (*#***********************************************************************)
21 (* v * The Coq Proof Assistant / The Coq Development Team *)
23 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
25 (* \VV/ **************************************************************)
27 (* // * This file is distributed under the terms of the *)
29 (* * GNU Lesser General Public License Version 2.1 *)
31 (*#***********************************************************************)
33 (*i $Id: Adalloc.v,v 1.10.2.1 2004/07/16 19:31:04 herbelin Exp $ i*)
35 include "Bool/Bool.ma".
37 include "Bool/Sumbool.ma".
39 include "ZArith/ZArith.ma".
41 include "Arith/Arith.ma".
43 include "IntMap/Addr.ma".
45 include "IntMap/Adist.ma".
47 include "IntMap/Addec.ma".
49 include "IntMap/Map.ma".
51 include "IntMap/Fset.ma".
58 cic:/Coq/IntMap/Adalloc/AdAlloc/A.var
61 inline procedural "cic:/Coq/IntMap/Adalloc/nat_of_ad.con" as definition.
63 inline procedural "cic:/Coq/IntMap/Adalloc/nat_le.con" as definition.
65 inline procedural "cic:/Coq/IntMap/Adalloc/nat_le_correct.con" as lemma.
67 inline procedural "cic:/Coq/IntMap/Adalloc/nat_le_complete.con" as lemma.
69 inline procedural "cic:/Coq/IntMap/Adalloc/nat_le_correct_conv.con" as lemma.
71 inline procedural "cic:/Coq/IntMap/Adalloc/nat_le_complete_conv.con" as lemma.
73 inline procedural "cic:/Coq/IntMap/Adalloc/ad_of_nat.con" as definition.
75 inline procedural "cic:/Coq/IntMap/Adalloc/ad_of_nat_of_ad.con" as lemma.
77 inline procedural "cic:/Coq/IntMap/Adalloc/nat_of_ad_of_nat.con" as lemma.
79 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le.con" as definition.
81 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_refl.con" as lemma.
83 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_antisym.con" as lemma.
85 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_trans.con" as lemma.
87 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_lt_trans.con" as lemma.
89 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_le_trans.con" as lemma.
91 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_trans.con" as lemma.
93 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_le_weak.con" as lemma.
95 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min.con" as definition.
97 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_choice.con" as lemma.
99 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_le_1.con" as lemma.
101 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_le_2.con" as lemma.
103 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_le_3.con" as lemma.
105 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_le_4.con" as lemma.
107 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_le_5.con" as lemma.
109 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_lt_3.con" as lemma.
111 inline procedural "cic:/Coq/IntMap/Adalloc/ad_min_lt_4.con" as lemma.
113 (*#* Allocator: returns an address not in the domain of [m].
114 This allocator is optimal in that it returns the lowest possible address,
115 in the usual ordering on integers. It is not the most efficient, however. *)
117 inline procedural "cic:/Coq/IntMap/Adalloc/ad_alloc_opt.con" as definition.
119 inline procedural "cic:/Coq/IntMap/Adalloc/ad_alloc_opt_allocates_1.con" as lemma.
121 inline procedural "cic:/Coq/IntMap/Adalloc/ad_alloc_opt_allocates.con" as lemma.
123 (*#* Moreover, this is optimal: all addresses below [(ad_alloc_opt m)]
126 inline procedural "cic:/Coq/IntMap/Adalloc/nat_of_ad_double.con" as lemma.
128 inline procedural "cic:/Coq/IntMap/Adalloc/nat_of_ad_double_plus_un.con" as lemma.
130 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_double_mono.con" as lemma.
132 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_double_plus_un_mono.con" as lemma.
134 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_double_mono_conv.con" as lemma.
136 inline procedural "cic:/Coq/IntMap/Adalloc/ad_le_double_plus_un_mono_conv.con" as lemma.
138 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_double_mono.con" as lemma.
140 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_double_plus_un_mono.con" as lemma.
142 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_double_mono_conv.con" as lemma.
144 inline procedural "cic:/Coq/IntMap/Adalloc/ad_lt_double_plus_un_mono_conv.con" as lemma.
146 inline procedural "cic:/Coq/IntMap/Adalloc/ad_alloc_opt_optimal_1.con" as lemma.
148 inline procedural "cic:/Coq/IntMap/Adalloc/ad_alloc_opt_optimal.con" as lemma.