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: Max_AbsIR.v,v 1.13 2004/04/23 10:01:04 lcf Exp $ *)
21 (*#* printing Max %\ensuremath{\max}% *)
23 (*#* printing Min %\ensuremath{\min}% *)
25 include "reals/CauchySeq.ma".
35 (*#* ** Maximum, Minimum and Absolute Value
38 Let [x] and [y] be reals
39 (we will define the maximum of [x] and [y]).
44 cic:/CoRN/reals/Max_AbsIR/Maximum/Max_function/x.var
48 cic:/CoRN/reals/Max_AbsIR/Maximum/Max_function/y.var
51 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_seq.con" as definition.
53 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_seq_char.con" as lemma.
55 inline procedural "cic:/CoRN/reals/Max_AbsIR/Cauchy_Max_seq.con" as lemma.
57 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_CauchySeq.con" as definition.
59 inline procedural "cic:/CoRN/reals/Max_AbsIR/MAX.con" as definition.
62 Constructively, the elementary properties of the maximum function are:
65 - [z [<] Max(x,y) -> z [<] x or z [<] y].
67 (This can be more concisely expressed as
68 [z [<] Max(x,y) Iff z [<] x or z [<] y]).
69 From these elementary properties we can prove all other properties, including
70 strong extensionality.
71 With strong extensionality, we can make the binary operation [Max].
72 (So [Max] is [MAX] coupled with some proofs.)
75 inline procedural "cic:/CoRN/reals/Max_AbsIR/lft_leEq_MAX.con" as lemma.
77 inline procedural "cic:/CoRN/reals/Max_AbsIR/rht_leEq_MAX.con" as lemma.
79 inline procedural "cic:/CoRN/reals/Max_AbsIR/less_MAX_imp.con" as lemma.
85 inline procedural "cic:/CoRN/reals/Max_AbsIR/MAX_strext.con" as lemma.
87 inline procedural "cic:/CoRN/reals/Max_AbsIR/MAX_wd.con" as lemma.
90 Section properties_of_Max
95 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max.con" as definition.
97 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_wd_unfolded.con" as lemma.
99 inline procedural "cic:/CoRN/reals/Max_AbsIR/lft_leEq_Max.con" as lemma.
101 inline procedural "cic:/CoRN/reals/Max_AbsIR/rht_leEq_Max.con" as lemma.
103 inline procedural "cic:/CoRN/reals/Max_AbsIR/less_Max_imp.con" as lemma.
105 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_leEq.con" as lemma.
107 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_less.con" as lemma.
109 inline procedural "cic:/CoRN/reals/Max_AbsIR/equiv_imp_eq_max.con" as lemma.
111 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_id.con" as lemma.
113 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_comm.con" as lemma.
115 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_imp_Max_is_rht.con" as lemma.
117 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_is_rht_imp_leEq.con" as lemma.
119 inline procedural "cic:/CoRN/reals/Max_AbsIR/Max_minus_eps_leEq.con" as lemma.
121 inline procedural "cic:/CoRN/reals/Max_AbsIR/max_one_ap_zero.con" as lemma.
123 inline procedural "cic:/CoRN/reals/Max_AbsIR/pos_max_one.con" as lemma.
125 inline procedural "cic:/CoRN/reals/Max_AbsIR/x_div_Max_leEq_x.con" as lemma.
128 End properties_of_Max
136 Hint Resolve Max_id: algebra.
145 The minimum is defined by the formula
146 [Min(x,y) [=] [--]Max( [--]x,[--]y)].
149 inline procedural "cic:/CoRN/reals/Max_AbsIR/MIN.con" as definition.
151 inline procedural "cic:/CoRN/reals/Max_AbsIR/MIN_wd.con" as lemma.
153 inline procedural "cic:/CoRN/reals/Max_AbsIR/MIN_strext.con" as lemma.
155 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min.con" as definition.
157 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_wd_unfolded.con" as lemma.
159 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_strext_unfolded.con" as lemma.
161 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_leEq_lft.con" as lemma.
163 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_leEq_rht.con" as lemma.
165 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_less_imp.con" as lemma.
167 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_Min.con" as lemma.
169 inline procedural "cic:/CoRN/reals/Max_AbsIR/less_Min.con" as lemma.
171 inline procedural "cic:/CoRN/reals/Max_AbsIR/equiv_imp_eq_min.con" as lemma.
173 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_id.con" as lemma.
175 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_comm.con" as lemma.
177 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_imp_Min_is_lft.con" as lemma.
179 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_is_lft_imp_leEq.con" as lemma.
181 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_Min_plus_eps.con" as lemma.
184 cic:/CoRN/reals/Max_AbsIR/Minimum/a.var
188 cic:/CoRN/reals/Max_AbsIR/Minimum/b.var
191 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_leEq_Max.con" as lemma.
193 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_leEq_Max'.con" as lemma.
195 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min3_leEq_Max3.con" as lemma.
197 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_less_Max.con" as lemma.
199 inline procedural "cic:/CoRN/reals/Max_AbsIR/ap_imp_Min_less_Max.con" as lemma.
201 inline procedural "cic:/CoRN/reals/Max_AbsIR/Min_less_Max_imp_ap.con" as lemma.
207 (*#**********************************)
213 (*#**********************************)
215 (*#* *** Absolute value *)
217 inline procedural "cic:/CoRN/reals/Max_AbsIR/ABSIR.con" as definition.
219 inline procedural "cic:/CoRN/reals/Max_AbsIR/ABSIR_strext.con" as lemma.
221 inline procedural "cic:/CoRN/reals/Max_AbsIR/ABSIR_wd.con" as lemma.
223 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR.con" as definition.
225 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_wd.con" as lemma.
227 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_wdl.con" as lemma.
229 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_wdr.con" as lemma.
231 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIRz_isz.con" as lemma.
233 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_nonneg.con" as lemma.
235 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_pos.con" as lemma.
237 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_cancel_ap_zero.con" as lemma.
239 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_resp_ap_zero.con" as lemma.
241 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_AbsIR.con" as lemma.
243 inline procedural "cic:/CoRN/reals/Max_AbsIR/inv_leEq_AbsIR.con" as lemma.
245 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsSmall_e.con" as lemma.
247 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsSmall_imp_AbsIR.con" as lemma.
249 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_AbsSmall.con" as lemma.
251 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_imp_AbsSmall.con" as lemma.
253 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsSmall_transitive.con" as lemma.
255 inline procedural "cic:/CoRN/reals/Max_AbsIR/zero_less_AbsIR_plus_one.con" as lemma.
257 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_inv.con" as lemma.
259 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_minus.con" as lemma.
261 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_x.con" as lemma.
263 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_inv_x.con" as lemma.
265 inline procedural "cic:/CoRN/reals/Max_AbsIR/less_AbsIR.con" as lemma.
267 inline procedural "cic:/CoRN/reals/Max_AbsIR/leEq_distr_AbsIR.con" as lemma.
269 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_approach_zero.con" as lemma.
271 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_eq_zero.con" as lemma.
273 inline procedural "cic:/CoRN/reals/Max_AbsIR/Abs_Max.con" as lemma.
275 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_str_bnd.con" as lemma.
277 inline procedural "cic:/CoRN/reals/Max_AbsIR/AbsIR_bnd.con" as lemma.
284 Hint Resolve AbsIRz_isz: algebra.
288 Section Part_Function_Max
291 (*#* *** Functional Operators
293 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.
296 Let [F,G:PartIR] and denote by [P] and [Q] their respective domains.
301 cic:/CoRN/reals/Max_AbsIR/Part_Function_Max/F.var
305 cic:/CoRN/reals/Max_AbsIR/Part_Function_Max/G.var
310 inline procedural "cic:/CoRN/reals/Max_AbsIR/Part_Function_Max/P.con" "Part_Function_Max__" as definition.
312 inline procedural "cic:/CoRN/reals/Max_AbsIR/Part_Function_Max/Q.con" "Part_Function_Max__" as definition.
316 inline procedural "cic:/CoRN/reals/Max_AbsIR/part_function_Max_strext.con" as lemma.
318 inline procedural "cic:/CoRN/reals/Max_AbsIR/FMax.con" as definition.
321 End Part_Function_Max
325 Section Part_Function_Abs
329 cic:/CoRN/reals/Max_AbsIR/Part_Function_Abs/F.var
333 cic:/CoRN/reals/Max_AbsIR/Part_Function_Abs/G.var
338 inline procedural "cic:/CoRN/reals/Max_AbsIR/Part_Function_Abs/P.con" "Part_Function_Abs__" as definition.
340 inline procedural "cic:/CoRN/reals/Max_AbsIR/Part_Function_Abs/Q.con" "Part_Function_Abs__" as definition.
344 inline procedural "cic:/CoRN/reals/Max_AbsIR/FMin.con" as definition.
346 inline procedural "cic:/CoRN/reals/Max_AbsIR/FAbs.con" as definition.
352 inline procedural "cic:/CoRN/reals/Max_AbsIR/FMin_char.con" as lemma.
358 inline procedural "cic:/CoRN/reals/Max_AbsIR/FAbs_char.con" as lemma.
361 End Part_Function_Abs
365 Hint Resolve FAbs_char: algebra.
368 inline procedural "cic:/CoRN/reals/Max_AbsIR/FAbs_char'.con" as lemma.
370 inline procedural "cic:/CoRN/reals/Max_AbsIR/FAbs_nonneg.con" as lemma.
373 Hint Resolve FAbs_char': algebra.
381 cic:/CoRN/reals/Max_AbsIR/Inclusion/F.var
385 cic:/CoRN/reals/Max_AbsIR/Inclusion/G.var
390 inline procedural "cic:/CoRN/reals/Max_AbsIR/Inclusion/P.con" "Inclusion__" as definition.
392 inline procedural "cic:/CoRN/reals/Max_AbsIR/Inclusion/Q.con" "Inclusion__" as definition.
397 %\begin{convention}% Let [R:IR->CProp].
402 cic:/CoRN/reals/Max_AbsIR/Inclusion/R.var
405 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMax.con" as lemma.
407 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMax'.con" as lemma.
409 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMax''.con" as lemma.
411 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMin.con" as lemma.
413 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMin'.con" as lemma.
415 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FMin''.con" as lemma.
417 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FAbs.con" as lemma.
419 inline procedural "cic:/CoRN/reals/Max_AbsIR/included_FAbs'.con" as lemma.
426 Hint Resolve included_FMax included_FMin included_FAbs : included.
430 Hint Immediate included_FMax' included_FMin' included_FAbs'
431 included_FMax'' included_FMin'' : included.