• Nenhum resultado encontrado

IO vs OI in Higher-Order Recursion Schemes

N/A
N/A
Protected

Academic year: 2017

Share "IO vs OI in Higher-Order Recursion Schemes"

Copied!
8
0
0

Texto

(1)

D. Miller and Z. Ésik (Eds.): Fixed Points in Computer Science 2012 (FICS 2012)

EPTCS 77, 2012, pp. 23–30, doi:10.4204/EPTCS.77.4

c

A. Haddad Axel Haddad

LIAFA (Université Paris 7 & CNRS) & LIGM (Université Paris Est & CNRS)

We propose a study of the modes of derivation of higher-order recursion schemes, proving that value trees obtained from schemes using innermost-outermost derivations (IO) are the same as those obtained using unrestricted derivations.

Given that higher-order recursion schemes can be used as a model of functional programs, innermost-outermost derivations policy represents a theoretical view point of call by value evaluation strategy.

1

Introduction

Recursion schemes have been first considered as a model of computation, representing the syntactical aspect of a recursive program [15, 2, 3, 4] . At first, (order-1) schemes were modelling simple recursive programs whose functions only take values as input (and not functions). Since, higher-order versions of recursion schemes [11, 5, 6, 7, 8, 9] have been studied.

More recently, recursion schemes were studied as generators of infinite ranked trees and the focus was on deciding logical properties of those trees [12, 8, 10, 1, 13, 14].

As for programming languages, the question of the evaluation policy has been widely studied. Indeed, different policies results in the different evaluation [8, 9, 7]. There are two main evaluations policy for schemes: outermost-innermost derivations (OI) and inner-outermost IO derivations, respectively corresponding to call by need and call by value in programming languages.

Standardization theorem for the lambda-calculus shows that for any scheme, outermost-innermost derivations (OI) lead to the same tree as unrestricted derivation. However, this is not the case for IO derivations. In this paper we prove that the situation is different for schemes. Indeed, we establish that the trees produced using schemes with IO policy are the same as those produced using schemes with OI policy. For a given a scheme of ordern, we can use a simplified continuation passing style transformation, to get a new scheme of ordern+1 in which IO derivations will be the same as OI derivations in the initial scheme (Section 3). Conversely, in order to turn a scheme into another one in which unrestricted derivations lead to the same tree as IO derivations in the initial scheme, we adapt Kobayashi’s [13] recent results on HORS model-checking, to compute some key properties over terms (Section 4.1). Then we embed these properties into a scheme turning it into a self-correcting scheme of the same order of the initial scheme, in which OI and IO derivations produce the same tree (Section 4.2).

2

Preliminaries

(2)

of order 1 and arity 3,(o→o)→(o→o), that can also be written(o→o)→o→ois a type of order 2. Letτℓτbe a shortcut forτ...τ

| {z } ℓtimes

→τ′.

LetΓbe a finite set of symbols such that to each symbol is associated a type. LetΓτ denote the set of

symbols of typeτ. For all typeτ, we define the set oftermsof typeTτ(Γ)as the smallest set satisfying: Γτ (Γ)andS

τ′{t s|t∈Tτ ′→τ

),sTτ′(Γ)} ⊆(Γ). If a termtis inTτ(Γ), we say thatt

has typeτ. We shall writeT(Γ)as the set of terms of any type, andt:τ ifthas typeτ. The arity of a

termt,arity(t), is the arity of its type. Remark that any termtcan be uniquely written ast=αt1...tk with α∈Γ. We say thatα is theheadof the termt. For instance, letΓ={F:(oo)oo, G:o

o→o,H:(o→o), a:o}:F H andGaare terms of typeoo;F(Ga) (H (H a))is a term of type

o;Fais not a term sinceFis expecting a first argument of typeoowhileahas typeo.

Lett:τ,t′:τ′be two terms,x:τ′be a symbol of typeτ′, then we writet[x7→t′]:τ the term obtained by substituting all occurences ofx byt′ in the termt. Aτ-contextis a termC[•τ]T(Γ⊎ {•τ :τ})

containing exactly one occurrence of•τ; it can be seen as an application turning a term into another, such

that for allt:τ,C[t] =C[•τ][τ7→t]. In general we will only talk about ground type context whereτ =o

and we will omit to specify the type when it is clear. For instance, ifC[•] =F• (H(H a))andt′=Ga

thenC[t′] =F(Ga) (H(Ha)).

LetΣbe a set of symbols of order at most 1 (i.e. each symbols has typeooro...o) and:o

be a fresh symbol. Atreet overΣ⊎ ⊥is a mappingt:domt Σ⊎ ⊥, wheredomt is a prefix-closed

subset of{1, ...,m}∗such that ifu∈domt andt(u) =athen{j|u j∈domt}={1, ...,arity(a)}. Note that there is a direct bijection between ground terms ofTo(Σ⊎ ⊥)and finite trees . Hence we will freely

allow ourselves to treat ground terms overΣ⊎ ⊥as trees. We define the partial orderover trees as

the smallest relation satisfying⊥ ⊑tandt⊑t for any treet, anda t1...tk⊑a t1′...tk′ iffti⊑ti′. Given a

(possibly infinite) sequence of treest0,t1,t2, ...such thatti⊑ti+1for alli, one can prove that the set of all tihas a supremum that is called thelimit treeof the sequence.

Ahigher order recursion scheme (HORS)G=hV,Σ,N,R,Siis a tuple such that: V is a finite set of typed symbols called variables; Σis a finite set of typed symbols of order at most 1, called

the set of terminals; N is a finite set of typed symbols called set of non-terminals; R is a set of rewrite rules, one per non terminal F :τ1→...→τk →o∈N , of the form F x1 ...xk → e with

e:o∈T(ΣN ⊎ {x1, ...,xk});SN is theinitial non-terminal.

We define therewriting relation→G∈ T(Σ⊎N )2(or just→whenGis clear) ast→Gt′iff there

exists a contextC[•], a rewrite ruleF x1...xk→e, and a termF t1...tk:osuch thatt=C[F t1...tk]and

t′=C[e[x17→t1]...[xk7→tk]]. We callF t1...tk:oaredex. Finally we define→

Gas the reflexive and transitive

closure of→G.

We define inductively the⊥-transformation(·)⊥ : To(N Σ)To(Σ⊎ {⊥:o}):(F t1...t k)⊥ = ⊥ ∀F∈N and(a t1 ...tk)= a t1...t

k for alla∈Σ. We define a derivation, as a possibly infinite

sequence of terms linked by the rewrite relation. Lett0=S→Gt1→Gt2→G...be a derivation, then one

can check that(t0)⊥⊑(t1)⊥⊑(t2)⊥⊑..., hence it admits a limit. One can prove that the set of all such

limit trees has a greatest element that we denotekGkand refer to as thevalue treeofG. Note thatkGkis the supremum of{t⊥ |S→∗t}. Given a termt:o, we denote byG

t the scheme obtained by transforming

Gsuch that it starts derivations with the termt, formally,Gt =hV,Σ,N ⊎ {S′},R⊎ {S′→t},S′i. One

can prove that ift→t′thenkGtk=kGt′k.

Example. LetG=hV,Σ,N ,R,Sibe the scheme such that:V ={x:o:oo:(oo)oo},

(3)

o)→o→o,I,J,K:o→o,S:o}, andRcontains the following rewrite rules:

F ψ φ x → ψ φ x I x → x Hφ x → a(J x) (K x) (φ x)

J x → b(J x) (J x) K x K(K x) S F H Ic

Here is an example of finite derivation:

S → F H Ic → H I c → a(Jc) (Kc) (Ic)

→ a(Jc) (K(Kc)) (Ic) → a(Jc) (K(K(Kc))) (Ic)

If one extends it by always rewriting a redex of headK, its limit is the treea⊥ ⊥ ⊥, but this is not the

value tree ofG. The value treekGkis depicted below.

...

b

...

b

...

b

...

b

...

b

...

b

...

a

b

...

⊥ c

Evaluation Policies

We now put constraints on the derivations we allow. If there are no constraints, then we say that the derivations are unrestricted and we let AccG={t:o |St} be the set of accessible terms using

unrestricted derivations. Given a rewritingt→t′ such thatt=C[F s1...sk]andt′=C[e[∀j xj7→sj]]with

F x1...xk→e∈R.

• We say thatt→t′ is anoutermost-innermost(OI) rewriting (writtent→OIt′) there is no redex

containing the occurrence of•as a subterm ofC[•].

• We say thatt→t′is aninnermost-outermost(IO) rewriting (writtent→IOt′), if for all jthere is

no redex as a subterm ofsj.

Let AccG

OI={t:o|S→OI∗ t}be the set of accessible terms using OI derivations and AccGIO={t:

o|S→∗

IOt}be the set of accessible terms using IO derivations. There exists a supremum of AccGOI (resp.

AccG

IO) which is the maximum of the limit trees ofOI derivations(resp. IOderivations). We write it kGkOI(resp.kGkIO). For all recursive schemeG,(AccG)⊥= (AccGOI)⊥, in particularkGkOI=kGk. But kGkIO⊑ kGkand in general, the equality does not hold (see the example is the next section).

3

From OI to IO

Fix a recursion schemeG=hV,Σ,N,R,Si. Our goal is to define another schemeG=hV,Σ,N ,R,Ii such thatkGkIO =kGk. The idea is to add an extra argument (∆) to each non terminal, that will be

required to rewrite it (hence the types are changed). We feed this argument to the outermost non terminal, and duplicate it to subterms only if the head of the term is a terminal. Hence all derivations will be IO-derivations.

We define the(·)transformationover types byo=o→o, andτ1→τ2=τ1→τ2. In particular, if

(4)

For allx:τ∈V we definex:τas a fresh variable. Letarmaxbe the maximum arity of terminals, we defineη1, ...,ηaritymax:o→oandδ:oas fresh variables, and we letV ={x:τ|x∈V}⊎{η1, ...,ηarmax}⊎

{δ:o}. Note thatδ is the only variable of typeo. For alla:τ∈Σdefinea:τas a freshnon-terminaland

for allF:τ∈N defineF:τ as a fresh non-terminal. LetN ={a:τ|aΣ} ⊎ {F:τ |FN} ⊎ {∆:

o,I:o}. Note thatIand∆are the only symbols inN of typeo.

Lett:τ∈T(V ΣN), we define inductively the termt:τ T(V N): Ift=xV (resp. t=a∈Σ,t=FN ), we lett=xV (resp.t=aΣ,t=FN ), ift=t1t2:τthent=t1t2.

Let F x1 ...xk →e be a rewrite rule ofR. We define the (valid) rule F x1...xk δ → e ∆inR.

Leta∈Σof arityk, we define the ruleaη1...ηkδ a(η1)...(ηk)inR. We also add the rule I → S∆toR. Finally letG=hV,Σ,N ,R,Ii.

Example. LetG=hV,Σ,N,R,Sibe the order-1 recursion scheme withΣ={a,c:o},N ={S:o,F:

o→o→o,H:o→o},V ={x,y:o}, and the following rewrite rules:

S → F(Ha)c F x y y H x H(H x)

Then we have kGkOI =c while kGkIO =⊥ (indeed, the only IO derivation is the following S →

F (Ha) c F (H (H a)) c F (H (H (H a))) c ...). The order-2 recursion scheme G= hV,Σ,N ,R,Iiis given byN ={I,∆:o,S,a,c:oo,F:(oo)(oo)oo,H:(o

o)→o→o},V ={δ :o,x,y:oo}and the following rewrite rules:

I → S∆ Sδ F(H a)cF x yδ y

H xδ → H(H x)∆ cδ c aδ a

Note that in the termF(Ha)c∆, the subtermHais no longer a redex since it lacks its last argument,

hence it cannot be rewritten, then the only IO derivation, which is the only unrestricted derivation is I→S∆F(Ha)c∆c∆c. ThereforekG¯kIO=kG¯k=c=kGk.

Lemma 1. Any derivation of G is in fact an OIandan IO derivation. Hence thatkGkIO=kGk.

Proof (Sketch). The main idea is that the only redexes will be those that have∆as last argument of the

head non-terminal. The scheme is constructed so that∆remains only on the outermost non-terminals, that

is why any derivation is an OI derivation. Furthermore, we have that ift=F t1...tk∆is a redex, then none

of theticontains∆, therefore they do not contain any redex, hencetis an innermost redex.

Note thatOIderivations inGacts likeOIderivations inG, hencekGk=kGk.

Theorem 2(OI vs IO). Let G be an order-n scheme. Then one can construct an order-(n+1)scheme G

such thatkGk=kGkIO.

4

From IO to OI

The goal of this section is to transform the schemeGinto a schemeG′′such thatkG′′k=kGkIO. The

main difference between IO and OI derivations is that some redex would lead to⊥in IO derivation

while OI derivations could be more productive. For example takeF:o→osuch thatF x→c, andH:o such thatH→a H, witha:o→o andc:obeing terminal symbols. The termF H has a uniqueOI derivation,F H→OIc, it is finite and it leads to the value tree assiocated. On the other hand, the (unique)

IO derivation is the followingF H→F(a H)→F (a(a H))→...which leads to the tree⊥.

(5)

4.1 The Type System

Given a termt:τ∈T(ΣN), we define the two following properties ont:P(t) =“The termthas typeoand its associated IO valuation tree is⊥”, andP∞(t) =“the termthas not necessarily ground type,

it contains a redexrsuch that any IO derivation fromrproducing it’s IO valuation tree is infinite”. Note thatP∞(t)is equivalent to “the termtcontains a redexrsuch thatkGrkIOis either infinite or contains⊥”.

In this section we describe a type system, inspired from the work of Kobayashi [13], that characterises if a term verifies these properties.

Let Qbe the set{q⊥,q∞}. Given a typeτ, we define inductively the sets(τ)atom and(τ)∧called

respectively set of atomic mappings and set of conjunctive mappings: (o)atom =Q , (o)={V

{θ1, ...,θi} | θ1, ...,θi∈Q} , (τ1→τ2)atom ={q∞} ⊎ {(τ1)∧→(τ2)atom}

(τ1→τ2)∧={V{θ1, ...,θi} |θ1, ...,θi∈(τ1→τ2)atom}.

We will usually use the letterθto represents atomic mappings, and the letterσto represent conjunctive

mappings. Given a conjunctive mappingσ (resp. an atomic mappingθ) and a typeτ, we writeσ ::τ

(resp. θ::aτ) the relationσ∈(τ)∧(resp.θ∈(τ)atom). For the sake of simplicity, we identify the atomic

mappingθ with the conjunctive mappingV{θ}.

Given a termtand a conjunctive mappingσ, we define a judgment as a tupleΘtσ, pronounce

“from the environmentΘ, one can prove thattmatches the conjunctive mappingσ”, where the environment Θis a partial mapping fromV N to conjunctive mapping. Given an environmentΘ,αV N and a conjunctive mappingσ, we define the environmentΘ′=Θσ asDom(Θ′) =Dom(Θ)∪ {α}and Θ′(α) =σ ifα 6∈Dom(Θ),Θ′(α) =σΘ(α)otherwise, andΘ′(β) =Θ(β)ifβ 6=α.

We define the following judgement rules:

Θtθ1 ... Θtθn

ΘtV{θ1, ...,θn} (Set) ΘV{θ1, ...,θn} ⊢αθi(At)(for all i)

Θaσ1...σi≤arity(a)q

) (for aΣandjσj=q)

Θt1σ θ Θt2σ

Θt1t2θ (App) Θtq∞→q∞

(q∞→q∞I) (if t:τ1→τ2)

Θt1q

Θt1t2q

(q∞I)

Remark that there is no rules that directly involvesq⊥, but it does not mean that no term matchesq⊥,

since it can appear inΘ. Rules like(At)or(App)may be used to state that a term matchesq.

We say that(G,t)matches the conjunctive mappingσwritten⊢(G,t)⊲σif there exists an environment

Θ, called a witness environment of(G,t)σ, such that (1)Dom(Θ) =N , (2)F:τN Θ(F)::τ,

(3) ifF x1...xk→e∈RandΘ⊢F⊲σ1→...→σi≤k→qthen either there exists jsuch thatq∞∈σj, or

i=kandΘ,x1σ1, ...,xkσkeq, (4)Θtσ.

The following two results state that this type system matches the propertiesP andP∞and

further-more we can construct a universal environment,Θ⋆, that can correctly judge any term.

Theorem 3(Soundness and Completeness). Let G be an HORS, and t be term (of any type),⊢(G,t)⊲q∞

(resp.⊢(G,t)⊲q⊥) if and only ifP∞(t)(resp. P(t)) holds.

Proposition 4(Universal Witness). There exists an environmentΘ⋆such that for all term t, the judgment

(6)

Proof (Sketch). To compute Θ⋆, we start with an environment Θ0 satisfying Properties (1) and (2)

(Dom(Θ0) =N andF:τ N Θ0(F)::τ) that is able to judge any termt:τ with any conjunctive

mappingσ::τ.

Then letF be the mapping from the set of environments to itself, such that for allF :τ1...

τk→o∈N , ifF x1...xk→e∈Rthen,

F(Θ)(F) ={σ1...σkq|qQ∧ ∀iσi::τiΘ,x1σ1, ...,xkσke:q}

∪ {σ1→...→σi≤k→q∞| ∧ ∀iσi::τi∧ ∃j q∞∈σj}

∪ {σ1→...→σk→q⊥| ∀iσi::τi∧ ∃j q∞∈σj}.

We iterateF until we reach a fixpoint. The environment we get isΘ⋆, it verifies properties (1) (2)

and (3). Furthermore we can show that this is the maximum of all environment satisfying these properties, i.e. if⊢(G,t)⊲σ thenΘ⋆tσ.

4.2 Self-Correcting Scheme

For all termt:τ∈T(ΣN ), we defineJtK(τ)∧, called the semantics oft, as the conjunction of all atomic mappingsθ such thatΘ⋆tθ (recall thatΘ⋆is the environment of Proposition 4). In particular

P(t)(resp.P(t)) holds if and only ifqJtK(resp.qJtK). Given two termst1:τ2τ andt2:τ2 the only rules we can apply to judgeΘ⋆t1t2θ are(App),(qqI)and(qI). We see thatθonly

depends on which atomic mappings are matched byt1andt2. In other wordsJt1t2Konly depends onJt1K andJt2K, we writeJt1K Jt2K=Jt1t2K.

In this section, given a schemeG=hV,Σ,N ,R,Si, we transform it intoG=hV′,Σ,N ′,R′,Si which is basically the same scheme except that while it is producing an IO derivation, it evaluatesJt′Kfor any subtermt′ of the current term and labelt′ withJt′K. Note that ift→IOt′, thenJtK=Jt′K. Since we

cannot syntactically label terms, we will label all symbols by the semantics of their arguments,e.g.if we want to labelF t1...tk, we will labelFwith thek-tuple(Jt1K, ...,JtkK).

A problem may appear if some of the arguments are not fully applied, for example imagine we want to labelF H withH:o→o. We will labelF withJHK, but sinceHhas no argument we do not know how to label it. The problem is that we cannot wait to label it because once a non-terminal is created, the derivation does not deal explicitly with it. The solution is to create one copy ofHper possible semantics for its argument (here there are four of them: V

{},V{q⊥},V{q∞},V{q,q∞}). This means thatFJHK

would not have the same type asF: F has type(o→o)→o, but FJGK will have type(o→o)4→o. Hence,F Hwill be labelled the following way:FJHKHV{}HV{q⊥}HV{q∞}HV{q⊥,q∞}. Note that even ifF has 4 arguments, it only has to be labelled with one semantics since all four arguments represent different labelling of the same term. We now formalize these notions.

Let us generalize the notion of semantics to deals with terms containing some variables. Given an environment on the variablesΘV such thatDom(ΘV)V and ifx:τ thenΘV(x)::τ, and given a term

t:τ∈T(ΣN Dom(ΘV)), we defineJtKΘV ∈(τ)∧, as the conjunction of all atomic mappingsθsuch thatΘ⋆,ΘV tθ. Given two termst1:τ2τ andt2:τ2we still have thatJt1t2KΘV only depends on Jt1KΘV andJt2KΘV.

To a typeτ =τ1→...→τk→owe associate the integer⌈τ⌉=Card({(σ1, ...,σk)| ∀iσi∈(τi)∧}) and a complete ordering of{(σ1, ...,σk)| ∀iσi∈(τi)∧}denoted~σ1τ,~σ2τ, ... ,~σ⌈τ⌉τ . We define inductively

the typeτ+= (τ1+)⌈τ1⌉...(τ+

(7)

To a non terminal F :τ1→ ...→τk →o (resp. a variable x :τ1 →...→τk →o) and a tuple

σ1::τ1, ...,σk ::τk, we associate the non-terminalFσ1,...,σk :τ1⌈τ1⌉ →...→ τk⌈τk⌉→ o∈N ′ (resp. a

variablexσ1,...,σk :τ⌈τ1⌉

1 →...→τk⌈τk⌉→o∈V′).

Given a termt:τ =τ1→...→τk→o∈T(V ⊎Σ⊎N)and an environment on the variablesΘV such that Dom(ΘV)V contains all variables int, we define inductively the term t+σ1,...,σk

ΘV :τ+∈ T(V′Σ′N′)for allσ1::τ1, ...,σk::τk. Ift=FN (resp.t=xV),t+σ1,...,σk

ΘV =Fσ1,...,σk(resp. t+σ1,...,σk

ΘV =xσ1,...,σk), ift=a∈Σ,t

+σ1,...,σk

ΘV =a. Finally consider the case wheret=t1t2witht1:τ′→τ and t2 :τ′. Letσ =Jt2KΘV. Remark that t1+σ,σ1,...,σk

ΘV :(τ′+)⌈τ ′

→τ+. We define (t1 t2)+σ1,...,σk

ΘV =

t1+σ,σ1,...,σk

ΘV t2

+~στ′

1 ΘV ...t2

+~στ′

⌈τ′⌉

ΘV . Note that since this transformation is only duplicating and anotating, given a termt+σ1,...,σkwe can uniquely find the unique termtassociated to it.

LetF:τ1→...→τk→o∈N ,σ1::τ1, ...,σk::τk, andΘV =x1⊲σ1, ...,xk⊲σk. IfF x1...xk → e∈R,

we define in R′ the rule Fσ1,...,σk x+~σ

τ1 1

1 ... x

+~σττ1

1⌉ 1 ... x

+~στk 1

k ... x

+~στk

⌈τk

k → e

+

ΘV. Finally, recall that G′=hV′,Σ,N ′,R′,Si.

The following theorem states thatG′is just a labeling version ofGand that it acts the same.

Theorem 5(Equivalence betweenGandG′). Given a term t:o,kGt′+kIO=kGtkIO.

We transform G′ into the scheme G′′ that will directly turn into ⊥a redex t such thatq⊥ ∈JtK.

For technical reason, instead of adding ⊥ we add a non terminal Void:o and a ruleVoid →Void. G′=hV′,Σ,N ′⊎ {Void:o},R′′,Sisuch thatR′′contains the ruleVoidVoidand for allFN , if

q⊥∈JFKσ1...σkthenFσ1,...,σk x

+~σ1τ1

1 ...x

+~σττ1

1⌉ 1 ...x+

~

στk 1

k ...x

+~στk

⌈τk⌉

k →Voidotherwise we keep the rule of

R′.

The following theorem concludes Section 4.

Theorem 6(IO vs OI). Let G be a higher-order recursion scheme. Then one can construct a scheme G′′

having the same order of G such thatkG′′k=kGkIO.

Proof (Sketch). First, given a termt:o, one can prove thatkG′′t+kIO=kG′t+kIO.

Then take a redext such thatkG′′tkIO=⊥, i.e. q⊥∈JGtK. There is only one OI derivation from

t:t→Void→Void→..., thenkG′′tk=⊥. We can extend this result saying that if there is the symbol

⊥at node u in kG′′tkIO, then there is ⊥ at node u inkG′′tk. Hence, since kG′′tkIO ⊑ kG′′tk, we have kG′′k=kG′′kIO. ThenkG′′k=kG′′kIO=kG′kIO=kGkIO.

5

Conclusion

We have shown that value trees obtained from schemes using innermost-outermost derivations (IO) are the same as those obtained using unrestricted derivations. More precisely, given an order-nschemeG we create an order-(n+1)schemeGsuch thatkGkIO=kGk. However, the increase of the order seems

unavoidable. We also create an order-nschemeG′′such thatkG′′k=kGkIO. In this case the order does

(8)

References

[1] Klaus Aehlig (2006):A Finite Semantics of Simply-Typed Lambda Terms for Infinite Runs of Automata. In:

"Proc. of Computer Science Logic, 20th Annual Conference of the EACSL",Lecture Notes in Comput. Sci. 4207, Springer-Verlag, pp. 104–118, doi:10.1007/11874683_7.

[2] Bruno Courcelle (1978):A Representation of Trees by Languages I.Theoret. Comput. Sci.6, pp. 255–279, doi:10.1016/0304-3975(78)90008-7.

[3] Bruno Courcelle (1978): A Representation of Trees by Languages II. Theoret. Comput. Sci.7, pp. 25–55, doi:10.1016/0304-3975(78)90039-7.

[4] Bruno Courcelle & Maurice Nivat (1978):The Algebraic Semantics of Recursive Program Schemes. In:Proc. 7th Symposium, Mathematical Foundations of Computer Science 1978,Lecture Notes in Comput. Sci.64, Springer-Verlag, pp. 16–30.

[5] Werner Damm (1977): Higher type program schemes and their tree languages. In:Theoretical Computer Science, 3rd GI-Conference,Lecture Notes in Comput. Sci.48, Springer-Verlag, pp. 51–72.

[6] Werner Damm (1977): Languages Defined by Higher Type Program Schemes. In: Proc. 4th Colloq. on Automata, Languages, and Programming (ICALP),Lecture Notes in Comput. Sci.52, Springer-Verlag, pp. 164–179.

[7] Werner Damm (1982):The IO- and OI-Hierarchies.Theoret. Comput. Sci.20, pp. 95–207, doi:10.1016/0304-3975(82)90009-3.

[8] Joost Engelfriet & Erik Meineche Schmidt (1977):IO and OI. I.J. Comput. System Sci.15(3), pp. 328–353, doi:10.1016/S0022-0000(77)80034-2.

[9] Joost Engelfriet & Erik Meineche Schmidt (1978):IO and OI. II.J. Comput. System Sci.16(1), pp. 67–99, doi:10.1016/0022-0000(78)90051-X.

[10] Matthew Hague, Andrzej S. Murawski, C.-H. Luke Ong & Olivier Serre (2008): Collapsible Pushdown Automata and Recursion Schemes. In: Proceedings of the 23rd Annual IEEE Symposium on Logic in Computer Science (LICS), IEEE Computer Society, pp. 452–461.

[11] Klaus Indermark (1976):Schemes with Recursion on Higher Types. In:Proc. 5th Symposium, Mathematical Foundations of Computer Science 1976,Lecture Notes in Comput. Sci.45, Springer-Verlag, pp. 352–358. [12] Teodor Knapik, Damian Niwi´nski & Pawel Urzyczyn (2002): Higher-Order Pushdown Trees Are Easy.

In:Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS),Lecture Notes in Comput. Sci.2303, Springer-Verlag, pp. 205–222, doi:10.1007/3-540-45931-6_15.

[13] Naoki Kobayashi (2009):Types and higher-order recursion schemes for verification of higher-order programs.

In: Proc. 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), ACM, pp. 416–428.

[14] Naoki Kobayashi & C.-H. Luke Ong (2009): A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes. In: Proceedings of the 24th Annual IEEE Symposium on Logic in Computer Science (LICS), IEEE Computer Society, pp. 179–188.

Referências

Documentos relacionados

Figure 29 presents numerical density contours for the coarse mesh, using the 1st-order Roe, 2nd- and 3rd-order SFV schemes, Moreover, 30 evenly-spaced contours are shown in each

O presente trabalho de investigação, que resulta de um estudo de caso realizado numa escola pública do 1º Ciclo na RAM, numa área suburbana do Funchal, pretende

Tal como já foi referido, o programa de TDC do ensino não vocacional para a EVDCR criado no âmbito do projecto de Mestrado em Metodologias e Pedagogias do

colaboradores (2006b) (Tabela 1) demonstrou, através da porcentagem máxima de contração isométrica voluntária (MCIV), que para ativação de toda a musculatura do reto do

A primeira centrou-se em processos de regulamentação de visitas, com a realização de 14 (quatorze) entrevistas, e a outra em processos de disputa de guarda, com a

In an active construction such as (1a) below, for example, its external argument is realized as the syntactic subject, bearing nominative Case and triggering

Além disso, em relação à altura do monitor, as observações sistemáticas apontaram que ela causa três problemas: inclinar a cabeça para frente, que causa sobrecarga nos

Os resultados da classificação filogenética das 87 sequências consenso em estudo para a região NS5B do VHC foram comparados com os resultados previamente obtidos em