Open ghost opened 6 years ago
The problem comes from the fact that in SL-COMP'14 format, the declared-sort is interpreted as a reference to a cell and not as the type of the cell. The SL-COMP'18 format interprets declare-sort as a reference declaration and declare-datatype as a cell type declaration (not a reference). Therefore, the translation from '18 fields (constructor's argument names) to '14 fields has to add a 'Ref' prefix to the argument of the source sort. This can be changed in the translation from '18 to '14, but you shall be aware about this change of semantics.
Thank you for the clarification. Should it be considered as a bug of the SL-COMP'14 format? If it is the case, then will a direct translation from SL-COMP'18 format to each prover fix the problem?
I plan indeed to include latter this week a direct translation from SL-COMP'18 format to each input format required by the participants. Of course, this is done only if the solver has not yet this translator.
Hi,
I notice that the tool
slcomp-parser
insmtlib2Xparser-sl
always adds a prefixRef
in front of each sort when translating test cases from SL-COMP'18 format to SL-COMP'14 format (illustrated by 2 examples at the end of this post).Is it possible to remove this prefix?
The reason is that if a test case is repeatedly translated from SL-COM18 format to other prover format, via the intermediate syntax of SL-COMP'14, then the prefix
Ref
will be duplicated many times.For example, given a test case
A
in the SL-COMP'18 format, the problem arises by the following steps:Ref
, because of the toolslcomp-parser
).Ref
is unchanged)RefRef
, because of the toolslcomp-parser
)====================
Test case:
01.tst.smt2.sl14
, generated by the toolslcomp-parser
agains the file01.tst.smt2
in the benchmarks of SL-COMP'18:Test case:
01.tst.smt2
in the original benchmark SL-COMP'14