Mes premi` eres tactiques gratuites
D´edou
F´evrier 2011
La tactique ForallB
La tactique ForallB
le sens de cette tactique est que, pour prouver ∀x :E,P(x), il suffit de prouver P(x) en supposant seulement quex est de type E
elle s’applique lorsque le but courant est de la forme
∀x :E,P(x)
elle n’a pas d’argument
elle remplace l’objectif courant C ` ∀x :E,P(x)
par C;x:E `P(x)
elle est gratuite
on peut ´ecrire par exemple :
“Soit x un ´el´ement quelconque deE et prouvons P(x)”
La r` egle d’inf´ erence ForallB
Avant :C ` ∀x :E,P(x) Apr`es :C;x:E `P(x)
Exemple pour la tactique ForallB
Exemple
J’essaie de d´emontrer que la somme de deux fonctions major´ees est major´ee. Mon objectif initial est
` ∀f :R→R,∀g :R→R, f et g major´ees⇒ f +g major´ee.
J’applique la tactique ForallB et mon objectif devient :
f :R→R` ∀g :R→R, f etg major´ee⇒ f +g major´ee.
Exo 1
Que devient cet objectif si j’applique une deuxi`eme fois la tactique ForallB ?
La tactique ImpB
La tactique Implique au but
le sens de cette tactique est que pour prouver A⇒B, il faut (ou suffit de) prouver B sachant A
elle s’applique lorsque le but courant est de la forme A⇒B elle n’a pas d’argument
elle remplace l’objectif courant (C `A⇒B) par l’objectif C,H:A`B
elle est “gratuite”
on peut ´ecrire par exemple : Nous devons prouverA⇒B.
Pour cela, supposons A et prouvonsB.
La r` egle d’inf´ erence ImpB
Avant :C `A⇒B Apr`es :C;A`B
ou, si on met des noms aux hypoth`eses : Avant :C `A⇒B
Apr`es :C;H:A`B
Exemple pour la tactique ImpB
Exemple
J’essaie de d´emontrer que la somme de deux fonctions major´ees est major´ee. J’ai d´ej`a fait deux ForallB et mon objectif courant est
f :R→R;g :R→R` f etg major´ees⇒ f +g major´ee.
J’applique la tactique ImpB et mon objectif devient :
f :R→R;g :R→R; f etg major´ees` f +g major´ee.
Exo 2
Si on fait ForallB puis ImpB pour prouver que le cube d’une fonction croissante est croissante, quel objectif courant obtient-on ?
La tactique Et au contexte
La tactique Et au contexte
le sens de cette tactique est que pour prouver G sachant A andB, il suffit de prouverG sachant Aet B
elle s’applique lorsque le contexte courant contient une hypoth`ese de la formeA andB
son argument, c’est l’hypoth`ese en question (il pourrait y en avoir plusieurs)
elle remplace l’objectif courant C0;A andB;C00`G par l’objectif C0;A;B;C00`G
elle est “gratuite”
cette tactique ne laisse pas de trace dans la r´edaction.
La r` egle d’inf´ erence EtC
Avant :C0;AandB;C00`G Apr`es :C0;A;B;C00`G
ou, si on met des noms aux hypoth`eses : Avant :C0;AandB;C00`G
Apr`es :C0;H:A;K :B;C00`G
Exemple pour la tactique Et au contexte
Exemple
J’essaie de d´emontrer que la somme de deux fonctions major´ees est major´ee. J’ai d´ej`a fait deux ForallB et un ImpB et mon objectif courant est
f :R→R;g :R→R; f etg major´ees` f +g major´ee.
J’explicite “major´ees” et mon hypoth`ese devient
f major´eeand g major´ee. J’applique la tactique EtC `a cette hypoth`ese et mon objectif courant devient
f :R→R;g :R→R; f major´ee; g major´ee` f +g major´ee.
Exo 3
Formaliser l’´enonc´e “si une fonction est `a la fois croissante et d´ecroissante, elle est constante” et appliquez-lui trois tactiques successives.
Exemple pour la tactique Et au contexte
Exemple
Je suis en train de prouver que sif est continue, alors son image est un intervalle. Mon objectif courant est le suivant
f :R→R, fcontinue, a:R, b :R,y :R,y ∈[f(a),f(b)]
` ∃x :R,f(x) =y.
J’explicitey ∈[f(a),f(b)] en f(a)≤x andx≤f(b) puis
j’applique la tactique Et au contexte. Mon objectif courant devient f :R→R, fcontinue, a:R, b :R,y :R,f(a)≤y, y ≤f(b)
` ∃x :R,f(x) =y.
Exo 4
Rappelez la d´efinition de [a,b] (celle utilis´ee ci-dessus) ; ou, si vous pr´ef´erez :
dans l’exemple pr´ec´edent, ´ecrivez le contexte interm´ediaire entre l’explicitation et la tactique.
La tactique ExistC
La tactique ExistC
le sens de cette tactique est que savoir ∃x:E,P(x), c’est comme avoir unx v´erifiant P(x)
elle s’applique lorsque le contexte courant comporte une hypoth`ese de la forme∃x:E,P(x)
elle a un argument, qui est cette hypoth`ese (pour le cas o`u il y a plusieurs hypoth`eses de cette forme)
elle remplace l’objectif courant
C0;∃x:E,P(x);C00`G par
C0;x :E;P(x);C00`G elle est gratuite
c’est encore une tactique qui ne laisse pas de trace ´ecrite
Exemple pour la tactique Exists au contexte I
Exemple
Je suis en train de d´emontrer que sif et g sont major´ees alors f +g est major´ee. Mon objectif courant est
f g :R→R; f major´ee; g major´ee` f +g major´ee.
J’explicite la premi`ere hypoth`ese en∃M :R,∀x:R,f(x)≤M puis j’applique la tactique Exists au contexte.
Mon objectif courant devient :
f,g :R→R; M :R; ∀x:R, f(x)≤M; g major´ee
`f +g major´ee.
Exo 5
Ecrivez l’objectif courant apr`es une seconde application de la tactique ExistC.
Exemple pour la tactique Exists au contexte II
Exemple
Je suis en train de prouver que sif est monotone, alors f[a,b] est contenu dans [f(a),f(b)]. Mon objectif courant est le suivant f :R→R; fcroissante; a, b :R; a≤b;y:R; y ∈f[a,b]
`y∈[f(a),f(b)].
J’explicitey ∈f[a,b] en∃x : [a,b],y =f(x) puis j’applique la tactique Exists au contexte.
Mon objectif courant devient
f :R→R; fcroissante; a, b :R; a≤b;y :R; x : [a,b]; y =f(x)
`y∈[f(a),f(b)].
La tactique OuC
La tactique Ou au contexte
le sens de cette tactique est que pour prouver G sachant A orB, il suffit de traˆıter successivement le cas o`u Aest vrai, puis celui o`u B est vrai
elle s’applique lorsque le contexte courant contient une hypoth`ese de la formeA or B
son argument, c’est l’hypoth`ese en question (il pourrait y en avoir plusieurs de cette forme)
elle remplace l’objectif courant (C0,Aor B,C00`G) par les deux objectifs (C0,A,C00 `G) et (C0,B,C00`G)
elle est “gratuite”
on peut ´ecrire (quelque chose de plus court que) : “On sait qu’on a Aor B. Commen¸cons par supposerA. ... Et maintenant supposons B. ...”
C’est notre premi`ere tactique qui augmente la taille de la pile.
Exemple pour la tactique OuC I
Exemple
Je cherche `a montrer que une fonction f est monotone, alorsf ◦f est croissante. J’ai fait ForaallB et ImpB et mon objectif courant est
f :R→R,f monotone`f ◦f croissante J’explicite l’hypoth`ese “f monotone” en
“f est croissante ou f est d´ecroissante”
et j’applique la tactique OuC.
Mon objectif courant devient :
f :R→R,f croissante`f ◦f croissante
Exo 6
Cette derni`ere tactique a mis un nouvel objectif en attente.
Lequel ?
Exemple pour la tactique OuC II
Exemple
Je cherche `a montrer que la compos´ee de deux fonctions monotones est monotone.
Mon objectif courant est
f :R→R,f monotone,g :R→R,g monotone`f◦g monotone J’explicite l’hypoth`ese “f monotone” en
“f est croissante ou f est d´ecroissante”
et j’applique cette tactique Ou au contexte.
Mon objectif courant devient :
f :R→R,f croissante,g :R→R,g monotone`f ◦g monotone
Exo 7
Cette derni`ere tactique a mis un nouvel objectif en attente.
Lequel ?
La tactique Et au but
La tactique Et au but
le sens de cette tactique est que, pour prouver A andB, il suffit de prouver Apuis B
elle s’applique lorsque le but courant est de la forme AandB elle n’ a pas d’argument
elle remplace l’objectif courant (C `A andB) par les deux objectifs : (C `A) et (C `B)
elle est “gratuite”
on peut ´ecrire (quelque chose de plus court que) : Nous devons prouver Aand B. Pour cela, commen¸cons par prouver A. ... Et maintenant prouvons B. ...
Exemple pour la tactique EtB
Exemple
Je suis en train de prouver que sif est croissante, alors f[a,b] est contenu dans [f(a),f(b)]. Mon objectif courant est le suivant f :R→R, fcroissante, a:R, b:R, a≤b,y :R; y ∈f[a,b]
`y∈[f(a),f(b)].
J’explicitey ∈[f(a),f(b)] en f(a)≤y andy ≤f(b) puis j’applique la tactique EtC. Mon objectif courant devient f :R→R, fcroissante, a:R, b:R, a≤b,y :R; y ∈f[a,b]
`f(a)≤y.
Exo 8
Cette derni`ere tactique a aussi mis un nouvel objectif en attente.
Lequel ?
La tactique OuB
La tactique Ou au but
le sens de cette tactique est que, pour prouverA orB, il suffit de prouver de prouver B en supposantAfaux, ou alors de prouverA en supposantB faux
elle s’applique lorsque le but courant est de la forme Aor B elle a un argument qui est soit gauche (on choisit de prouver A) soit droite (on choisit de prouver B).
elle remplace l’objectif courant C `A orB
si son argument est gauche par C,B `A
et si son argument est droite par C,A`B elle est gratuite
par exemple dans le cas de l’argument droit, on peut ´ecrire : Supposons que Aest faux, et prouvons B ...
Exemple pour la tactique OuB
Exemple
J’essaie encore de d´emontrer que pour que sif est monotone,f ◦f l’est aussi. Mon objectif courant est
f :R→R; fcroissante` f ◦fmonotone.
J’explicite le but puis j’applique `a gauche la tactique OuB. Mon objectif courant devient :
f :R→R; fcroissante; f ◦fnon d´ecroissante` f ◦fcroissante.
Exo 9
Bob en est au mˆeme point dans la preuve du mˆeme ´enonc´e.
Comme c’est un boulet, il applique la bonne tactique, mais `a droite. Quel est son nouvel objectif ?