P(n) est ici la propriété (en notant Sn, la somme des n premiers entiers non nuls) : Sn = n(n+1)/2
Base :
On commence par vérifier que le résultat est vrai pour n = 0 : en effet la somme d’aucun entier1 vaut 0.
Hypothèse de récurrence (appelée aussi Hypothèse d'induction) :
On suppose que le résultat est vrai à l’ordre n, c'est-à-dire Sn = n(n+1)/2.
Montrons qu'alors le résultat est vrai à l’ordre n+1, c'est-à-dire que la somme des Sn+1= (n+1)(n+2)/2.
Sn+1= Sn + (n+1), donc par hypothèse d’induction : Sn+1= n(n+1)/2 + (n+1).
Puis en factorisant (n+1), on obtient ce que l'on cherche Sn+1= (n+1)(n+2)/2.
P(n) est ici la propriété (en
notant Sn, la somme des n premiers entiers
non nuls et SommeDesCubesn, la somme des
cubes des n premiers entiers non nuls) :
SommeDesCubesn = (Sn)2
Base : On commence par vérifier que le résultat est vrai pour n=0, en effet la somme d’aucun cube vaut 0.
Hypothèse de récurrence
On suppose que le résultat est vrai à l’ordre n, c'est-à-dire SommeDesCubesn = (Sn)2.
Montrons que le résultat est vrai à l’ordre n+1
La somme des cubes des n+1 1 premiers entiers non nuls, est égale à (n+1)3 plus la somme des cubes des n premiers entiers non nuls qui par hypothèse d’induction est égale à (n(n+1)/2)2. Donc la somme des cubes des n+1 premiers entiers non nuls est bien (n+1(n+2)/2)2.
Pour les entiers pairs, il suffit de montrer P(0) et que pour tout n pair, P(n) entraîne P(n+2)
Pour les entiers relatifs, il suffit de montrer P(0) et que pour tout n positif, P(n) entraîne P(n+1) et P(n-1)
D'autres formulations sont possibles.
Supposons qu’il existe une propriété P qui soit vraie pour 0, qui si elle est vraie pour n soit vraie pour n+1 et qui cependant n’est pas vraie pour tous les entiers. Soit F l’ensemble des entiers pour lesquels cette propriété est fausse. F est non vide par hypothèse, donc F étant un sous ensemble non vide de N possède un plus petit élément, soit n0 celui ci. Comme n0 ne peut pas être nul, n0 -1 est un entier, qui par définition du plus petit élément n’est pas dans F. Donc la propriété P est vraie pour n0 -1 , et par donc elle est vraie pour n0 -1+1 = n0 , une contradiction.
Base : Cette propriété est bien sûr vraie pour n=1.
Induction : Supposons donc que la propriété est vraie pour tout paquet de n pièces.
On va montrer qu'alors elle est vraie pour tout paquet de n+1 pièces.
Soit donc un paquet de n+1 pièces contenant une pièce de 1€. Retirons l'une des pièces qui ne soit pas cette pièce, on a un paquet de n pièces. Ce paquet contient une pièce de 1€. Par hypothèse de récurrence, ce paquet ne contient donc que des pièces de 1€. Rajoutons la pièce qu'on avait enlevée : si c'est 1€, on a terminé. Sinon, enlevons du paquet une des n autres pièces. On obtient alors un nouveau paquet de n pièces contenant au moins 1€, et par hypothèse de récurrence il ne contient que des pièces de 1€.
On a donc prouvé qu'il n'y a que des pièces de 1€ ???
L'affirmation erronée a été mise en gras dans le texte.
L’étape inductive n’est pas vraie pour n=1, c'est-à-dire que que p(1) n'implique pas P(2), car le nouveau paquet de 1 pièce ne contient pas nécessairement 1€ !
Lorsque n=2, c'est facile ! On place une pièce sur chaque plateau de la balance, l'équilibre ne se fait pas car par hypothèse une des pièces est plus légère, et cette pesée permet de la déterminer.
On suppose maintenant que l'on connaît une procédure utilisant une pesée pour n pièces, et montrons comment en obtenir une pour n+1 pièces. Donnons-nous (n+1) pièces dont l'une est plus légère que les autres (qui, elles, ont toutes un poids identique). Nous mettons à part l'une des pièces, et appliquons la procédure donnée par l'hypothèse de récurrence pour les n pièces restantes. Si cette procédure fonctionne, on connaît la pièce la plus légère, sinon, c'est celle qu'on a mis à part qui est la plus légère.
L'affirmation erronée a été mise en gras dans le texte. On ne peut pas appliquer la procédure donnée par l'hypothèse de récurrence, car parmi ces n pièces restantes, il n'y a pas nécessairement la pièce plus légère (elle n'y est pas si par malchance, on a mis à part cette pièce plus légère) et rien n'est dit ce que fait la procédure pour un paquet de n pièces toutes de même poids.
Première démonstration
Supposons qu’il existe une propriété P qui soit vraie pour 0, qui si elle est vraie pour tout entier m <n est aussi vraie pour n et qui cependant n’est pas vraie pour tous les entiers. Soit F l’ensemble des entiers pour lesquels cette propriété est fausse. F est non vide par hypothèse, donc F étant un sous ensemble non vide de N possède un plus petit élément, soit n0 celui ci. La propriété P est vraie pour tous les entiers strictement plus petits que n0, par définition du plus petit élément de F. Elle est donc vraie pour n0 , une contradiction.
Seconde démonstration
Soit Q(n) la propriété : Pour tout m<n P(n) est vrai.
Alors une récurrence forte sur P est équivalente à une récurrence simple sur Q
Preuve par récurrence forte
Base : c’est vrai pour n=2, puisque 2 est lui-même premier.
Induction : Supposons que tout entier strictement inférieur à n soit le produit de un ou plusieurs nombres premiers.
Montrons que n est le produit de un ou plusieurs entiers premiers.
Si n est premier, n lui même est le produit de un nombre premier.
Sinon, n admet deux diviseurs d et p, différent de 1 et de n. On a donc n=dp, où d et p sont deux entiers strictement inférieur à n. Chacun d’eux est donc le produit d’un ou plusieurs nombres premiers, et n est donc lui-même le produit d’un ou plusieurs nombres premiers.
Il y en a plusieurs dans le cours, la relation « inférieur ou égal » sur les entiers ou les réels est un ordre total (lorsque l’on compare deux entiers, il y en a toujours un qui est inférieur ou égal à l’autre), en revanche la relation d’inclusion pour les parties d’un ensemble est un ordre partiel ( si l’on regarde les deux ensembles í1ý et í2ý, aucun n’est inclus dans l’autre).
La relation est réflexive, un mot est préfixe de lui-même. Elle est antisymétrique, c’est-à-dire que si u est préfixe de v et que v est préfixe de u, alors nécessairement les deux mots sont de même longueur, et ont toutes leurs lettres identiques, ils sont donc égaux.
La relation est aussi transitive, si u est préfixe de v, et v préfixe de w, alors u est préfixe de w.
Ce n’est pas un ordre total, par exemple deux mots chacun composé d’une seule lettre ne sont pas préfixe l’un de l’autre si ces deux lettres sont différentes.
On suppose que l’alphabet est muni d’une relation d’ordre total ≤.
Soient u=u1u2…un et v=v1v2…vm deux mots sur A, on définit la relation infLex par u infLex v si et seulement si
ou u est un préfixe de v
ou il existe k, 0 ≤k<inf(n,m) tel que pour tout i ≤k ui=vi et uk+1 ≤ vk+1 et uk+1 ≠ vk+1.
Il s’agit bien d’un ordre, en effet
- infLex est reflexive, car u infLex u puisque u est prefixe de u.
- infLex est antisymétrique, en effet supposons u infLex v et v infLex u
Cas 1 u est prefixe de v, on a alors deux sous cas :
Cas 1.1 v est prefixe de u, on a alors u=v
Cas 1.2 il existe k, 0 ≤k<inf(longueur(u),longueur(v)) tel que pour tout i ≤k ui=vi et vk+1 ≤ vk+1 et uk+1 ≠ vk+1., mais ceci est imcompatible de v prefixe de u
Cas 2 il existe k, 0 ≤k<inf(n,m) tel que pour tout i ≤k ui=vi et uk+1 ≤ vk+1 et uk+1 ≠ vk+1.
Cas 2.1 v est prefixe de u : mais ceci est incompatible
Cas 2.2 il existe k, 0 ≤k<inf(longueur(u),longueur(v)) tel que pour tout i ≤k ui=vi et uk+1 ≤ vk+1 et uk+1 ≠ vk+1. mais ceci est incompatible
Donc necessairement on a u=v et la relation est bien antisymètrique
- infLex est transitive
Supposons u infLex v et v infLex w
Cas 1 u est prefixe de v
Cas 1.1 v est prefixe de w, dans ce cas, u est prefixe de w et donc infLex w
Cas 1.2 il existe k, 0 ≤k<inf(longueur(v),longueu(w)) tel que pour tout i ≤k wi=vi et vk+1 ≤ wk+1 et wk+1 ≠ vk+1.,
Cas 1.2.1 longueur(u) ≤k dans ce cas u est prefixe de w et donc u infLex v
Cas 1.2.2 longeur(u)>k, fans ce cas, 0 ≤k<inf(longueur(u),longueu(w)) tel que pour tout i ≤k wi=ui et uk+1 ≤ wk+1 et wk+1 ≠ uk+1.,donc u infLex w
Cas 2 il existe k, 0 ≤k<inf(longueur(u),longueur(w)) tel que pour tout i ≤k ui=vi et vk+1 ≤ vk+1 et uk+1 ≠ vk+1.,
Cas 2.1 v est prefixe de w, donc 0 ≤k<inf(longueur(u),longueur(v)) tel que pour tout i ≤k ui=wi et uk+1 ≤ wk+1 et wk+1 ≠ uk+1., donc u infLex w
Cas 2.2 il existe k’, 0 ≤k’<inf(longeur(v),longueur(w)) tel que pour tout i ≤k’ wi=vi et vk’+1 ≤ wk’+1 et wk’+1 ≠ vk’+1.,
Cas 2.2.1 k’>=k, dans ce cas 0 ≤k<inf(longueur(u),longueur(w)) tel que pour tout i ≤k ui=wi et uk+1 ≤ wk+1 et wk+1 ≠ uk+1., donc u infLex w
Cas 2.2.2k’<k Dans ce cas 0 ≤k’<inf(longueur(u),longueur(w)) tel que pour tout i ≤k’ ui=wi et uk’+1 ≤ wk’+1 et wk’+1 ≠ uk’+1., donc u infLex w
On vérifie « aisément » qu’il s’agit d’un ordre total .
Les minorants sont tous les entiers inférieurs ou égaux à 6. Les majorants sont tous les entiers supérieurs ou égaux à 23.
Les minorants sont í8,23ý,í23ý,í8ý et l’ensemble vide. En fait tout ensemble inclus dans l’intersection des trois élémentq de E’ est un minorant.
Les majorants sont tous les sous-ensembles de N qui contiennent í6,8,23,37,42ý. En fait tout ensemble contenant l’union des trois éléments de E’ est un majorant.
Il suffit de choisir E=E’=N et la relation d’ordre usuelle.
Il suffit de prendre E=E’=Z, et la relation d’ordre usuelle
Les ordres donnés en exemple sont des ordres totaux.
Les minorants sont le mot vide, a, aa, aab, et tous les mots commençant par aaa.
Les majorants sont tous les mots qui commencent par cd, et tous les mots commençant par d.
Oui par exemple dans (N, £), 23 est un minorant de E’=í2,8,23ý
Oui, voir plus haut
Non car si x et y sont deux majorants de E’ alors x est inférieur ou égal à y et y est inférieur ou égal à x, donc x=y.
non
Non
On peut choisir (E,≤)= (N,≤) et E’ égal à n’importe quel sous-ensemble de N.
On peut choisir E=(P(N),Ì), et E’=íí2,8,23ý, í12,8,23ý
Oui, le minimum est 6, le maximum est 23.
Le minimum est 3, mais il n’y a pas de maximum
Non
í6,8,23,42ý et í8,23,37 sont deux éléments maximaux. , í8,23,37ý et í6,8,23ý sont deux éléments minimaux.
Supposons que E’ admette un maximum M, c'est-à-dire un élément M qui appartient à E’ et qui est supérieur ou égal à tout élément de E’.
Montrons d’abord que M est un élément maximal.
Supposons qu’il existe un y dans E’ tel que y≥ M, comme M est maximum, on a aussi y≤M, et donc y=M. Donc M est bien un élément maximal.
Considérons M’ un élément maximal quelconque de E’, alors puisque M est un maximum on a M≥M’. Mais puisque M’ est maximal, cela entraîne M=M’. M est donc bien l’unique élément maximal.
Non , elle est fausse. Considérons l’ensemble ordonné constitué de l’ensemble E des intervalles de R muni de l’inclusion. Soit E’ le sous ensemble de E formé de l’intervalle [1,2], et de tous les intervalles [3,n], avec n entier , n>3. E’ ne contient qu’un élément maximal, l’intervalle [1,2], mais cependant E’ n’a pas de maximum.
En revanche , si l’ensemble ordonné (E, ≤) est muni d’ordre total, alors si un sous ensemble E’ ne contient un élément maximal, alors cet élément est unique. En
effet si M et M’ sont deux éléments maximaux on a soit M≤M’ soit M’≤M, et M et M’ étant maximaux on en déduit M=M’.
De plus cet élément maximal est aussi maximum. En effet supposons que M soit maximal et que M ne soit pas maximum. Alors il existe m dans E, tel que m≤M n’est pas vrai. Comme la relation d’ordre est totale, cela signifie que l’on a M<m, et donc puisque M est maximal, on a m=M, une contradiction.
Si l’ensemble n’est pas bien fondé, c’est qu’il existe une suite infinie strictement décroissante. Soit E’ le sous ensemble composé des éléments de cette suite, E’ est une partie de E non vide sans élément minimal, donc si toute partie non vide admet au moins un élément minimal , l’ensemble ordonné est bien fondé
Reciproquement, supposons qu’un ensemble soit bien fondé et qu’il existe une partie non vide F n’admettant pas d’élément minimal. On peut alors construire une suite infinei décroissante unde la manière suivante. Pour u1, on choisit un élément quelconque de F, F n’admettant pas d’élémént minimal, il y a dans F des éléments strictement plus petits que u1, on en choisit un que l’on nomme u2. Supposons que la suite soit construite jusqu’à un, F n’admettant pas d’élémént minimal, il y a dans F des éléments strictement plus petits que un, on en choisit un que l’on nomme un+1. On peut donc construire ainsi une suite infinie strictement décroissante.
.
oui
non, car la suite un=-n est une suite infinie décroissante
Oui , car si u est préfixe de v et u est différent de v, alors la longueur de u est inférieur à v, il ne peut donc pas y avoir de suite infinie strictement décroissante.
Il l’est si l’alphabet ne comporte qu’une seule lettre, sinon il ne l’est pas, car la suite anb est une suite infinie strictement décroissante
Par exemple u ≤ v si lg(u) < lg(v) ou (lg(u)=lg(v) et u infLex v).
Il s’agit bien d’un ordre, en effet :
Supposons u ≤ v et v ≤ w
Cas 1 : lg(u) < lg(v)
Cas 1.1 lg(v) < lg(w). Dans ce cas lg(u)<lg(w) et donc u ≤w
Cas 1.2 (lg(w)=lg(v) et v infLex w)., dans ce cas lg(u)<lg(w) et donc u ≤w
Cas 2 (lg(u)=lg(v) et u infLex v).
Cas 2.1 lg(v)< lg(w), dans ce cas lg(u) < lg(w) et donc u ≤w
Cas 2.2 (lg(w)=lg(v) et v infLex w). dans ce cas lg(u)=lg(w) et u infLex w, donc u ≤w.
Supposons u ≤ v et v ≤u
Cas 1 : lg(u) < lg(v)
Cas 1.1 lg(v) < lg(u). impossible
Cas 2.2 (lg(u)=lg(v) et v infLex u), impossible
Cas 2 (lg(u)=lg(v) et u infLex v).
Cas 2.1 lg(v)< lg(u), impossible
Cas 2.2 (lg(u)=lg(v) et v infLex u). dans ce cas u=v.
Il s’agit donc bien d’une relation d’ordre.
C’est un ordre total, puisque inflex est un ordre total.
L’ordre est bien fondé, en effet considerons un mot m sur l’alphabet A. Il n’existe qu’un nombre fini de mots strictement inférieur à m. En effet, il y a un nombre fini de mots de longueur strictement plus petite à celle de m, et un nombre fini de mots de longueur égale à m.
while (m!=n) {
if (m > n) {
m = m-n;
} else {
n = n-m;
}
}
Considérons l’ordre défini par
(m,n) ≤(m’,n’) si et seulement si (m<m’) ou (m=m’ et n≤n’)
Il s’agit bien d’une relation d’ordre total sur N2, et (N2, ≤) est bien fondé.
Le seul élément minimal de N*2 est (1,1).
Le programme ci-dessus termine pour le couple (1,1)
Supposons que le programme termine pour tous les couples (m’,n’)<(m,n).
Alors il termine aussi pour le couple (m,n), en effet après le premier tour de boucle on se trouve dans les mêmes conditions que si l’on avait pris pour valeurs initiales (m-n,n) ou (n,m-n) et dans les deux cas il s’agit d’un couple de N*2 strictement plus petit que (m,n).
On peut définir les entiers pairs comme le plus petit ensemble qui contient 0 et qui est stable pour l’opération « ajouter 2 ».
On peut définir les entiers relatifs, comme le plus petit ensemble qui contient 0 et qui est stable pour les opérations « ajouter 1 » et « retirer un ».
B0=B
Bi+1=W(Bi) U Bi
Soit F=U Bi
Soit E défini inductivement par le schéma (B,W)
Montrez que E=F
On va montrer la double inclusion
EÌF
F contient la base B.
F est stable par W, en effet considérons une règle w de W, d’arité p, soient x1,x2,….xp, p éléments de F, chaque xi appartient à un certain Bji. Soit j le plus grand de tous les indices ji, les p xi appartiennent à Bj, donc w(x1,x2,…xp) appartient à Bj+1 et donc à F.
Puisque E est le plus petit ensemble au sens de l’inclusion, contenant B et stable par W, et puis que F lui aussi contient B et est stable par W, alors F contient nécessairement E
FÌE
On va montrer par récurrence sur i que Bi est inclus dans E
Base :SI i=0, c’est vrai puisque E contient B
Hypothèse de récurrence, E contient Bi
Soit x dans Bi+1 .Soit x est dans Bi et donc dans E, soit il est dans =W(Bi ) . Mais les éléments de Bi ,sont par hypothèse de récurrence des éléments de E, et E est stable par W , donc x est bien dans E
Considérons la relation xRy si et seulement si il existe w de W, x=w(x1,x2,…xp) et il existe i tel y=xi et x différent de y.
Soit R’ la fermeture transitive de R, c'est-à-dire la relation définie par
xR’y si et seulement si(( xRy) ou (il existe z tel que xRz et zR’y )).
Notons x≤y si et seulement si x=y ou xR’y.
≤ est un ordre (mais ce n’est pas forcement un ordre total).
Les éléments minimqux pour cet ordre sont les éléments de la base de l’ensemble.
–x est dans B
ou
–il existe w dans W , et un p-uplet (x1,x2,...,xp) d’éléments de E tel que x= w (x1,x2,...,xp)
Clairement si l’une des deux conditions est vérifiée, alors x appartient à E.
Réciproquement, supposons qu’il existe un élément de E ne vérifiant aucune de ces deux conditions. Soit y cet élément. Considérons F =E-íyý.
Puisque y n’appartient pas à B, et que B est inclus dans E, B est aussi inclus dans F.
Si l’on applique une règle à des éléments de F,on obtient un résultat dans E, qui ne peut pas être y, et donc qui est dans F.
F est donc stable pour W. Ceci contredit la définition de E, plus petit ensemble contenant B et stable pour W.
Oui pour celui des entiers pairs, en effet 0 qui est dans la base ne peut pas être obtenu par la règle n donne n+2. Un élément qui n’est pas dans la base est obtenu par l’unique règle à partir de l’unique entier pari k-2
Non pour les entiers relatifs, 0 est dans la base, peut être obtenu en ajoutant un à moins un ou en retirant un à un.
Règle : Si m est un mot et a une lettre, am est un mot.
Règle : Si m est un mot et a une lettre, am est un mot.
Oui, parce que la règle produit des mots ayant au moins deux lettres, et qu’un mot produit par la règle à un antécédent unique
Non, le mot aaaa peut être produit par la règle à partir de (aa,aa) ou à partir de (a,aaa)
C’est le cas pour le deuxième schéma définissant les mots.
C’est aussi le cas pour le schéma suivant
Base a,b,c, et d sont dans E
Règle si x et y sont dans E, x+y est dans E
Ce schéma n’est pas libe car a+b+c peut être formé à partir de a+b et de c ou de a et de b+c.
Oui, car e ne peut être produit par une règle (tout mon produit contient au moins une lettre), et un mot produit par la règle ne peut avoir qu’un antécédent.
–(((()))
–(((((())))))
–(())()
–()(())
–()()()
–(()())(())
Montrons que tous les mots de la forme (i)i sont dans LP (cette notation représente un mot formé de i parenthèses ouvrantes suivies de i parenthèses fermantes).
Par récurrence sur i.
Si =0 c’est vrai , car l mot vide est dans LP
On suppose que c’est vrai pour un certain i. Le mot (i+1)i +1 est aussi dans LP car il peut être produit par la règle en prenant u=(i)i et v=e.
Le premier mot n’est pas dans LP, car il ne contient pas aurant de ( que de ). On justifiera plus tard cette intuition
Le second est dans LP
Le troisième est dans LP car il peut être produit par la règle en choisissant u=v=()
Le quatrième est dans LP car il peut etre produit parla règle en choisissant u=e et v=(())
Le cinquième est dans LP car il peut etre produit par la règle en choisissant u=e et v=()(), lequel v est dans LP car il peut etre produit par la règle en choisissant u’=e et v’=().
Le sixième est dans LP car il peut etre produit par la règle en choisissant u=()()e et v=(())
Démontrez la validité de l’induction structurelle
Si ce n’etait pas le cas, il existerait une propriété P et un ensemble E défini par un schéma inductif, tel que P soit vrai pour tout élément de la base, P soit propagée par chacune des règles du schéma et cependant il existe au moins un élément e de E pour le quel la propriété est non vide.
Soit F le sous ensemble de E constitué des éléments de E pour lesquels la propriété P est vraie.
B est inclus dans F puisque P est vrai pour tout élément de la base
F est stable par les règles du schéma définissant E puisque P est propagée par chacune des règles du schéma
F est strictement inclus dans E.
Ce qui contredit le fait que E est le plus petit ensemble contenant B et stable parles règles.
(0,0) Î E
(n,m) Î E Þ (n,m+1) Î E
(n,m) Î E Þ (n+1,m) Î E
(0,0) Î F
(n,m) Î F Þ (n,m+1) Î F
(n,0) Î F Þ (n+1,0) Î F
En déduire deux schémas de preuve par induction sur N2
Premier ensemble
E est inclus dans N2.
Par induction structurelle
Base (0,0 ) est dans N2
Supposons (n,m) dans N2, alors (n+1,m) et (n+1,m) sont dans N2
N2est inclus dans E
On va montrer par récurrence sur k que n£k, m£k impliquent que (n,m) est dans E.
Pour k=0, c’est vrai car (0,0) est dans E
On suppose que pour un certain k, n£k, m£k impliquent que (n,m) est dans E.
Soit (n,m) tels que n£k+1 et m£k+1.
Sin£k et m£k , (n,m) est dans E.
Si n£k, et m=k+1, alors par hypothèse de récurrence, (n,m-1) est dans E et donc (n,m) est dans E .
Si m£k, et n=k+1, alors par hypothèse de récurrence, (n-1,m) est dans E et donc (n,m) est dans E .
(k,k) étant dans E, (k+1,k) est dans E et (k+1,k+1) aussi.
On en déduit qu’une propriété P(n,m) est vraie pour tout les couples d’entiers (n,m) si et seulement si P(0,0) est vraie, et P(n,m)ÞP(n+1,m) et P(n,m)ÞP(n+1,m)
Second ensemble
F est inclus dans N2.
Par induction structurelle
Base (0,0 ) est dans N2
Supposons (n,m) dans N2, alors (n+1,m) est dans N2
Supposons (n,0) dans N2, alors (n+1,0) est dans N2
N2est inclus dans F
On va montrer par récurrence sur k que n+m£k impliquent que (n,m) est dans F.
Pour k=0, c’est vrai car (0,0) est dans F
On suppose que pour un certain k, n+m£k impliquent que (n,m) est dans E.
Soit (n,m) tels que n+m£k+1.
Si m=0, alors par hypothèse de récurrence, (n-1,0) est dans F et donc (n,m) est dans F .
Si m est non nul,
si n est nul, alors (n,m) est dans F,
sinon (n-1,m) est dans N2et donc par hypothèse de récurrence dans F. Par définition de F, (n,m) est donc dans F.
On en déduit qu’une propriété P(n,m) est vraie pour tout les couples d’entiers (n,m) si et seulement si P(0,0) est vraie, et P(n,m)ÞP(n+1,m) et P(n,0)ÞP(n+1,0)
Base eÎE
Règles: m ÎE Þ0m1 ÎE
m ÎE Þ1m0 ÎE
a) Le schéma définissant E est –il libre?
b) A-t-on M Ì E?
c) A-t-on E Ì M?
a) le schéma définissant E est libre, en effet
- aucun mot ne peut être dans la base (donc de longueur de nulle) et produit par une règle (donc de longueur au moins deux)
- un mot se terminant soit par un un soit par un zéro, il ne peut être produit que par l'une des deux règles.
- Un seul antécédent est possible pour une règle donnée, car 0m1=0m'1 entraîne m=m' et de même 1m0=1m'0 entraîne m=m'.
b) Non , par exemple, le mot 0110 appartient à M (il comporte autant de zéro que de un), mais pas à E ( il n'est pas dans la base et aucune règle ne peut le produire)
c) Oui. La preuve se fait facilement par induction structurelle
Base : le mot vide contient autant de zéro que de un(zéro de chaque)
Propagation : Supposons que m contienne autant de zéro que de un, alors clairement il en est de même de 0m1 et de 1m0.
Une définition possible est
Base {e,0} est inclus dans E
Règles Si m est dans E, alors m1 est dans E
Si m est dans E, alors m10 est dans E
Soit MBS20C l'ensemble des mots binaires ne comportant pas deux zéros consécutifs
Montrons l'égalité des deux ensembles
E est inclus dans MBS20C
La preuve se fait très simplement par induction structurelle
Base: e et 0 sont bien des mots binaires et ne comportent pas deux zéros consécutifs
Propagation: Supposons que m ne comporte pas deux zéros consécutifs, alors il en est de même de m1 et de m10.
MBS20C est inclus dans E
La preuve se fait sur la longueur des mots de MBS20C
Si cette longueur est 0 alors le mot est dans la base de E, donc dans E
Supposons que tout mot de MBS20C de longueur <k est aussi dans E
Soit alors m un mot de MBS20C de longueur k.
Si sa longueur est un il est dans la base, ou produit par la règle à partir de e, on peut donc supposer k au moins égal à deux.
Si la dernière lettre de m est un 1, alors m=m'1 et m' est lui aussi un mot de MBS20C. Comme la longueur de m' est <k, m' est dans E (par hypothèse de récurrence) et donc m=m'1 est aussi dans E (par définition de E)
Sinon, la dernière lettre de m est un 0, mais alors son avant dernière lettre est forcément un 1 et m=m'10, et m' est lui aussi un mot de MBS20C. Comme la longueur de m' est <k, m' est dans E (par hypothèse de récurrence) et donc m=m'10 est aussi dans E (par définition de E)
Le schéma est libre, en effet :
- aucun mot ne peut être dans la base (donc de longueur de un) et produit par une règle (donc de longueur au moins deux)
- un mot se terminant soit par un un soit par un zéro, il ne peut être produit que par l'une des deux règles.
- Un seul antécédent est possible pour une règle donnée, car m1=m'1 entraîne m=m' et de même m10=m'10 entraîne m=m'.
Soit E l’ensemble défini par le schéma inductif
Base e , 0 sont dans E
Règle m,m’ dans E Þm1m’ dans E
Montrons que E est égal à MB , l’ensemble des mots binaires ne comportant pas deux zéros consécutifs ;
E ÌMB
Démonstration par induction structurelle
Base e et 0 sont dans MB
Propagation :Supposons que m,m’ soient dans MB, alors m1m’ ne comporte que les lettres 0 et 1, et ne comportent pas deux zéros consécutifs dans E
MBÌE
Montrons par récurrence sur k que tout mot de MB de longueur inférieure ou égale à k appartient à E.
Base k=0 : le seul mot de MB de longueur inférieure ou égale à 0 est e qui appartient à E
Hypothèse de récurrence : Pour un certain k, tout mot de MB de longueur inférieure ou égale à k appartient à E.
Soit m un mot de MB de longueur k+1.
Si m comporte un
Si m ne comporte aucun 1, m=0. et m est dans E
Soit E l’ensemble défini de manière inductive par
Base : 0 est dans E
Règles Si m est dans E alors 1m est dans E
Si m¹0 et m ‘ sont dans E, mm’ est dans E
Soit MBP l’ensemble des mots binaires représentant les entiers pairs sans zéro inutile en tête.
Montrons par induction structurelle que EÌMBP
Base
0 représente bien un mot binaire pair sans 0 inutile en tête
Propagation
Supposons que m soit dans MB, alors 1m est aussi dans MB puis qu’il se termine par 0 et commence par un un.
Supposons que m et m’ sont dans MB, et que m soit différent de 0, alors mm’ commence par un un et termine par un zéro, et donc mm’ est bien dans MBP
Montrons par récurrence sur k que tout mot de MBP de longueur au plus k est dans E.
Base k=1, le seul mot concerné est le mot 0 qui est dans E
Hypothèse de récurrence : pour un certain entier k>0, tout mot de MBP de longueur au plus k est dans E.
Soit m un mot de MBP de longueur
k+
Si m est de longueur deux, m=10 et donc m appartient à MBP
Sinon, m=1m’0. Si m’ termine par un 0, m=1n00, le mot 1n0 est dans MBP, il est de longueur k et donc il appartient à E et m aussi est dans E.
Sinon si m’ ne comporte que des un, m=11n0, le mot 1n0 est dans MBP, il est de longueur k et donc il appartient à E et m aussi est dans E.
Sinon le mot m’ comporte des 0 et des 1, de plus m’ termine par un 1, m’ est donc de la forme m’=n01i, donc m=1n01i0. Or 1n0 et 1i0 sont deux mots de MBP de longueur inférieure à k, donc des mots de E, donc m est dans E.
Montrons d’abord que LPÌ LBP par induction structurelle
Base P(e ) est vrai, puisque le mot vide est dans LBP
Propagation :
Montrons que P(u) et P(v) entraînent P((u)v).
Un préfixe de (u)v est soit
Dans tous les cas, ce préfixe comporte au moins autant d’ouvrante que de fermante.
De plus (u)v contient exactement autant d’ouvrantes que de fermantes.
Donc (u)v est bien dans LBP.
Réciproquement montrons par récurrence sur n la propriété
H(n): tout mot m de longueur n vérifiant P(m) est dans LP
H(0) est vrai car e est le seul mot de longueur 0 et il appartient à LP
Supposons H(p) vrai pour tout p<n
Soit m un mot vérifiant P(m) et de longueur n
m=m1m2…mn
Soit f(i)= le nombre de ( - le nombre de ) dans les i premières lettres de m
P(m)Û "i f(i)≥0 et f(lg(m))=0
Soit k le plus petit entier tel que f(k)=0 (il existe car f(n)=0)
f(k-1)=1 donc mk=)
Posons u=m1m2..mk-1, et v=mk+1..mn
On a m=(u)v, et u et v vérifient tous les deux la propriété P. Ils sont de longueur strictement inférieure à n, donc par hypothèse ils sont dans LP. Par définition de LP, m est donc aussi dans LP
Clairement un mot ne peu pas être à la fois dans la base et construit par les règles. Supposons qu’il existe m=(u)v=(u’)v’, avec u,v,u’,v’ dans LP.
Avec la même fonction f que pour l’exercice précédent, on a f((u))=0=f((u’)).
Supposons que u et u’ soient différents, alors ils sont forcement de longueur différente.
On peut donc supposer que lg(u)<lg(u’). Alors u) est un préfixe de u’ puisque (u)v=(u’)v’, mais u) contient plus de ) que de (, en contradiction avec u’ dans LP.
Donc u=u’, et donc v=v’.
1) LP et LP2 sont identiques
Montrons tout d'abord que LP est inclus dans LP2, par induction structurelle sur LP
Tout mot de la base de LP est dans LP2, car les deux ensembles ont la même base.
Supposons que les mots u et v de LP soient aussi dans LP2, alors par définition de LP2, le mot (u) est dans LP2 (Règle 2) et puisque (u) et v sont dans LP2, (u)v est dams LP2 (Règle 1), donc si u et v sont dans LP2, (u)v est dans LP2.
On vient de prouver que tous les mots de LP ont la propriété d’« appartenir à LP2 » par induction structurelle sur LP2
Montrons maintenant que LP2 est inclus dans LP
A nouveau, faisons une induction structurelle sur LP2 cette fois.
Tout mot de la base de LP2 est dans LP
Si un mot u de LP2 est dans LP il en est de même de (u), car on peut appliquer la règle de LP avec v égal au mot vide.
Soient maintenant u et v mots de LP2 , supposons qu’ils sont dans LP, et montrons que uv est lui aussi dans LP
Il suffit donc de montrer que si u et v sont dans LP alors uv est dans LP
Or, on sait que les mots de LP sont les mots composés d'exactement autant d'ouvrantes que de fermantes, et tels que tout préfixe comporte au moins autant d'ouvrantes que de fermantes. Donc nécessairement si u et v sont dans LP, alors uv contient exactement autant d’ouvrantes que de fermantes, tout préfixe de uv contient au moins autant d’ouvrante que de fermante, puisqu’un préfixe de uv est soit un préfixe de u, soit u suivi d’un préfixe de v, et que u et v sont dans LP. Donc uv est bien dans LP.
2) Ce schéma n'est pas libre : par exemple le mot ()()() peut être produit à partir de la première règle avec u=() et v=()() ou bien avec u=()() et v=()
a) Donnez une définition inductive de L et la prouver
b) Montrez que L n’est pas égal à l’ensemble des mots bien parenthésés. Comment peut-on associer à un mot de L, un mot bien parenthésé
c) Prouvez soit que le schéma donné en a) est libre soit qu'il est ambigu
Une définition possible est
Base : est dans M
Règles :Si m et m' sont dans M alors om et (m)m' sont dans M
M est inclus dans L par induction structurelle , en effet e appartient à L et si tout préfixe de m et de m' comprennent au moins autant de ( que de ), alors il en est de même de om et de (m)m', les préfixes de (m)m’ étant de la forme (pm ou (m)pm’, pm étant un préfixe de m et pm’ un préfixe de m’.
Réciproquement, soit m un mot de longueur n, soit pi le préfixe de m composé des i premières lettres, et soit c(m,i)= le nombre de ( dans pi moins le nombre de ).
Notons que m appartient à L si et seulement si c(m,i) ³0, pour tout i, 1£i£n. En particulier tout mot de L commence par la lettre (.
Montrons par récurrence sur n que tout mot de L appartient à M.
Base Si n=0, m= et donc m
appartient à M
Supposons que tout mot de L de longueur strictement inférieure à n appartient à M
Soit l un mot de L, de longueur n
Premier cas : c(l,i)>0 pour tout i 1£i£n
Si l n’est pas le mot vide, alors l=(l’, et comme c(l,i)=c(l’,i-1)+1, c(l’,j)³0, pour tout j 1£j£n-1, et donc l’ appartient à L. Comme l’ est de longueur n-1, par hypothèse de récurrence l’ appartient à M. Donc l appartient à M par définition de M.
Deuxième cas : il existe k tel que c(l,k)=0
Soit j le plus petit entier tel que c(l,j)=0. On a donc c(l,i)>0, pour tout i 1£i£j-1. La j-ième lettre de l est nécessairement un f. Soit m tel que pj=(m). Comme c(l,k)=1+c(m,k-1), m appartient à L, et par hypothèse de récurrence à M. Soit m’ le mot éventuellement vide tel que m=pjm’, on a c(m,k)=c(m’,k-i), et donc m’ aussi appartient à L et par récurrence à M. On a donc l=(m)m’, avec m et m’ dans M, donc l appartient à M.
Une autre définition possible est
Base : et ( sont
dans M
Règles :Si m et m' sont dans M alors (mf et mm' sont dans M
M est inclus dans L par induction structurelle , en effet eet ( sont dans L et si tout préfixe de m et de m' comprennent au moins autant de ( que de ), alors il en est de même de (m) (dont les préfixes non vides sont de la forme (pm ) et de mm' (dont les préfixes sont de la forme pm ou mpm’ )
En utilisant les mêmes notations que pour la première définition, montrons par récurrence sur la longueur des mots que tout mot de L est dans M.
Base : le mot vide est bien dans M
Hypothèse de récurrence : Tout mot de L de longueur inférieure à n est dans M
Soit l un mot de L de longueur n.
Premier cas c(l,i)>0, pour tout i 1£i£n
Alors l=(m’, où m’ est un mot de L . Si m’ est le mot vide alors l=( appartient à M. Sinon
Ou bien la dernière lettre de m’ est un (. Dans ce cas l=(l’(, et (l’ est dans L et par hypothèse d’induction il est aussi dans M. Par définition de M, l=(l’( est donc dans M.
Ou bien la dernière lettre de m’ est un ). Dans ce cas l=(l’) et l’ est dans L et par hypothèse d’induction il est aussi dans M. Par définition de M l=(l’)est donc aussi dans M
Deuxième cas il existe k tel que c(l,k)=0, choisissons pour k , le plus petit entier tel que c(l,k)=0,
Soit m=pk et m’ tel que l=mm’. m et m’ sont dans L.
Si m’ n’est pas le mot vide alors la longueur de m et de m’ est inférieur à n et donc par hypothèse d’induction ils sont tous les deux dans M et donc l aussi appartient à M
Si m’ est le mot vide (k=n), alors l=(m), avec m dans L et donc dans M. En conséquence, l est dans M.
le mot ( est dans M mais n’est pas bien parenthésé. En fait il suffit d’ajouter en fin d’un mot de M le nombre de ) nécessaires pour équilibrer le nombre de ) et de ( pour rendre ce mot bien parenthésé.
Le premier schéma donné en a) n'est pas libre, en effet le mot (() peut être dérivé soit avec la règle (m et m=(), soit avec la règle (m)m’ avec m=( et m’ vide.
Le second schéma n’est pas libre non plus, le mot ((( peut être dérivé par la règle mm’ avec m=( m'=((, soit avec m'=( , m=((.
On pose A= Var U Op.
On appelle langage des expressions polonaises préfixées le langage L sur A défini par le schéma :
Base Var Ì L
Règle Si w Î Op, u,v ÎL, alors wuv Î L
En supposant que Var={0,1,2,3,4,5,6,7,8,9}
et Op={+,-,/,*}, le mot
+ + * 2 4 - 5 7 - 4 + 3 2 est-il dans L?
Montrez qu'un mot w de A* appartient à L si et seulement si il vérifie les deux conditions suivantes :
i)w contient une variable de plus que d’opérateurs
ii ) tout préfixe propre p de w contient au moins autant d’opérateurs que de variables
Montrez que le schéma définissant L est libre.
Le mot est dans L, on peut l’obtenir de la manière suivante
3,2 Þ + 3 2
4, +3 2 Þ -4 + 3 2
2 4 Þ * 2 4
5 7 Þ - 5 7
* 2 4, - 5 7 Þ +* 2 4 - 5 7
+* 2 4 - 5 7, -4 + 3 2 Þ ++* 2 4 - 5 7 -4 + 3 2
Montrons par induction structurelle sur L que tout mot m de L vérifie les 2 propriétés
Si m est dans la base, alors et m n'a aucun préfixe
propre, donc les deux propriétés sont vérifiées.
Supposons que u et v vérifient les deux propriétés, alors vérifie
aussi les deux propriétés
En effet par hypothèse :
et
Donc
Et donc wuv vérifie la première propriété
Pour montrer que wuv vérifie la seconde propriété, examinons p un prefixe propre quelconque de wuv.
Cas 1, p= w,
alors p vérifie bien
Cas 2 p=wpu
où pu est un prefixe propre de u. Par
hypothèse d'induction , et donc
Cas 3 p=wupv
pu où pv est un prefixe propre de u. Par hypothèse d'induction et
, et donc
Réciproquement, montrons par induction sur la longueur du mot que si un mot vérifie les deux propriétés, alors il appartient à L.
Pour tout mot m posons d(m) =
Soit w un mot vérifiant les deux propriétés, c'est à dire tel que d (w)=1 et d (p)<1 pour tout préfixe propre p de w.
Si w est de longueur 1, alors w est une variable ( à cause de la propriété 1) et w appartient à L.
Sinon supposons que tout mot de longueur inférieure où égale à n vérifiant les deux propriétés est dans L.
Soit w un mot de longueur n+1, vérifiant les deux conditions, alors
nécessairement ce mot commence par un opérateur : (remarque
: je ne peux pas dire ici que p vérifie les propriétés i et ii
parce que ce n'est pas vrai, je vais chercher deux mots u et v qui vérifient
les propriétés ( et qui donc par hypothèse de récurrence seront dans L, tels
que p =uv )
Appelons le préfixe de p comportant i
lettres.
Puisque est un préfixe de w, d (
) £ 0, d'autre part puisque
,
on a
d(wpn)=1.
Donc il existe i, 1£
i tel que pour tout j<i,
d(wpj)<0 et
d(wpi)
=0. (i est le plus petit entier tel que d(wpi)
=0. )
Puisque w est un
opérateur, on a donc pour tout j<i,
d(pj)<=
0 et d(pi) =1.
Donc pi vérifie les deux propriétés, comme il est de longueur strictement inférieure à n, il est donc dans L.
Soit r tel que .
Puisque d(wpi) =0,
r lui aussi vérifie les deux conditions. Comme r est de longueur strictement
inférieure à n, il appartient à L, il en est donc de même pour w.
Montrons que le schéma est non ambigu
Soit w un mot de L, ayant n lettres , et supposons qu'il
existe deux opérateurs et
et quatre
mots de L
tels que w=
.
Nécessairement =
Si et
sont de la même
longueur, alors ils doivent être égaux.
Sinon, supposons . Alors
étant
un mot de L , d(
) = 1, mais
par ailleurs est un préfixe propre
de
donc d (
) < 0, contradiction.
Donc nécessairement et
sont de
la même longueur.
On a donc u1=u2 et v1=v2.
Add_m
Multiply_by_m
Add_m(0)=m Add_m(n+1)=Add_m(n)+1
Ou
public int addM(int n){
if (n==0) return 1
else return 1+addM(n-1)
}
Multiply_by
_m(0)=0 Multiply_by _m(n+1)=
Multiply_by _m(n)+m
Ou
public int Multiply_by_M(int n){
if (n==0) return 0
else return m+ Multiply_by_M
(n-1)
}
Base 0 et 1 sont dans E
Règle Si n est dans E, alors n+2 est dans E
Base 0 est dans F
Règle Si n est dans F, alors 2*n est dans F
Base 0 est dans G
Règle Si n est dans G, alors 2*n+1 est dans G
Base 0 est dans H
Règles
Si n est dans H, alors 2*n est dans H
Si n est dans H, alors 2*n+1 est dans H1)
A quoi sont égaux ces 4 ensembles ?
Les schémas sont ils libres?
En vous appuyant sur une définition inductive de N, donnez une définition inductive des fonctions n modulo 2, division entière de n par 2 et écriture de n en base deux.
1) L'ensemble E est égal à N
Tout élément de E est dans N, par induction structurelle sur E (ajouter 2 à un entier donne un entier)
Tout élément de N est dans E, par récurrence sur N:
0 et 1 sont dans E
Supposons que tout entier < k soit dans E
Soit l'entier k, on peut le supposer au moins égal à 2 ( les autres cas sont réglés dans la base) et donc k-2 est en entier qui par hypothèse de récurrence est dans E, donc par définition de E, k est lui aussi dans E.
Le schéma est libre : 0et 1 sont dans la base et ne peuvent être le résultat de la règle. Tout entier >=2 peut etre fabriqueé par LA règle appartir de n-2 uniquement
L'ensemble F est réduit au nombre 0, ce qui se voit aisément par induction structurelle sur F. Le schéma n'est pas libre 0 est dans la base et peut etre engendré par la règle
L'ensemble G, est égal au sous ensemble de N formé des entiers qui sont égaux à une puissance de 2 moins un. Notons G' ce sous-ensemble.
Clairement G est inclus dans G' par induction structurelle ( il suffit de vérifier que 1 = 2-1 et que si n=2k-1 alors 2n+1 =2(2k-1)+1 =2k+1-1).
Réciproquement, on peut montrer que G' est inclus dans G , en montrant par récurrence sur k que 2k-1 est dans G
Si k=1, c'est vrai .
Supposons le résultat vrai pour k, soit l'entier 2k+1-1, par hypothèse de récurrence l'entier 2k-1 est dans G, donc définition de G, il est de même de 2(2k-1)+1 =2k+1-1
Le schéma est libre.
L'ensemble H est égal à N
H est inclus dans N par induction structurelle
N est inclus dans H
Montrons par récurrence sur k que k appartient à H
Si k=0, c'est vrai car 0 est dans la base de H
Soit k un entier non nul, supposons que tous les entiers inférieur à k soit dans H.
Si k est pair, k=2k', et k'<k, donc par hypothèse de récurrence k' est dans H, donc par définition de H, k=2k' est aussi dans H
Si k est impair, k=2k'+1, et par hypothèse de récurrence k' est dans H, donc par définition de H, k=2k'+1 est aussi dans H
Le schéma n'est pas libre tel que car n est dans la base et est aussi résultat de la règle un appliqué à n=0. On peut modifier le schéma pour le rendre libre :
Base 0 est dans H
Règles Si n non nul est dans H, alors 2*n est dans H
Si n est dans H, alors 2*n+1 est dans H
2) Pour donner une définition inductive de la fonction n modulo 2, on peut utiliser le fait que N=E .
On définira alors la fonction modulo 2 par
0 mod 2 = 0
1 mod 2 = 1
n+2 mod 2 = n mod 2
Ce qui pourrait se programmer sous la forme
Public int mod2 (int n) {
(if n==0 | n==1) {return
n}
else return (mod2(n-2))}
}
Pour définir n / 2 , on peut aussi utiliser N=E,
On définira alors la fonction division entière par deux par
0/2 =0
1/2 =0
(n+2)/2 = n/2 +1
Ce qui pourrait se programmer sous la forme
Public int div2 (int n) {
(if n==0 | n==1) {return
0}
else return (div(n-2)+1 )}
}
Pour définir la fonction écriture en base deux de n, on peut utilise le fait que N=H,
On définira alors a fonction écriture en base deux par
Ecriture (0)=0
Si n>0 Ecriture (2n)=Ecriture(n).0
Si n >0, Ecriture(2n+1)=Ecriture(n).1
Ecriture(1)=1
Addition de deux entiers
Multiplication de deux entiers
Calcul de mn.
Add(0,0=0
Add(n+1,0)=n+1
Add(m,n+1)=Add(m,n)+1
public int add (int m, int n) {
if (n==0) return m
else return add (m,n-1)+1
}
Mult(0,0)=0
Mult(n+1,0)=0
Mult(m,n+1)=Mult(m,n)+m
public int mult (int
m, int n) {
if (n==0) return 0
else return mult (m,n-1)+m
}
Puiss(0,0)=0
Puiss(n+1,0)=1
Puiss(m,n+1)=Puiss(m,n)*m
public int puiss (int m, int n) {
if (n==0) {if (m==0) return 0 else
return 1}
else return puiss (m,n-1)*m
}
m(x1x2…xn)=xn …x2x1
Base
Règle Si
Preuve : Montrons par induction structurelle sur A* que
Base :
Supposons , alors m(am)= m(m)a=m~a=(am)~
Définir inductivement la fonction
w : A*x A---->N, w(m,c)= |m|c
Base
Règles
Preuve : Immédiate par induction structurelle sur A*
val : {0,1}*---->N,
val(m)= entier représenté par m
val: {0,1}*---->N
Base val()=0
Règles val(m0)=2*val(m)
val(m1)=2*val(m)+1
Définir inductivement la fonction
s: {0,1}*x{0,1}*---->N, s x,y)=val(x)+val(y)
s: {0,1}*x{0,1}*---->N, s(x,y)=x+y
Base s(m,e)=val(m)
Règles s (m,m')= s (m',m)
s
(mi,m'j)=2* s (m,m')+i+j
S: {0,1}*x{0,1}*---->{0,1}*, S(x,y) un mot binaire qui correspond à l'entier val(x)+val(y)
Dans cette question, on voit la somme comme ayant son résultat dans les mots binaires (on ne dispose donc pas de la multiplication et de l'addition).
Base S(e,e)=e,
S(e,0)=0;
S(e,1)=1;
Règles S(u0,v0)=S(u,v)0
S(u0,v1)=S(u,v)1
S(u,v)=S(v,u)
S(u0,e)=S(u,e)0
S(u1,e)=S(u,e)1
S(u1,v1)=S(u,S(v,1))0
Preuve :
Si A est un alphabet, alors A* x A* peut se définir par le schéma inductif libre suivant :
Base
Règles
(la preuve de cette définition et de sa non-ambiguïté est laissée en exercice pour le lecteur).
La définition de S se prouve par induction structurelle sur A* x A.
Définir une fonction inductive qui teste si un élément appartient à une liste
longueur(liste_vide)=0
longueur(cons(a,l))=longueur(l)+1
concat(liste_vide,l)=l
concat(cons(a,l’),l)=cons(a,concat(l’,l))
ajout_en_fin(liste_vide,e)= cons(e, liste_vide)
ajout_en_fin(cons(a,l),e)=cons(a,ajout_en_fin(l,e)
miroir(liste_vide)=liste_vide
miroir(cons(a,l))=ajout_en_fin(miroir(l),a))
la somme de ses éléments
la sous liste de ses éléments pairs
la liste où tous les éléments ont été augmentés de un