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 *********************)
17 set "baseuri" "cic:/matita/CoRN-Decl/ftc/PartInterval".
21 (* $Id: PartInterval.v,v 1.6 2004/04/23 10:01:00 lcf Exp $ *)
23 include "ftc/IntervalFunct.ma".
31 In this file we prove that there are mappings going in both ways
32 between the set of partial functions whose domain contains
33 [[a,b]] and the set of real-valued functions with domain on
34 that interval. These mappings form an adjunction, and thus they have
35 all the good properties for preservation results.
39 We begin by defining the map from partial functions to setoid
40 functions as simply being the restriction of the partial function to
43 %\begin{convention}% Let [F] be a partial function and [a,b:IR] such
44 that [I [=] [a,b]] is included in the domain of [F].
48 alias id "F" = "cic:/CoRN/ftc/PartInterval/Conversion/F.var".
50 alias id "a" = "cic:/CoRN/ftc/PartInterval/Conversion/a.var".
52 alias id "b" = "cic:/CoRN/ftc/PartInterval/Conversion/b.var".
54 alias id "Hab" = "cic:/CoRN/ftc/PartInterval/Conversion/Hab.var".
58 inline "cic:/CoRN/ftc/PartInterval/Conversion/I.con" "Conversion__".
62 alias id "Hf" = "cic:/CoRN/ftc/PartInterval/Conversion/Hf.var".
64 inline "cic:/CoRN/ftc/PartInterval/IntPartIR_strext.con".
66 inline "cic:/CoRN/ftc/PartInterval/IntPartIR.con".
73 Implicit Arguments IntPartIR [F a b Hab].
77 Section AntiConversion
81 To go the other way around, we simply take a setoid function [f] with
82 domain [[a,b]] and build the corresponding partial function.
85 alias id "a" = "cic:/CoRN/ftc/PartInterval/AntiConversion/a.var".
87 alias id "b" = "cic:/CoRN/ftc/PartInterval/AntiConversion/b.var".
89 alias id "Hab" = "cic:/CoRN/ftc/PartInterval/AntiConversion/Hab.var".
93 inline "cic:/CoRN/ftc/PartInterval/AntiConversion/I.con" "AntiConversion__".
97 alias id "f" = "cic:/CoRN/ftc/PartInterval/AntiConversion/f.var".
99 inline "cic:/CoRN/ftc/PartInterval/PartInt_strext.con".
101 inline "cic:/CoRN/ftc/PartInterval/PartInt.con".
108 Implicit Arguments PartInt [a b Hab].
116 In one direction these operators are inverses.
119 inline "cic:/CoRN/ftc/PartInterval/int_part_int.con".
129 (*#* **Mappings Preserve Operations
131 We now prove that all the operations we have defined on both sets are
132 preserved by [PartInt].
134 %\begin{convention}% Let [F,G] be partial functions and [a,b:IR] and
135 denote by [I] the interval [[a,b]]. Let [f,g] be setoid functions of
136 type [I->IR] equal respectively to [F] and [G] in [I].
140 alias id "F" = "cic:/CoRN/ftc/PartInterval/Equivalences/F.var".
142 alias id "G" = "cic:/CoRN/ftc/PartInterval/Equivalences/G.var".
144 alias id "a" = "cic:/CoRN/ftc/PartInterval/Equivalences/a.var".
146 alias id "b" = "cic:/CoRN/ftc/PartInterval/Equivalences/b.var".
148 alias id "c" = "cic:/CoRN/ftc/PartInterval/Equivalences/c.var".
150 alias id "Hab" = "cic:/CoRN/ftc/PartInterval/Equivalences/Hab.var".
154 inline "cic:/CoRN/ftc/PartInterval/Equivalences/I.con" "Equivalences__".
158 alias id "f" = "cic:/CoRN/ftc/PartInterval/Equivalences/f.var".
160 alias id "g" = "cic:/CoRN/ftc/PartInterval/Equivalences/g.var".
162 alias id "Ff" = "cic:/CoRN/ftc/PartInterval/Equivalences/Ff.var".
164 alias id "Gg" = "cic:/CoRN/ftc/PartInterval/Equivalences/Gg.var".
166 inline "cic:/CoRN/ftc/PartInterval/part_int_const.con".
168 inline "cic:/CoRN/ftc/PartInterval/part_int_id.con".
170 inline "cic:/CoRN/ftc/PartInterval/part_int_plus.con".
172 inline "cic:/CoRN/ftc/PartInterval/part_int_inv.con".
174 inline "cic:/CoRN/ftc/PartInterval/part_int_minus.con".
176 inline "cic:/CoRN/ftc/PartInterval/part_int_mult.con".
178 inline "cic:/CoRN/ftc/PartInterval/part_int_nth.con".
182 alias id "HG" = "cic:/CoRN/ftc/PartInterval/Equivalences/HG.var".
184 alias id "Hg" = "cic:/CoRN/ftc/PartInterval/Equivalences/Hg.var".
188 inline "cic:/CoRN/ftc/PartInterval/part_int_recip.con".
190 inline "cic:/CoRN/ftc/PartInterval/part_int_div.con".