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/reals/Max_AbsIR".
21 (* $Id: Max_AbsIR.v,v 1.13 2004/04/23 10:01:04 lcf Exp $ *)
23 (*#* printing Max %\ensuremath{\max}% *)
25 (*#* printing Min %\ensuremath{\min}% *)
27 include "reals/CauchySeq.ma".
37 (*#* ** Maximum, Minimum and Absolute Value
40 Let [x] and [y] be reals
41 (we will define the maximum of [x] and [y]).
45 inline "cic:/CoRN/reals/Max_AbsIR/x.var".
47 inline "cic:/CoRN/reals/Max_AbsIR/y.var".
49 inline "cic:/CoRN/reals/Max_AbsIR/Max_seq.con".
51 inline "cic:/CoRN/reals/Max_AbsIR/Max_seq_char.con".
53 inline "cic:/CoRN/reals/Max_AbsIR/Cauchy_Max_seq.con".
55 inline "cic:/CoRN/reals/Max_AbsIR/Max_CauchySeq.con".
57 inline "cic:/CoRN/reals/Max_AbsIR/MAX.con".
60 Constructively, the elementary properties of the maximum function are:
63 - [z [<] Max(x,y) -> z [<] x or z [<] y].
65 (This can be more concisely expressed as
66 [z [<] Max(x,y) Iff z [<] x or z [<] y]).
67 From these elementary properties we can prove all other properties, including
68 strong extensionality.
69 With strong extensionality, we can make the binary operation [Max].
70 (So [Max] is [MAX] coupled with some proofs.)
73 inline "cic:/CoRN/reals/Max_AbsIR/lft_leEq_MAX.con".
75 inline "cic:/CoRN/reals/Max_AbsIR/rht_leEq_MAX.con".
77 inline "cic:/CoRN/reals/Max_AbsIR/less_MAX_imp.con".
83 inline "cic:/CoRN/reals/Max_AbsIR/MAX_strext.con".
85 inline "cic:/CoRN/reals/Max_AbsIR/MAX_wd.con".
88 Section properties_of_Max.
93 inline "cic:/CoRN/reals/Max_AbsIR/Max.con".
95 inline "cic:/CoRN/reals/Max_AbsIR/Max_wd_unfolded.con".
97 inline "cic:/CoRN/reals/Max_AbsIR/lft_leEq_Max.con".
99 inline "cic:/CoRN/reals/Max_AbsIR/rht_leEq_Max.con".
101 inline "cic:/CoRN/reals/Max_AbsIR/less_Max_imp.con".
103 inline "cic:/CoRN/reals/Max_AbsIR/Max_leEq.con".
105 inline "cic:/CoRN/reals/Max_AbsIR/Max_less.con".
107 inline "cic:/CoRN/reals/Max_AbsIR/equiv_imp_eq_max.con".
109 inline "cic:/CoRN/reals/Max_AbsIR/Max_id.con".
111 inline "cic:/CoRN/reals/Max_AbsIR/Max_comm.con".
113 inline "cic:/CoRN/reals/Max_AbsIR/leEq_imp_Max_is_rht.con".
115 inline "cic:/CoRN/reals/Max_AbsIR/Max_is_rht_imp_leEq.con".
117 inline "cic:/CoRN/reals/Max_AbsIR/Max_minus_eps_leEq.con".
119 inline "cic:/CoRN/reals/Max_AbsIR/max_one_ap_zero.con".
121 inline "cic:/CoRN/reals/Max_AbsIR/pos_max_one.con".
123 inline "cic:/CoRN/reals/Max_AbsIR/x_div_Max_leEq_x.con".
126 End properties_of_Max.
134 Hint Resolve Max_id: algebra.
143 The minimum is defined by the formula
144 [Min(x,y) [=] [--]Max( [--]x,[--]y)].
147 inline "cic:/CoRN/reals/Max_AbsIR/MIN.con".
149 inline "cic:/CoRN/reals/Max_AbsIR/MIN_wd.con".
151 inline "cic:/CoRN/reals/Max_AbsIR/MIN_strext.con".
153 inline "cic:/CoRN/reals/Max_AbsIR/Min.con".
155 inline "cic:/CoRN/reals/Max_AbsIR/Min_wd_unfolded.con".
157 inline "cic:/CoRN/reals/Max_AbsIR/Min_strext_unfolded.con".
159 inline "cic:/CoRN/reals/Max_AbsIR/Min_leEq_lft.con".
161 inline "cic:/CoRN/reals/Max_AbsIR/Min_leEq_rht.con".
163 inline "cic:/CoRN/reals/Max_AbsIR/Min_less_imp.con".
165 inline "cic:/CoRN/reals/Max_AbsIR/leEq_Min.con".
167 inline "cic:/CoRN/reals/Max_AbsIR/less_Min.con".
169 inline "cic:/CoRN/reals/Max_AbsIR/equiv_imp_eq_min.con".
171 inline "cic:/CoRN/reals/Max_AbsIR/Min_id.con".
173 inline "cic:/CoRN/reals/Max_AbsIR/Min_comm.con".
175 inline "cic:/CoRN/reals/Max_AbsIR/leEq_imp_Min_is_lft.con".
177 inline "cic:/CoRN/reals/Max_AbsIR/Min_is_lft_imp_leEq.con".
179 inline "cic:/CoRN/reals/Max_AbsIR/leEq_Min_plus_eps.con".
181 inline "cic:/CoRN/reals/Max_AbsIR/a.var".
183 inline "cic:/CoRN/reals/Max_AbsIR/b.var".
185 inline "cic:/CoRN/reals/Max_AbsIR/Min_leEq_Max.con".
187 inline "cic:/CoRN/reals/Max_AbsIR/Min_leEq_Max'.con".
189 inline "cic:/CoRN/reals/Max_AbsIR/Min3_leEq_Max3.con".
191 inline "cic:/CoRN/reals/Max_AbsIR/Min_less_Max.con".
193 inline "cic:/CoRN/reals/Max_AbsIR/ap_imp_Min_less_Max.con".
195 inline "cic:/CoRN/reals/Max_AbsIR/Min_less_Max_imp_ap.con".
201 (*#**********************************)
207 (*#**********************************)
209 (*#* *** Absolute value *)
211 inline "cic:/CoRN/reals/Max_AbsIR/ABSIR.con".
213 inline "cic:/CoRN/reals/Max_AbsIR/ABSIR_strext.con".
215 inline "cic:/CoRN/reals/Max_AbsIR/ABSIR_wd.con".
217 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR.con".
219 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_wd.con".
221 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_wdl.con".
223 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_wdr.con".
225 inline "cic:/CoRN/reals/Max_AbsIR/AbsIRz_isz.con".
227 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_nonneg.con".
229 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_pos.con".
231 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_cancel_ap_zero.con".
233 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_resp_ap_zero.con".
235 inline "cic:/CoRN/reals/Max_AbsIR/leEq_AbsIR.con".
237 inline "cic:/CoRN/reals/Max_AbsIR/inv_leEq_AbsIR.con".
239 inline "cic:/CoRN/reals/Max_AbsIR/AbsSmall_e.con".
241 inline "cic:/CoRN/reals/Max_AbsIR/AbsSmall_imp_AbsIR.con".
243 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_AbsSmall.con".
245 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_imp_AbsSmall.con".
247 inline "cic:/CoRN/reals/Max_AbsIR/AbsSmall_transitive.con".
249 inline "cic:/CoRN/reals/Max_AbsIR/zero_less_AbsIR_plus_one.con".
251 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_inv.con".
253 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_minus.con".
255 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_x.con".
257 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_inv_x.con".
259 inline "cic:/CoRN/reals/Max_AbsIR/less_AbsIR.con".
261 inline "cic:/CoRN/reals/Max_AbsIR/leEq_distr_AbsIR.con".
263 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_approach_zero.con".
265 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_zero.con".
267 inline "cic:/CoRN/reals/Max_AbsIR/Abs_Max.con".
269 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_str_bnd.con".
271 inline "cic:/CoRN/reals/Max_AbsIR/AbsIR_bnd.con".
278 Hint Resolve AbsIRz_isz: algebra.
282 Section Part_Function_Max.
285 (*#* *** Functional Operators
287 The existence of these operators allows us to lift them to functions. We will define the maximum, minimum and absolute value of two partial functions.
290 Let [F,G:PartIR] and denote by [P] and [Q] their respective domains.
294 inline "cic:/CoRN/reals/Max_AbsIR/F.var".
296 inline "cic:/CoRN/reals/Max_AbsIR/G.var".
300 inline "cic:/CoRN/reals/Max_AbsIR/P.con".
302 inline "cic:/CoRN/reals/Max_AbsIR/Q.con".
306 inline "cic:/CoRN/reals/Max_AbsIR/part_function_Max_strext.con".
308 inline "cic:/CoRN/reals/Max_AbsIR/FMax.con".
311 End Part_Function_Max.
315 Section Part_Function_Abs.
318 inline "cic:/CoRN/reals/Max_AbsIR/F.var".
320 inline "cic:/CoRN/reals/Max_AbsIR/G.var".
324 inline "cic:/CoRN/reals/Max_AbsIR/P.con".
326 inline "cic:/CoRN/reals/Max_AbsIR/Q.con".
330 inline "cic:/CoRN/reals/Max_AbsIR/FMin.con".
332 inline "cic:/CoRN/reals/Max_AbsIR/FAbs.con".
338 inline "cic:/CoRN/reals/Max_AbsIR/FMin_char.con".
344 inline "cic:/CoRN/reals/Max_AbsIR/FAbs_char.con".
347 End Part_Function_Abs.
351 Hint Resolve FAbs_char: algebra.
354 inline "cic:/CoRN/reals/Max_AbsIR/FAbs_char'.con".
356 inline "cic:/CoRN/reals/Max_AbsIR/FAbs_nonneg.con".
359 Hint Resolve FAbs_char': algebra.
366 inline "cic:/CoRN/reals/Max_AbsIR/F.var".
368 inline "cic:/CoRN/reals/Max_AbsIR/G.var".
372 inline "cic:/CoRN/reals/Max_AbsIR/P.con".
374 inline "cic:/CoRN/reals/Max_AbsIR/Q.con".
379 %\begin{convention}% Let [R:IR->CProp].
383 inline "cic:/CoRN/reals/Max_AbsIR/R.var".
385 inline "cic:/CoRN/reals/Max_AbsIR/included_FMax.con".
387 inline "cic:/CoRN/reals/Max_AbsIR/included_FMax'.con".
389 inline "cic:/CoRN/reals/Max_AbsIR/included_FMax''.con".
391 inline "cic:/CoRN/reals/Max_AbsIR/included_FMin.con".
393 inline "cic:/CoRN/reals/Max_AbsIR/included_FMin'.con".
395 inline "cic:/CoRN/reals/Max_AbsIR/included_FMin''.con".
397 inline "cic:/CoRN/reals/Max_AbsIR/included_FAbs.con".
399 inline "cic:/CoRN/reals/Max_AbsIR/included_FAbs'.con".
406 Hint Resolve included_FMax included_FMin included_FAbs : included.
410 Hint Immediate included_FMax' included_FMin' included_FAbs'
411 included_FMax'' included_FMin'' : included.