Format for Higher-Order Category #86
Replies: 10 comments 21 replies
-
|
I fixed the description on Wanda. |
Beta Was this translation helpful? Give feedback.
-
|
The existing higher-order category (which is incorrectly called "HRS") does plain matching union beta. If the argument for moving to HRSs is that it's the only format that is supported by more than one tool, that doesn't seem to apply in the termination case since more than one tool has participated in the termination competition in the past! |
Beta Was this translation helpful? Give feedback.
-
|
I think it's reasonable to keep the plain matching union beta category, though it will remain as a demonstration. In this case,
|
Beta Was this translation helpful? Give feedback.
-
|
For TPDB, the motivation for the proposal is to define an ARI-friendly grammar for which the existing higher-order XMLs should be translated. I regret stepping into semantics. I renamed the format to "simply-typed lambda-term rewrite systems" to avoid any indication of semantics. Do you think the grammar is OK? Now for termCOMP. Note that there will be a category if a participant proposes it and SC agrees. I thought that a 2nd-order HRS category should be proposed, but now I'll stop this and see if a (the) participant will do this.
A category is called a competition if more than one participant participate, and a demonstration otherwise. |
Beta Was this translation helpful? Give feedback.
-
Actually this was not true. |
Beta Was this translation helpful? Give feedback.
-
|
My counterproposal would be roughly the following:
The downside of this proposal is that it will prevent reusability of benchmarks between the HRS category and the other two, since:
I am not sure that this is avoidable, due to the real situation that semantically, eta-expanding a system changes its meaning -- at least for termination, but likely for confluence as well. There is a possibility to still allow for some reuse, though:
In this case, a rule (rule (map F (cons H T)) (cons (F H) (map F T)) would be usable in the HRS category, since the left-hand side of this rule does in fact match an eta-long term. However, a rule (rule (f sin X) -> X) would not be allowed if sin :: o -> o, because it would not be able to reduce an eta-long term -- as this would have the form (f (lambda ((z o)) (sin s)). In addition, to limit duplicates, we could use the guideline that variables should be presented in eta-short form if doing so would not change the meaning / typical behaviour of the TRS. (Though this is a rather wishy-washy guideline -- and I cannot be more concrete without studying confluence first ,as I do not yet know the situaitons in which this choice would matter.) |
Beta Was this translation helpful? Give feedback.
-
|
(Though I do not fully understand your proposal)
|
Beta Was this translation helpful? Give feedback.
-
The thing complicating the thread is still which property of the same set of rules should be analyzed: termination modulo beta, beta-eta, union beta, beta-eta long, ... I'd propose
|
Beta Was this translation helpful? Give feedback.
-
|
There is one potential purpose of the format line: to indicate what sorts of restrictions the example satisfies. For example, whether it is an STRS (so: no lambdas) or an HRS (so: eta-long left-hand side) or even both. Is this useful information to keep track of? Alternatively, it could be a list of properties. So you could for example have: (format STRS CFS HRS CMS) Or alternatively you could have (properties Applicative Metafree Leftlong) Or just no property/format line at all. What would you prefer? |
Beta Was this translation helpful? Give feedback.
-
|
The conversion is done (thanks @hezzel!), so I think we can close this discussion. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I'd also like to propose two formats for higher-order rewriting, extending ARI's many-sorted TRS (MSTRS) format.
Although the HRS format allows arbitrary higher-order, the termCOMP category should be restricted to 2nd-order, since
Simply Typed TRS
Grammar
STTRS ::=
(format STTRS)sort+ fun+ rule+sort ::=
(sortidentifier)fun ::=
(funidentifier type)type ::= identifier |
(->type+ identifier)term ::= identifier |
(identifier term+)Syntactic restrictions
In each rule-decl:
Semantics (Applicative)
(->σ τ υ...)= σ →(->τ υ...)(->σ τ)= σ → τ(s t... u)=(s t...)u(s t)= s tExamples:
Addition via id
The map function
Map refinement
(rule (map id xs) xs)Simply-Typed Lambda-Term Rewrite Systems
Grammar
The STLTRS grammar extends the STTRS grammar.
STLTRS ::=
(format STLTRS)sort+ fun+ hrule+hrule ::=
(rulehterm aterm)aterm ::= identifier |
(identifier hterm+)hterm ::= aterm |
(lambda (var+)hterm)var ::=
(identifier type)Syntactic Restrictions
In every rule:
HRS Semantics:
(rulel r)represents the HRS rule(rule (f p...)r)of function type represents(rule (f p...) (lambda (x...) r))is not allowed. Write(rule (f p... x...) r)instead.Examples
Beta Was this translation helpful? Give feedback.
All reactions