• Aucun résultat trouvé

TP 1 - El´ ements de logique

N/A
N/A
Protected

Academic year: 2022

Partager "TP 1 - El´ ements de logique"

Copied!
2
0
0

Texte intégral

(1)

Licence STS, semestre 4 2012–13

Math´ematiques pour l’Informatique (Info 229) 28 janvier 2013

http://www.lri.fr/~paulin/MathInfo

TP 1 - El´ ements de logique

Exercice 1 (WIMS)

– Se connecter `a l’espace num´erique de travail.

– Recherche dans l’espace WIMS le cours Info229.

– Compl´eter la feuille d’exercicesTP1.

Exercice 2 (Logique propositionnelle)

On va d´emontrer en Coq les ´enonc´es 1–4 de l’Exercice 4 du TD1.

Ces ´enonc´es vous sont donn´es en syntaxe Coq. Il vous suffit de les ´ecrire dans la fenˆetre de script de CoqIDE et de les charger (bouton⇓) pour commencer la preuve.

Astuce : on commence (tr`es) souvent une preuve par la tactiqueintrosqui permet d’introduire successivement les connecteurs et quantificateurs (universels) principaux de la conclusion du but courant.

A la fin d’une preuve, lorsque tous les buts ont ´et´e prouv´es, il est n´ecessaire de demander `a Coq de v´erifier l’ensemble de la preuve, `a l’aide de la commandeQed.

1. Theorem un : forall P Q R : Prop, (P /\ Q) -> R -> (Q /\ R).

Quelle est la tactique Coq correspondant `a la r`egle d’introduction de la conjonction ? 2. Theorem uncurry : forall P Q R : Prop, (P -> Q -> R) -> (P /\ Q -> R).

3. Theorem contra : forall P Q : Prop, (P -> Q) -> ((~ Q) -> (~ P)).

Comme vous l’avez vu en TD, pour montrer facilement le principe de contrapos´ee, il faut bien avoir en tˆete la fa¸con dont on peut manipuler la n´egation (autrement dit ses r`egles d’introduction et d’´elimination).

Attention, la tactiqueintros n’introduit pas la n´egation, il faut utiliserintro `a la suite.

4. Theorem quatre : forall P Q R : Prop, (P \/ (Q /\ R)) -> P \/ Q.

Exercice 3 (Quantificateurs)

Nous nous int´eressons, dans cet exercice, `a la fa¸con de prouver des formules qui contiennent des quantificateurs.

Commen¸cons par d´elimiter le code correspondant `a cet exercice en introduisant la commande Section Exo2.

(il faudra refermer cette section `a la fin du code, grˆace `a la commande End Exo2.Faˆıtes de mˆeme pour les autres exercices de ce tp).

1. Nous allons travailler avec un pr´edicat quelconque sur les entiers naturels. On peut le d´efinir de la mani`ere suivante : Variable p : nat -> Prop.

Prouvez le th´eor`eme suivant :

Theorem fimpe : (forall x:nat, p x) -> exists y:nat, p y.

L’implication inverse est-elle d´emontrable ?

2. Consid´erons maintenant un pr´edicat `a deux arguments (autrement dit une relation) : Variable rel : nat -> nat -> Prop.

Prouvez le th´eor`eme suivant :

Theorem effe : (exists x, forall y, rel x y) -> (forall y, exists x, rel x y).

(Notez que l’on n’a pas pr´ecis´e les types des variables dans les quantifications de cet exemple, car Coq peut les deviner (les inf´erer) tout seul.)

L’implication inverse est-elle d´emontrable ?

1

(2)

3. Nous allons maintenant nous int´eresser `a la relation “ˆetre plus petit que”. Cette relation peut se d´efinir en Coq sous la forme d’une relation d´efinie par une formule existentielle :

Definition le (x y:nat) : Prop := exists z:nat, y = x + z.

a. Prouvez que l’addition est croissante pour la relationle(“less or equal”) : Theorem plus_croissante : forall x y:nat, le x (x+y).

Quelle tactique doit-on utiliser pour d´eplier une d´efinition ?

b. On dispose en Coq d’une tactique permettant de prouver des buts simples d’arithm´etique lin´eaire (sans multiplication). Cette tactique s’appelleomega. Pour pouvoir l’utiliser, vous devez charger lemodulequi la contient :

Require Import Omega.

Prouvez que la relationleest r´eflexive :

Theorem le_refl : forall x:nat, le x x.

c. Prouvez que la relationleest transitive :

Theorem le_trans : forall (x y z:nat), le x y /\ le y z -> le x z.

A quel moment est-il judicieux de d´eplier la d´efinition dele?

Exercice 4 (V´erit´es et mensonges)

Sur l’ˆıle des purs et des pires, il y a des habitants.

Variable habitant : Set.

Ces habitants sont soit des purs, soit des pires.

Variable pur : habitant -> Prop.

Variable pire : habitant -> Prop.

Axiom pur_ou_pire : forall x, pur x \/ pire x.

Les purs disent toujours la v´erit´e alors que les pires mentent toujours.

Variable say : habitant -> Prop -> Prop.

Axiom ax_pur : forall x P, pur x -> say x P -> P.

Axiom ax_pire : forall x P, pire x -> say x P -> ~P.

1. Montrez que siaetbsont deux habitants de l’ˆıle et queadit quebest pire, alors au moins l’un des deux est pire. Astuce : introduisez le r´esultat interm´ediaire du fait que aest soit pur soit pire, en utilisant la tactiqueassert, puis faˆıtes un raisonnement par cas.

2. Montrez que siadit queaetbsont tous les deux pires, alorsaest pire.

3. Montrez que siaditFaux alors c’est un pire.

4. Que peut-on dire si un habitant dit qu’il est lui-mˆeme un pire ?

2

Références

Documents relatifs

La deuxi` eme partie qui d´ emontre le th´ eor` eme de Cantor-Bernstein est facultative, moins dans l’esprit du programme ECS (mais bien dans l’esprit d’une ´ epreuve maths 2

Autrement dit, on consid` ere des tirages de p ´ el´ ements de E avec remise, mais sans tenir compte de l’ordre.. Le nombre de r´ esultats possible est

Dans le cas pr´ esent, la part du cuisinier serait de trois pi` eces, mais les pirates se querellent et six d’entre eux sont tu´ es, ce qui porte la part du cuisinier ` a quatre

Notre but ici est de d´ emontrer les deux r´ esultats suivants, dont nous avons manqu´ e de temps pour voir les preuves au dernier cours.. Th´ eor`

Si le produit de deux entiers u et v premiers entre eux est une puissance k-i` eme (avec k > 2), alors u et v sont tous les deux des puissances k-i` emes. D´ emonstration du th´

Une m´ ethode classique pour obtenir des r´ esultats sur une int´ egrale d´ ependant d’un param` etre est de sortir, par tous les moyens possibles, le param` etre de

On peut heureusement en construire un certain nombre en conjugant S : aSa −1 est un p−sous-groupe de G, car il est en bijection avec S (un oeil averti remarquera mˆ eme que c’est

C’est une consid´ eration qui d´ epend encore de la base, c’est ` a dire de la matrice de changement de base P , mais on peut la ramener ` a une consid´ eration ind´ ependante de