On the use of bound variables in Automath
Citation for published version (APA):de Bruijn, N. G. (1970). On the use of bound variables in Automath. Technische Hogeschool Eindhoven.
Document status and date: Published: 01/01/1970
Document Version:
Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)
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.
Technische Hogeschool, Eindhoven. O n d e r a f d e l i n g d e r Wiskunde.
N o t i t i e 9
,
d.d. 26 november 1970.On t h e u s e of bound v a r i a b l e s i n AUTOMATH. by N.G. d e B r u i j n .
The b a s i c s y n t a x of AUTOMATH was d e s c r i b e d i n a l i t t l e n o t e [ 2 1 . The s y n t a x of i t s e x t e n s i o n AUT-QE was n o t d e s c r i b e d t h e r e , b u t i t can be o b t a i n e d by j u s t r e p l a c i n g t h e r u l e
< c a t e g o r y > ::=
-
t y p eI
< e x p r e s s i o n > by< c a t e g o r y > : := < e x p r e s s i o n >
1
t y p e/
C <dummy v a r i a b l e > , < e x p r e s s i o n >1
< c a t e g o r y > We s h a l l now e x p l a i n how t o d i s t i n g u i s h f r e e and bound occurences ofdummy v a r i a b l e s , To f a c i l i t a t e o u r d i s c u s s i o n , we d e f i n e
<symbol> : := < c o n s t a n t >
I
< v a r i a b l e >I
<dummy v a r i a b l e >1
(1
)1
,I
C
1
11
I
1
3
and we n o t e t h a t each e x p r e s s i o n can be d e s c r i b e d a s a s t r i n g , where each e n t r y i n t h e s t r i n g i s a copy of one of t h e symbols. We speak of "copy of x" r a t h e r t h a n "x" i n o r d e r t o b e a b l e t o d i s t i n g u i s h between d i f f e r e n t o c c u r e n c e s . We s h a l l a l s o r e f e r t o t h e s e c o p i e s a s o c c u r r e n c e s of t h a t dummy i n t h a t e x p r e s s i o n .
Moreover we s h a l l u s e c a p i t a l Greek l e t t e r s ( l i k e C , A ,
...
) a sm e t a l i n g u a l symbols. They s t a n d f o r e x p r e s s i o n s we do n o t wish t o w r i t e down themselves.
An occurence of a dummy v a r i a b l e i s c a l l e d b i n d i n g i n t h e e x p r e s s i o n C ,
i f i t immediately f o l l o w s a copy of
[.
To e a c h e x p r e s s i o n C , and t o each b i n d i n g occurence of any dummy, we s h a l l d e f i n e a s e t of occurences which w i l l be c a l l e d bound ( i n C) by t h a t b i n d i n g occurence. T h i s w i l l be done i n such a way t h a t each copy of a d m y i s bound by a t most one b i n d i n g copy of t h a t dummy; i f i t i s n o t b i n d i n g and n o t bound by any b i n d i n g copy, i t w i l l be c a l l e d
-
f r e e i n C.To s t a r t w i t h an example (where we u s e l e t t e r s s , t f o r dummies, x , y f o r v a r i a b l e s , a , b f o r c o n s t a n t s ) :
C S ,
a ( s , t ) l CCs,tl a ( t , Cs, b ( s , x , y ) l s , C t , y l s ) ) a ( t )i s an e x p r e s s i o n . There a r e seven occurences of s ( t o b e c a l l e d t h e f i r s t ,
...,
s e v e n t h , r e a d i n g from l e f t t o r i g h t ) . The f i r s t , t h i r d and f o u r t h a r e b i n d i n g . The f i r s t s b i n d s n o t h i n g , t h e t h i r d s b i n d s t h e f i f t h and t h e s e v e n t h , t h e f o u r t h s b i n d s t h e s i x t h . Only t h e second s i s f r e e .As f a r a s t i s concerned: t h e f i r s t t h r e e a r e f r e e , t h e f o u r t h i s b i n d i n g b u t b i n d s n o t h i n g , t h e f i f t h i s f r e e .
We shall define the relation between binding and bound dummies by recursion, taking the rule
as a basis. This rule gives
6
ways to make an expression, and for each way we have to describe the relation.If the expression is ofrhe form<constant> or <variable>, we have nothing to define. If C is of the form <constant> (<expression string>) we note that eacht binding occurrence of a dummy is situated in one of the expressions
C 1 ,
...
,Z this expression string consists of, and we agree that such ank
occurrence binds in C exactly those copies of dummies it was already binding in the Ci it belonged to.
A similar arrangement is made for the case {<expression>) <expression>. Here we have just two constituents C
1 ' C2, which form {C 1 } C 2 ' A binding copy
of a dummy in C binds just the copies of dummies it did bind already in C 1 , 1
and a binding copy of a dummy in C2 binds just the copies of dummies it did bind already in C
2 '
If the expression is of the form <dummy variable>, we consider that single occurrence as free.
If the expression C is of the form [<dummy variable>
,
<expression>l <expression>, we agree on thefollow in^.
Write it as [x, C 1 l C2. The first x is binding, and we agree that in C it binds all occurrences of x in C that were free in C and no others. For the
2 2
'
rest, a binding dummy in C binds (in
2)
just those occurrences of dummies 1it did bind already in C and a binding dummy in C binds (in C) just those
1 2
occurrences of dummies it did bind already in C 2 '
The above definition of binding is
-
not the one of the report C11, but there is no objection to change the system ofC11
into the present one. With the present definition it is easier to handle expressions: we are not so often under theobligation to change names for dummy variables.
References.
1 .
N.G.
de Bruijn, Automath, a language for mathematics. THE-report 68-WSK-05( 1 9 6 8 ) Technological University, Eindhoven.
2. The syntax of PAL and AUTOMATH, Techn. Univ. Eindhoven, Internal Report, Notitie