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 (* $Id: PartInterval.v,v 1.6 2004/04/23 10:01:00 lcf Exp $ *)
21 include "ftc/IntervalFunct.ma".
29 In this file we prove that there are mappings going in both ways
30 between the set of partial functions whose domain contains
31 [[a,b]] and the set of real-valued functions with domain on
32 that interval. These mappings form an adjunction, and thus they have
33 all the good properties for preservation results.
37 We begin by defining the map from partial functions to setoid
38 functions as simply being the restriction of the partial function to
41 %\begin{convention}% Let [F] be a partial function and [a,b:IR] such
42 that [I [=] [a,b]] is included in the domain of [F].
47 cic:/CoRN/ftc/PartInterval/Conversion/F.var
51 cic:/CoRN/ftc/PartInterval/Conversion/a.var
55 cic:/CoRN/ftc/PartInterval/Conversion/b.var
59 cic:/CoRN/ftc/PartInterval/Conversion/Hab.var
64 inline procedural "cic:/CoRN/ftc/PartInterval/Conversion/I.con" "Conversion__" as definition.
69 cic:/CoRN/ftc/PartInterval/Conversion/Hf.var
72 inline procedural "cic:/CoRN/ftc/PartInterval/IntPartIR_strext.con" as lemma.
74 inline procedural "cic:/CoRN/ftc/PartInterval/IntPartIR.con" as definition.
81 Implicit Arguments IntPartIR [F a b Hab].
85 Section AntiConversion
89 To go the other way around, we simply take a setoid function [f] with
90 domain [[a,b]] and build the corresponding partial function.
94 cic:/CoRN/ftc/PartInterval/AntiConversion/a.var
98 cic:/CoRN/ftc/PartInterval/AntiConversion/b.var
102 cic:/CoRN/ftc/PartInterval/AntiConversion/Hab.var
107 inline procedural "cic:/CoRN/ftc/PartInterval/AntiConversion/I.con" "AntiConversion__" as definition.
112 cic:/CoRN/ftc/PartInterval/AntiConversion/f.var
115 inline procedural "cic:/CoRN/ftc/PartInterval/PartInt_strext.con" as lemma.
117 inline procedural "cic:/CoRN/ftc/PartInterval/PartInt.con" as definition.
124 Implicit Arguments PartInt [a b Hab].
132 In one direction these operators are inverses.
135 inline procedural "cic:/CoRN/ftc/PartInterval/int_part_int.con" as lemma.
145 (*#* **Mappings Preserve Operations
147 We now prove that all the operations we have defined on both sets are
148 preserved by [PartInt].
150 %\begin{convention}% Let [F,G] be partial functions and [a,b:IR] and
151 denote by [I] the interval [[a,b]]. Let [f,g] be setoid functions of
152 type [I->IR] equal respectively to [F] and [G] in [I].
157 cic:/CoRN/ftc/PartInterval/Equivalences/F.var
161 cic:/CoRN/ftc/PartInterval/Equivalences/G.var
165 cic:/CoRN/ftc/PartInterval/Equivalences/a.var
169 cic:/CoRN/ftc/PartInterval/Equivalences/b.var
173 cic:/CoRN/ftc/PartInterval/Equivalences/c.var
177 cic:/CoRN/ftc/PartInterval/Equivalences/Hab.var
182 inline procedural "cic:/CoRN/ftc/PartInterval/Equivalences/I.con" "Equivalences__" as definition.
187 cic:/CoRN/ftc/PartInterval/Equivalences/f.var
191 cic:/CoRN/ftc/PartInterval/Equivalences/g.var
195 cic:/CoRN/ftc/PartInterval/Equivalences/Ff.var
199 cic:/CoRN/ftc/PartInterval/Equivalences/Gg.var
202 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_const.con" as lemma.
204 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_id.con" as lemma.
206 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_plus.con" as lemma.
208 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_inv.con" as lemma.
210 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_minus.con" as lemma.
212 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_mult.con" as lemma.
214 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_nth.con" as lemma.
219 cic:/CoRN/ftc/PartInterval/Equivalences/HG.var
223 cic:/CoRN/ftc/PartInterval/Equivalences/Hg.var
228 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_recip.con" as lemma.
230 inline procedural "cic:/CoRN/ftc/PartInterval/part_int_div.con" as lemma.