• No results found

Formulas with indications for establishing definitional equivalence

N/A
N/A
Protected

Academic year: 2021

Share "Formulas with indications for establishing definitional equivalence"

Copied!
7
0
0

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

Hele tekst

(1)

Formulas with indications for establishing definitional

equivalence

Citation for published version (APA):

de Bruijn, N. G. (1970). Formulas with indications for establishing definitional equivalence. 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.

(2)

Technische Hogeschool Eindhoven. Onderafdeling der Wiskunde.

Notitie 15, d.d. 21 december 1970.

Formulas with indications for establishing definitional equivalence. by N.G. de Bruijn.

1. Introduction.

We consider a language in which a notion of definitional equivalence is defined by means of a number of rules. A pair of expressions in the language can be called

-

directly definitionally equivalent if the equivalence is established by

a single application of a single rule. In the general case we need a chain of intermediate expressions which are pairwise directly equivalent. An essential feature of the definitional equivalence is, that if a subexpression TI of an

I

expression C is definitionally equivalent to TI and if the expression C is

1 2' 2

obtained from C if we replace II by IT2, then C and C are definitionally

1 1 1 2

equivalent. We shall call this the subexpression rule; all further rules will be called local rules.

We shall be concerned with the development of a notational system for

indicating by what sequence of applications of local rules to what subexpressions an expression can be transformed into another one.

Before we start to state things formally, we shall try to express our in- tention by the following example. The expressions to be considered are of the following kind

p ( a ( f ( d , b ( x , u > , c ) , b ( g , w ( t ) ) ) ) ( 1

.

1 )

Now assume that b(x,u) can be directly transformed into r(u,x) by means

(1)

of local rule ( 1 ) . We write b (x,u) = r (u,x). Assume, furthermore ,that r(u,x)(?) e ( x )

,

that f (d,e(x),c)

(2)

q , b(g,w(t))(A1 z , and a(q,z)(z) u(y,z). Then the expression (1.1) is definitionally equivalent to p(v(y,z)). We shall now write all this in a single formula, viz.

From this line several formulas can be obtained,

if we select a single

entry from each chain ( the word "chain" refers to structures like

...

(I'

...

( P ) ,

-

,

.

) and drop like all the others. If we take the lef tmost member of each chain, we get formula (I.]), if we take the rightmost member of each chain, we get p(v(y,z)). Thus our formula (1.2) indicates by what sequence of rules (1.1) is transforned into p(v(y,z))

.

We shall say that (1.1) is a formula of the object language, and that

(3)

The object language, to be described in section 2, will be slightly different from the one used in (1.1). In (1.1) we have "terminal letters" (not followed by an opening parenthesis) like d,x,u,c,g,t. We shall now replace these by k(#), x(#), u(#),

...,

where

4

is the empty string. In order to cater for the needs of AUTOMATH (see [ I ] ) we admit the possibility of having still more

"fake strings".

A

-

fake string is a symbol that can occur after an opening parenthesis and nowhere else. It is not, and does not stand for, a non-empty sequence of subexpressionsseparated by commas.

A

further alteration is that we do not want to have a single expression between parentheses. If it occurs, we put a symbol $6 and a comma in front of it. Example: instead of f(g(x)) we write f ( # , g ( @ , x ( @ ) ) ) .

These empty strings complicate our formulas, of course, but they keep us closer to the coding system (see

CII),

and they simplify our discussion: Now we are no longer troubled by the difference between an expression and the

string consisting of just that expression, nor by the difference between an identifier and an expression consisting of just that identifier.

In order to keep parentheses and commas free for ordinary use, we shall put liccle roofs over the separarion marks of che language (e.g. insteaa of f(Q,gC@',x(@>!> we write f

11

4

'; g

11 4

x

7

4

T

T

7 .

2. The object language.

We have three sets of symbols: "identifiers", "fake string symbols" and

11

separation marks". There are only three separation marks: the comma, the opening parenthesis and the closing parenthesis. We now form formulas, described in "Backus1 normal form1' as follows:

Note that a formula ca.nnut be both a string and an expression.

3. The reference language.

In addition to the symbols of the object language, we have a set of local rule numbers. We now construct <refformula>, <refstring>, <refexpression>

-

(abbreviations for "formula in the reference language", etc.) as follows: <ref formul a> : := <ref string>

I

<refexpression>

<ref string; : := <fakestringsymbol>

I

<ref string> <refexpression> L

<refexpressim> : := <identi£ ier> ( <refstring>

7

I

A

< r e f expression> <localrulenumber> <identi£ ier> ( <refs tring>

7

Again, note that a refformula cannot be both a refstring and a refexpression.

(4)

4.

Our metalanguage.

In our discussion we shall often talk about formulas etc. without specifying them explicitly. For example, we want to say "let

F

denote a formula", or "let F denote the formula p

T

d

7

".

Now F is a "metalingual symbol".

We want to he able to make a difference between the symbol F and the formula denoted by F. In the latter case we shall underline F. This makes it possible to write concatenation in the form of actual concatenation. Example: if

F

denotes the formula p

1

6

7

,

and if G denotes q @

7

,

then

6

? F

2

is the formula

4

/:

p

T 4

7

;

q

7

4

7 .

We shall use the following standard metalingual symbols as variables, (possibly used w i t h index)

s for strings, e for expressions, S for refstrings,

E for refexpressions, f for fake string symbols,

i

for identifiers,

1 for local rule numbers.

We can now say that a refformula has one of the following four forms, according to sec.tion 3:

5. The operators leftform and rightf~rin.

The operators leftform and rightform are nappings of the set of all refformulas (of the reference language) into the set of formulas (of the object language).

We shall define them recursively by saying what they do to each of the forms ( 4 . 1 ) - ( 4 . 4 ) . The following table describes the recursion:

(5)

refformula lef tform leftform (

-

S ) leftform (

-

E ) leftform ( - E ) rightf orm c. rightform .( - S )

,

rightform (

-

E )

i

[

rightform ( S )

5

- -

i

{

rightform ( S )

3

- -

Note that as a consequence of our conventions of section 4 , we underline

in order to pass from metalanguage to language. E.g., leftform (

-

S ) is a name for the expression that is the leftform of the expression named S; it is not the expression itself. If we want to have the expression itself as a component of a concatenation in the object language, we have to underline it.

It is easy to verify by recursive reasoning that leftform and rightform map refstrings into strings, and refexpressions into expressions.

6. Definitional equivalence.

As we explained in the introduction, a refformula F of the reference language will be used to express how definitional equivalence of its leftform and its rightform can be established by means of successive application of the

substitution rule and the local rules. Every local rule symbol in

F

occurs between an - E and an - i S -

7

(see ( 4 . 4 ) ) , and the thing that matters is, that

A

the rightform of -

E

and the leftform of

-

I

7

S -- ) are indeed directly definition- ally equivalent according to local rule 1. If this condition is satisfied for every local rule symbol in F

-

,

then

-

F will be called suitable.

This def1ni.t:-on o r suitability cat bc given recursively by splitting according t o ( 4 . 1 ) - ( 4 . 4 ) . Concerning ( 4 . 1 . ) , we agree that

-

f is suitable. Concerning case ( 4 . 2 ) , we agree that if both - S and - E are suitable, then - S

E

is suitable. Concerning c.ase ( 4 . 3 ) , we al;ree that if - S is suitable, then

i S

3

is scitable. Concerning case ( 4 . 4 ) , we agree that if

-

-

(i)

- E is suitable, (ii) S is suitable, -

(iii) the righcfcrm of

-

E is directly definitionally equivalent to the leftform of i ( S

3

according to local rule 1

- -

- A

then - - E 1 i -. S ) is suitable.

(6)

Owing to the power of the subexpression rule (see section 1) we can say: If F is a refformula and if F is suitable, then the leftform and the rightform of F are definitionally equivalent.

7. Procedure for testing definitional equivalence.

We shall describe a procedure that does the following. It investigates whether a given refformula is suitable, and,.if so, it produces leftform and rightform of that refformula.

The procedure call

suitable ( - F

,

L

,

R

,

failure ) (7.1)

can be written in any program where L and R are declared as formula, under the assumption that in this program - F is a refformula, failure is a label, and that the procedure statement of "suitable" is available in the program. The effect of (7.1) is the following: If F is suitable, then - L and R get as value the leftform of -

F and the rightform of

F ,

respectively; if - F is not suitable, however, then the only effect is a jump to the label failure.

Cur procedure "suitable" is written in a language that differs from ALGOL 60 in a few respects.

(i) We use refformula, formula, fakestringsymbol, indentifier, localrulenumber as types (the use of label is standard in ALGOL 60).

(ii) A

clause like

if F has the form i

?

S

1)

then P;

- ---

- -

-

(7.2)

is executed as follows. If the expression represented by the variable F does not have the form i S

1)

then nothing happens. If it does have that

- -

form, then the variables i and S get the values they have in F, and, after

-

that, P is executed. Example: if the procedure call was

suitable(a

7

4

7

b

7

@ x

I

@

7 7

,

L

,

R , label ) ; then (7.2) has the following effect

i : = a ;

S : = $ y b T # ; x I @ 7 f ; P;

(iii) The program contains a boolean expression defeq ( I

,

R~

,

i

i

~ ~ ' j

) .

n n

It means "R is directfi defini~onally equivalent to ( Lt ) according

1

(7)

procedure s u i t a b l e (F, L, R, l a b ) ; v a l u e F, l a b ; r e f f o r m u l a F; formula L, R; l a b e l l a b ; begin r e f f o r m u l a S , E; f o r n u l a L 1 , R 1 , L2, R 2 ; fakestringsymbol f ; i d e n t i f i e r i ; localrulenumber 1; i f F h a s t h e form f then

-

---

begin L :=

-

f ; R :=

f;

~ ~end end; t

-

o i f F has t h e form i

?

S

3

then

-

----

-

-

begin s u i t a b l e (S,

5 ,

R I , l a b ) ; L :=

-

i

(

L l

j

; R :=

-

i Rl j ; g o t o end

-

-

end ;

-

i f F h a s t h e form S E t h e n

-

-

_

_ -

begin s u i t a b l e ( S , L 1 , R1

,

l a b ) ; s u i t a b l e (E, L2, R2, l a b ) ; A L := Ll

,

L2 ; R := RI

,

R2 ; g o t o end

-

-

-

-

end ;

-

i f F has t h e form E 1 i

C

S

3

then

-

-

-

-

-

-

-

begin s u i t a b l e (E, Ll

,

Rl

,

l a; s u i t a b l e (S, Lp, R2, l a b ) ; i f l d e f e q ( 1

,

R I

,

i

'(

L2

f

) then goto l a b ;

-

- - -

-

end ;

-

-- -. -. end: end s u i t a b l e ;

-

Reference

[ l ] N.G. de B r u i j n , Coding system for AUT-QE, Dept. Math., Technological U n i v e r s i t y ,

Referenties

GERELATEERDE DOCUMENTEN

Results from the multilinear regression indicate that there is a positive linear relationship between house prices and the distance between properties and the nearest highway

examined the effect of message framing (gain vs. loss) and imagery (pleasant vs. unpleasant) on emotions and donation intention of an environmental charity cause.. The

Process mining can enhance the implementation of Robotic Process Automation by increasing process understanding, checking process quality, evaluating the impact of implementation,

ECONOMIC GOVERNANCE BANKING UNION ECONOMIC GOVERNANCE BANKING UNION ECONOMIC GOVERNANCE BANKING UNION ECONOMIC GOVERNANCE BANKING UNION ECONOMIC GOVERNANCE BANKING UNION

The package is primarily intended for use with the aeb mobile package, for format- ting document for the smartphone, but I’ve since developed other applications of a package that

The reason for undertaking this study was to determine the customer experience levels of the students at the administrative level on the different campuses and modes

important to create the partnership: the EU’s normative and market power to diffuse the.. regulations, and Japan’s incentive to partner with

Or- bits of familiar structures such as (N, +, ·, 0, 1) , the field of rational numbers, the Random Graph, the free Abelian group of countably many generators, and any vector