Replies: 9 comments 31 replies
-
(half joking) what will happen for SRS? You mention it above, but I don't see it in the text that you linked ( http://project-coco.uibk.ac.at/ARI/) (it's not in the "content" rule of the grammar). if the people who already work with the ARI format make their parsers available as open-sourced libraries, then adoption should be straightforward? For matchbox: on the linked page, the COCO group publishes (other half joking) if you put (A)GPL license on those libraries, then you'd force termination provers to go open source. (good thing.) Oh noh - I cannot use "trs-conversion" because it says "license: none" (in the cabal description) (and hackage would not accept that). Well I think I can write (and publish) my own parser - but it will accept unary symbols only! |
Beta Was this translation helpful? Give feedback.
-
I agree to have an SRS format. |
Beta Was this translation helpful? Give feedback.
-
We all know that there is no such thing as the right syntactic format. Different use cases come with different and typically incompatible requirements. Here, typical use cases are, among others,
The same applies to (non)termination proofs and certificates, but in this case I don't see use case 1 to be relevant. During discussions at WST22, WST23 and partly here, we have often seen these aspects mixed up. For me, only use case 1 is currently not well supported. This has led tool authors to develop new (or reuse old) formats for tests, web interfaces and the like. A unified format for this purpose could be useful, but we also could do without it as long as all other requirements are met. An analogy: For typing (use case 1) a mathematical formula, LaTeX is appropriate, but for presenting it to an audience (use case 2), we use PDF or the like. In fact, PDF is unreadable ("\202j*G>\326\304i }\206"), but we use software (PDF viewers) to transform it to a readable presentation. For the current XML based format, our community has working tools of this kind to transform systems and proofs into readable form. What's wrong with this presentation (your browser should show nicely align rules and colors)? It is perfectly human readable, and the underlying transformation is easily customizable; XSLT is a rewrite based approach after all. Also (certified) proofs could look pretty, provided cpfHTML.xsl is around. As a trivial fact, n different formats result in O(n^2) possible conversions. This is a known software anti-pattern, and the solution is to reduce this number to O(n) by introducing one basic format F together with converters from any other format to and from F. A natural choice for F is some XML format, since XML comes with a whole ecosystem of established and reliable tools: Schema definitions plus validating parsers, XSL transformations, language support for all major programming languages, IDE support, even streaming APIs if your concern is huge files, and so on. Many of these tools (e.g., validation and XSL transformations) are part of current browsers, so no further installations are required. Remarks on the current XML format for TRS and SRS: No doubt, the current format contains questionable design decisions. (Example: For TRS/SRS, the rules node comprises a sequence of rules plus one relrules child node, which in turn has child nodes of type rule. It would be more natural to have just a sequence of rules, and each rule be tagged as strict or non-strict (by an attribute, e.g.). As an alternative, we could have two sequences of rules, strict rules and non-strict rules.) Snippets from discussions with comments by me:
Remarks on the TPDB formats, dating back to 2004/05: They are defined by context free grammars plus so called "semantical conditions". If I remember correctly, these grammars were incorrect, inconsistent, and incomplete.
Remarks on the new ARI format: Don't get me wrong: The ARI format looks solid and reasonable, and it is definitely better suited for use case 1 then anything before. It's just that I don't see an urgent need for a new format. If ARI will be used as the basic format for TPDB, the first thing I'll probably do is to write a converter to the previous or some other XML format to continue to benefit from the XML ecosystem. PS: In the past, it was good practice to complement the introduction of new formats with converters or parsers, see Section Tools at the termination portal. For the ARI format, I find a converter from ARI to COPS, but nothing for XTC. @AkihisaYamada: At Obergurgl, I understood that this was planned? Conclusion:
|
Beta Was this translation helpful? Give feedback.
-
Thank you very much for your comments, I agree with many, but not all of them.
True, but I think the ARI format satisfies most of them.
For the remaining use cases, I think both XML and S-Expressions are very reasonable.
I disagree. For testing, it's very convenient if all tools support a format that can easily be adapted. For examples, if there is a YES-NO conflict, the first thing I usually do is to minimize the system as much as possible. That's quite easy with, e.g., the Apart from that, I think there is one more (important?) aspect, namely uniformity. More specifically, I think it would be nice to have a uniform format (1) at termCOMP and Regarding (1), the situation for TRSs is fine, but the current zoo of formats for ITSs is terrible, in my opinion (see here and here). So regarding your comment
I agree for TRSs, but I disagree for ITSs. Moreover, we're about to introduce new categories (probabilistic TRSs, maybe also probabilistic integer programs). Hence, we have to make decisions about new formats for quite a few categories. If we want to achieve (1), then these new formats should be variations of the format that we use for TRSs. Moreover, the new formats should not be changed again in a few years, for obvious reasons. Hence, if we want to achieve (2), then I think we should change the format now.
Regarding the transformation ARI --> XTC: The ARI-COPS converter can also export TRSs in the CPF3 format, which is very similar to XTC, as far as I know. So it should be easy to adapt it accordingly. For the transformation XTC --> ARI, we'll need a converter anyway (if we switch to ARI). Presumably, it will also be implemented in the ARI-COPS converter. |
Beta Was this translation helpful? Give feedback.
-
Short summary:
|
Beta Was this translation helpful? Give feedback.
-
Here, the question whether we should adapt the definition of identifiers came up. A problem with the ARI definition is that it clashes with pre-defined SMT-LIB symbols. @AkihisaYamada proposed to change the definition of identifiers to |
Beta Was this translation helpful? Give feedback.
-
I started to work on the converter, see here. Essentially, I just plugged Johannes' library into the ARI converter. Current state/limitations:
I'll take care of 2. and 3. I think we cannot do much about 4. Maybe we could add a flag for specifying the rewrite strategy (and other things like Regarding 5., @jwaldmann, could you extend your parser to store the Regarding 6., is that a problem? At least for me, the reference to |
Beta Was this translation helpful? Give feedback.
-
I just converted the examples from |
Beta Was this translation helpful? Give feedback.
-
I added documentation for the new format to termination-portal. |
Beta Was this translation helpful? Give feedback.
-
Following up on the corresponding discussion on termtools, we (the termCOMP SC) proposes to use the ARI format in the future. The current specification of the format covers the following categories:
cond-type oriented
, I think)Then the goal of the analysis (i.e., the rewrite strategy and termination vs runtime / derivational complexity) would no longer be stored in the same file as the TRS. These information could be provided explicitly, or they could be implicitly fixed per category (I'd prefer the latter).
I'll open separate discussions for the remaining TRS categories (Equational and Relative Rewriting) that are not yet covered by the ARI format.
A converter from the XTC format to the ARI format is work in progress. From my point of view, the following question is quite important:
Would somebody drop out of the competition due to lack of resources for implementing a parser for the ARI format?
In that case, we'd have to think about also providing a converter from ARI to XTC. Then we'd have to discuss what happens if the converter is buggy (we've had this issue in the category "termination of integer transition systems" in the past).
Beta Was this translation helpful? Give feedback.
All reactions