2011
DOI: 10.1007/978-3-642-21493-6_13
|View full text |Cite
|
Sign up to set email alerts
|

Simplifying Algebraic Functional Systems

Abstract: Abstract.A popular formalism of higher order rewriting, especially in the light of termination research, are the Algebraic Functional Systems (AFSs) defined by Jouannaud and Okada. However, the formalism is very permissive, which makes it hard to obtain results; consequently, techniques are often restricted to a subclass. In this paper we study termination-preserving transformations to make AFS-programs adhere to a number of standard properties. This makes it significantly easier to obtain general termination … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
8
0

Year Published

2011
2011
2015
2015

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 7 publications
(8 citation statements)
references
References 11 publications
0
8
0
Order By: Relevance
“…A rewrite rule over a set of function symbols F is a pair of terms l → r over F such that l and r have the same type, and all free variables of r also occur in l. In [21] some termination-preserving transformations on the general format of AFS-rules are presented. Using these results, we can additionally assume that a left-hand side l is of the form f (l 1 , .…”
Section: Rules and Rewritingmentioning
confidence: 99%
See 2 more Smart Citations
“…A rewrite rule over a set of function symbols F is a pair of terms l → r over F such that l and r have the same type, and all free variables of r also occur in l. In [21] some termination-preserving transformations on the general format of AFS-rules are presented. Using these results, we can additionally assume that a left-hand side l is of the form f (l 1 , .…”
Section: Rules and Rewritingmentioning
confidence: 99%
“…The AFS for eval from Example 9.2 has base output types, but the AFS twice does not, because of the symbol twice : [nat ⇒ nat] ⇒ nat ⇒ nat. It is always possible to transform an AFS into an AFS with base output types by η-expanding the rules [21], without losing non-termination; however, termination may be lost by this transformation. Definition 10.2 (Plain Function Passing AFS).…”
Section: Extensionsmentioning
confidence: 99%
See 1 more Smart Citation
“…, uncurry(s n )). The system is terminating if and only if its uncurried version (a many-sorted TRS) is terminating (using [25,Theorem 5], or with a straightforward induction to show that uncurry(s) → R uncurry TFO…”
Section: Lemma 7 (Normalising Chains) If There Exists a Minimal Infimentioning
confidence: 99%
“…We chose this definition because, through simple transformations, we can usually obtain a system as described above without affecting termination: for the removal of head-variables and currying see for instance [25], to ignore typing embed abstractions into some new symbol T : (term ⇒ term) ⇒ term, to add β-reduction create, for every two types σ, τ , a rule (λx.Z(x)) y → Z(y) with Z : [σ] ⇒ τ ∈ MV, and for dealing with (ML-style) polymorphism, instantiate all type variables in all closed ways and consider types of the form list(nat) as base types. These last two transformations lead to an infinite system, but only in so far as infinity was already implicit in the formalism.…”
Section: Examplementioning
confidence: 99%