• No results found

Vérification des textes mathématiques par un ordinateur: conférence à Lille, le 21 novembre 1969

N/A
N/A
Protected

Academic year: 2021

Share "Vérification des textes mathématiques par un ordinateur: conférence à Lille, le 21 novembre 1969"

Copied!
12
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Vérification des textes mathématiques par un ordinateur

Citation for published version (APA):

Bruijn, de, N. G. (1969). Vérification des textes mathématiques par un ordinateur: conférence à Lille, le 21 novembre 1969. Technische Hogeschool Eindhoven.

Document status and date: Gepubliceerd: 01/01/1969

Document Version:

Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne

Take down policy

If you believe that this document breaches copyright please contact us at:

openaccess@tue.nl

providing details and we will investigate your claim.

(2)

Notitie Nr. 18 (1

969-1

970)

14 november

1969

Technological University Eindhoven Department of Mathematics

Verification textes mathematiques jar un ordinateur. Conference & Lille, le 21 novembre

1969,

par

N.

G. de Brui jn (~indhoven).

Le probleme de ve'rification des textes mathdmatiques est au fond le probleme de d6finir un.langage. I1 faut que ce hngage satisfait aux propriet6s suivantes: 1. Tout ce qu'est correct en mathe'matiques peut &re exprim6 avec ce langage, conform 8, sa grammaire, et tout ce qulon peut dire au moyen ce langage est correct en math6matiques.

2. On admet que les textes de mathematiques ordinaires stallongent par lb traduction, mais on nladmet pas que la proportion de l'allongement tend vers lfinfini b mesure qu'on fait des progrbs.

3. On dispose d l u n programme avec lequel un ordinateur peut trancher si un livre donnd est correct ou non.

La tache no. 1 est vraiment impossible, En premier lieu, il semble impossible de prdciser ce qulil veut dire "math6matiques". Pourtant, on peut essayer de circonscrire une partie de math6matiques, assez large pour la pratique quotidienne. I1 semble que le langage AUTOMATH, ddveloppe &

Eindhoven depuis 1

967,

satisfait % cette condition, ainsi qu aux conditions

2 et

3.

Dans cette conference-ci, nous considdrons principalement la definition du langage. A fin de mieux Qtablir les difficult& principales, nous allons discuter d'abord deux langages plus simples:premi&rement SEMIPAL, oh on a d6j& la structure de bloc et le systhme dlabr&viation, et ensuite PAL, oh on a, en outre, lladministration de cat6gories. On arrive &. AUTOMATH en ajoutant un systeme de quantification en forme d l u n calcul lambda g6ndralise'.

(3)

PremiBre phase: le langage SEMIPAL.

SEMIPAL est un systijme pour exprimer des notions en termes dtautres, en utilisant la structure de blocs imbriqu6sd Les expressions en SjEMIPAL ont une structure donnee par

<expression> : := < identif icat eu& identificateur list; dl expressions>) <liste dl expressions > : : = <expression >

k

liste d t expressions>,<expression>

Un livre en SEMIPAL consiste d t u n liste de lignes. Les lignes ont la

< explication > : : =

-

I

PN

I

<expression

Les identificateurs des lignes diverses sont tous diffdrents; si l t o n veut, on peut choisir le numdro dtune ligne comme son identificateur.

La liste des l i m e s est structurben blocs qui peuvent slimbriquer les uns dans les autres, sans se chevaucher.

A

la t&e d t u n bloc on trouve une ligne de la forme

< identif icateur

>:

=

-

En ce cas-ci, llidentificateur slappelle variable.

Lfindicateur dtune ligne est le variable B la tgte du plus petit bloc contenant cette ligne, sauf pour les tgtes de bloc elles-m&nes,oh llindicateur est la tete du plus petit bloc un seul except6, Si une ligne ne se trouve d a m aucun bloc, lfindicateur est le symbole 0.

La

1-

2 dlindicateurs dlune ligne est la liste des variables de t&tes de blocs contenant cette ligne, dans ltordre impose par le livre. Encore, q u a d la ligne est B la t&e d l u n bloc, son identificateur ntappartient pas 8, cette liste.

Quand une expression figure dans une ligne, elle ne peut pas contenir desvariablesqui nlappartiennent pas 8. la liste dlidentificateurs. D1autre part, les identificateurs non variables peuvent &re utilises partout, pourvu qulils sont rnunis dfune liste de sous-expressions dont la longueur satisfait B

une certaine condition. Pour lfexpression b(zl

,

.

. .

,

zd).

utilisge dans la ligne A, eette condition stexprime comme suit: Si x,,

...,

x est la liste

(4)

d'indicateurs de b, nous convenons queR 4 r

et

que la ligne

A

se troilve dam le bloc de xr

-

Dans ce cas on peut consid~rer b( El,

. . .

,

zR)

et b(xl, a . e , Xr-pE1 9

.

.

.

,

z ~ )

comme identiques. On a des modifications

triviales quand r = 0 ou r =

A.

Exemple. Nous prenons le texte qui s'ecrit normalement comme non (x) := notion primitive

et (x,y) := notion primitive

ou (x,y) := non (et(non(x), n~n(~)) imp1 (x,~) := ou (non(x)

,

y)

equiv (x,y) := et (impl(x,y), impl (y,x)) outroi (x,y,z):= ou (ou(x,y), z)

tralala (x, y) := outroi (et

(x,~),

non(imp1 (x,y)), non(impl(y,

x

)

)

)

Ce text. se lit en SEMIPAL cornme suit:

X :=

non := PN

1 y

:= et := PN

ou : = non ( et (non, non(y) ) )

impl : = ou (non,y)

equiv := et (impl, impl(y,x))

I

Z :=

outroi : = ou (ou, z)

t r a l a a := outroi (et, non(impl), non(impl(y,x))) Dans la premiere colome on trouve les indicateurs.

Remarque. Sans changer lteffet, on peut remplacer, par exemple, la definition de "equiv" par

equiv : = et (impl (y)

,

impl (y,x))

,

ou : equiv: := et (impl(x,y), impl(y,x)).

(5)

DeuxiBme phase. Le langage PAL.

En PAL chdque expression a une cat&orie, sauf l e s expressions q u i sont des cate'gories elles-mBmes. Dans l e c a s d e r n i e r , on 6 c r i t au l i e u de l a

cattlgorie l e symbole type. On a l e d r o i t d t i n t r o d u i r e des c a t 6 g o r i e s nouvelles,

t i = = =

s o i t comme des v a r i a b l e s , s o i t comme des notions p r i m i t i v e s , s o i t comme des expressions. I1 y a quelques r e s t r i c t i o n s que nous donnons en forme abrdgge: 1. Une t e t e de bloc d o i t a v o i r une c a t e g o r i e qui e s t v a l a b l e dans l e bloc o'u c e t t e t & t e de bloc e s t insQr6e.

2. h ' c a t b g o r i e d f u n e notion p r i m i t i v e d o i t & r e une c a t d g o r i e v a l a b l e au m&me l i e u .

3. Quand on C c r i t des expressions comme b(E I.

'

...

,,TI), on demande (quand

xI, ,

.

.

,

xr e s t l a l i s t e d ' i n d i c a t e u r s de b) que 2, s l a c a t g g o r i e de

5

-

que Z2 a l a catdgorie de xr

-

I+i

avec s u b s t i t u t i o n d e 2 , p o u r xrmJ, etc.

...

pot :=- r e e l x :=

-

m22

I

y :=-

-

produit c a r t Q s i e n := PN 3x22

I

u :=

-

produit c a r t d s i e n ( r e a l , n a t )

On peut Q c r i r e des a s s e r t i o n s en PAL, e t p a r s u i t e , on peut donner c e r t a i n e s dbmonstrations. Pour $a on convient q u l u n e a s s e r t i o n correspond &

une catQgorie. Alors, f a i r e l l a s s e r t i o n veut d i r e : exprimer qulon a une expression avec c e t t e cat6gorie. P a r exemple s i l 1 o n veut i n t r o d u i r e Q g a l i t 6 de nombres r e e l s comme notion p r i m i t i v e , on Q c r i t

(6)

.

.

. . .

.

. .

D'ailleurs,on peut dcrire llaxi.ome p = q c o m e v := PN EGfi (P&),

et le th6orhme p = q comme

W :=

...

BxTJ (p,q),

bu

..

.

est une expression qui peut Qtre considdrde cornmela d6monstration du th6or8me. Cette expression contient, soit implicitement, soit explicitement, toute information necessaire pour comprendre la dtlmonstration. Le thQor&me

0

X

Y

n'est pas Bnonc4 avant que la ddmonstration soit termin6e.

Si 1 on veut

,

on peut cansiderer les propositions comme ob jets mathdmatiques:

boo1 := PN

LYE

et on peut postuler que chaque proposition,ba son categorie d'affirmation:

.

-

.

-

boo1

I i R U E :=PN

b ALlE

Alors, si c est une proposition queloonque, on peut affirmer c (soit comme

x : = rdel

1

y: := rdel

EGAL : = PN

La!?

hypothbe, soit comme axiome, soit comme th6orSme) par une ligne

.

.

e

.

.-

-

...

TRUE (c).

Par suite, quand on a les r e a s $2 et q , on peut dcrire lfhypoth8se p = q comme

O

l u

: =

l

a

u

( ~ 9 4

CTest ainsi qulen PAL on peut ddcrire la structure de blocs en mathtlmatiques oh les t8tes de blocs sont des variables aussi bien que des hypoth&ses.

Exemple. Nous introduirons 1s notion de conjunction de deux propositions odmme notion primitive*nous exprimerons quelques axiomes et un theorbe; a p r h fa nous indiquerons comment on peut appliquer ce resultat d a m une.situation d onnde.

(7)

0 0 b 0 X Y Y asp 1 asp 2 bool b ImUE X Y and

3zE

bool Y asp

3

asp

3

asp

.3

SxE

bool bool bool TRUE (x) w2U-E (Y TRUE (and) TRUE (and ) TRUE

(x)

TRUE (Y TRUE(and(y,x) ax 2

1

theorem

Maintenant, supposons que les lignes suivantes sont disponibles:

. . . a boo1

....

boo1

....

TRu~(and(u,v) ) alors nous pouvons Qcrire

3.

Troisieme phase: le langage AUTOMATH.

ATJTCWIATH est plus gdndral que PAL; chaque texte en PAL est aussi valable en AUTOMATH. La diff e'rence entre les deux est qul en AUTOMATH on se sert du calcul lambda de Church, ou plut8t dlune extension de ce ca,lcul.

Si 6 est m e catggorie quelconque, une application qui donne, B tout x

du type

6,

une valeur f(x) du type q(x), est Qcrite oome

(8)

Une telle application peut &tre introduite comme une variable: p := [ x , ~

3..

q(x>

ou comme notion primitive

q : E PN

[xL]

+)*

EII outre, si llexpression

c

a le type [x,

51

dx)

,

et si llexpression A a le type

r ,

on a le droit de former

(4

c

Du reste, si Z a la forme Ex, t ] I' (oh I? est une expression qui contient x)

,

il est entendu que

(A)

I: peut gtre rempla~6 par 1 expression obtenue- par

substitution de A pour x d a m I', ..

IExernple. f := [x,~] plus (x,x)

[x&]

rdel

a :=

...

rdel

b : (a)f rdel

Ainsi b et plus (a,a) sont interchangeables (dgal par d6finition).

Les r&gles dl operation pour

[I

et

(

1

sont intuitivement claires. Pourtant

,

cette matiere nlest pas simple. En particulier, la substitution peut Btre

assez compliqude & cause des variables cachdes,

Dans les pages suivantes on trouve un exemple d l u n texte un peu plus long, Qcrit en AUTOMATH. On verra la possibilitd de donner des ddfinitions assez compliqudeset partagdes en Qtappes,

Sans doute, le lecteur remarquera que ce texte est difficile & dcrire et difficile B lire. C1est vrai, mais

-

dans le sens de langages de

programmaCion

-

on peut le comparer avec un langage de machine, et nous esp6rons qufon reusisse & construire des langages artificiels plus simples, lesquels peuvent 6tre dcrits et lus plus facilement, et lesquels peuvent &re traduits par un ordinateur en notre Illangage de machine".

(9)

0 0 b? 0 ksi ksi iks ' 8 ksi P P V ass I P P 0 b2 b3 b3

1. Q.uelaues fondaments de mathgmatiaues aui suffisent pour le theoreme sur limites.

bool bl TBUE rsi nonempty

1

iks Ithen 2

I

exists

1

lV

I I

i

ass 1 ! i i 1

I

then 13* 3Y.E bool LUE AXE2 bool ksi T~ (nonempty ) 3 Y E bool bool bool

A E

bool

(10)

r e a l r

i

I

r2 i

'

d i s t a m e / l e s s n u l l n a t s equence 1 Ikl

1

lk2 ;

1

/

~ l e s s n a t a 11

I

I

1

eps I ' i

I i i ~

m

I '

!

;

i

i

conv -9

-

2. Ddfinition de l i m i t e dtune suite.

impl(lesaurt(mo,m),~ less(distance((m)a,l),eps)) a l l ( n a t , [ s p a t

3

w b ) ) e x i s t s ( n a t , [t,nat

]

z ( t ) ) imp1 (less(nul1, eps) ,y)

a l l ( r e a 1 , [ t , r e a l ] q ( t ) ) e x i s t s ( r e & , [ t , r e a l ] l i m ( t ) ) &E. r e aJ. r e a l r e a l bool r e d

LYE

LYE2 n a t nat nat bool sequence r e a l r e a l nat rlat bool bool bool bool bool bool

(11)

3.1

0 3.2 XI

3.3

YA

3.4

if

4.1

0 4.2 c

4.3

c

4.4

delta 4-5 delta 4.6 ass

4.7

no

4

.

8

n

4.9

n

4.10

n

4.11

n 4.12 n

4.73

no

4.14

ass 4.15 delta

4.16

c

4.17

c XI YI C P 4 delta abbrev 1

3.

Un lemme introduit come axione,

real real

TRUE(1ess (null, yl ) ) ~~~~(less(distance(x1

,XI

) ,yl ) )

4.

Chaaue suite constants est conver~ente.

l

abbrev :=

!

then

-

.

-

-

i

a

.

.

-

_

i aa

.

.

-

-

b

.

.

-

-

h : = : = real [x,nat] c sequence real T~TJ~(less(nul1,delta))

L X E

,i( I it abbrev 1 nat nat ~~UE(less(distance((n)p,c) ,delta)) t m e

lemma( (n)~,delta,ass) abbrev 2

lessnat(no ,n) boo1

dP,c,delta,no,n) boo1

then 2 ( [u,TRUE(a)] abbrev 2, [U,TRUE(~) ]then) TRUE (aa) then 2([s,nat] TRUE(aa(s)), [s,natl b ( s ) )

TRUE( 4 p , c ,delta,no) then 13*(nat, [x,nat Jz(P, c ,delta, 1 ) ,I

,

h(u )

~R~E(y(p,c,delta) then 2( [x, abbrev 11 TRUE(Y(P, c,delta) ),

[x, abbrev

13

d(x) ) ~~~~(q(~,c,delta)) then 2( [s,real3rmm~(q(p,c,s)), [s,real] e(s)) m(lim(p,c)) then 13*(real,[~,real]lim(~,s),c,f) ~RUE(conv(~))

(12)

1. N.G. de Bruijn : AUTOMATH, a language f o r mathematics.

Report 68-WSX-05(1968) Technological University Eindhoven, The Netherlands.

2. N.G. de Bruijn : The mathematical language AUTOMATH, i t s usage, and some of i t s extensions.

To be published i n t h e Proceedings of t h e Symposium on Automatic Demonstration (IRIA, V e r s a i l l e s , Becem- ber 1968). Springer Lecture Notes Series.

Referenties

GERELATEERDE DOCUMENTEN

L’application éventuelle de la réforme préconisée par l’OCDE requérrait en tout cas la mise en place de conditions allégées et souples d’ouverture de droit

On aime tant le foot pour plusieurs raisons: c’est un langage universel, c’est une activité d’équipe, c’est un sport qui plaît aux filles et c’est une question de

L’idée, elle, est bien là: l’abonné aux chaussettes recevra trois paires pour 29 euros par trimestre. Les riches opteront pour cinq paires à 49,90

«Pour réussir, tu dois considérer ton stress comme un allié.» Le coach scolaire de Julien, 19 ans, en ter- minale, sait maintenant comment calmer la panique qui paralysait

J uchée au sommet d’une fontaine, la sculpture trônait à New York, en plein Manhattan: dans le hall des services culturels de l’ambassade de France.. Mais personne n’y

Mais allez donc dire à un esclave que désormais il n’appartient plus à son maître vous lui donnerez une liberté dont il ne voudra pas, parce que cette liberté, ce

d’ordre du Rassemblement et grâce à ses actions de mobilisa- tion, des foules immenses des Congolais sont descendues cou- rageusement dans les rues de Kinshasa et

Le modèle de pluviom ètre « Ministère des Colonies » que nous désignerons en abrégé par « Minicol » est celui adopté dans le vieux réseau pluviom étrique