On introduit dans ce sujet les nouveaux ingrédients fondamentaux pour l'analyse que sont la valeur absolue sur R et la distance sur R.
Pour des raisons techniques, on doit rappeler les propriétés vues précédemment.
RabsVous connaissez certainement la valeur absolue. Dans un cours de mathématiques, la valeur absolue d'un réel x est le réel noté |x| défini par : |x| =
En fait il y a certainement mille façon de définir la valeur absolue, mais
ce qui importe ici, c'est que cette fonction s'appelle
abs et qu'on admet
les deux théorèmes suivants :
Pour prouver des choses sur abs, le plus souvent on raisonne par cas.
Voici un exemple important :
remarquer
(lt_or_le x 0) : x < 0 \/ 0 <= x.
Deux remarques importantes sur la preuve précédente :
rewrite avec un énoncé du type :
x < 0 -> abs x = - x.
abs x est remplacé par
-x;
x < 0.
0 <= x avec
rewrite abs_nneg by (exact I).
La preuve de x < 0
La fonction carré s'appelle
sqr dans notre bibliothèque. Le carré
d'un réel
x est noté
x².
Le plus simple est encore d'utiliser
unfold sqr.
La fonction carré est injective sur les réels positifs.
Valeur absolue et carré
On se souvient qu'un carré est toujours positif :
et que le carré est invariant par opposé :
Pour le prochain exercice, il y a deux stratégies différentes :
Bon... celui-ci est assez pénible à la main, vous avez le droit de le passer.
Ici, vous pourrez utiliser :
La distance usuelle est notée dist dans cette bibliothèque.
Dans un cours de mathématique, elle est définie par d(x, y) = |y
Remarque culturelle au passage : généralement, en mathématiques, une distance sur un ensemble E est une fonction d de E * E dans l'ensemble des réels positifs ou nuls qui satisfait :
Nous concluons cette partie par une preuve de ces faits.
Penser à
unfold dist
Penser à
unfold dist et à
opp_add_distr
Pour faciliter la preuve de la réflexivité, on a :
Vous pourrez utiliser la tactique
replace
La tactique
replace A with B remplace tous les A par B dans le but
puis vous demande de prouver que
A = B.