Replies: 3 comments 4 replies
-
Possible solutions: |
Beta Was this translation helpful? Give feedback.
-
Again, from Francois (Sep 20 2023): Hi Cesare, Le mercredi 20 septembre 2023 à 16:28 +0000, Tinelli, Cesare a écrit : I seem to remember that at some point, you had a concrete proposal for arrays, algebraic numbers and possibly more. Would you mind sharing that proposal with us again? We have lost track of it. The proposition for algebraic number and arrays is described at https://smt-comp.github.io/2023/model.html . The proposal described for partial functions has been a lot less welcomed (it feels like keeping digging in the wrong direction). The proposal from Martin Brain to totalize partial functions using a default argument has been viewed by many as the most reasonable and useful. Concretely the proposal is to add a final argument to every partial functions that is returned when the normal argument are not part of the domain of the mathematical function:
The list of partial functions in the current SMTLIB:
An advantage is that theories like QF_NRA would not contain anymore "hidden" uninterpreted functions. Indeed the previous behavior is obtained by explicitly declaring an uninterpreted function:
Uninterpreted functions does not need to always be defined, for example when translating match to test/destructor it is known that the valuation does not depend on the default value, so a constant can be used:
For a transition period both version with and without the final argument would be accepted. Model could be requested in both cases but the model would be complete only if the version with default argument is used. Indeed if the version without default argument is used, the value chosen in the corner cases will not be available to the user. Thank you all for grooming with care the SMTLIB, Best, -- |
Beta Was this translation helpful? Give feedback.
-
From the discussion on October 4th, on arrays: an easy first step would be to add to the existing features to describe models of array an array constant operator. Models for arrays could then be described by abstract values, stores, and this new array constant. As a second step, as SMT-LIB gets HOL stabilized, we could introduce (axiomatize) a function to array operator. |
Beta Was this translation helpful? Give feedback.
-
Email from Francois Bobot (Feb 15, 2023):
Hello!
we want to try out some new, experimental divisions in the
Model-Validation Track of future SMT Competitions; if possible even one
or two already this year. Candidates for new divisions are
QF_NonLinearIntArith (QF_NIA, QF_NIRA), QF_NonLinearRealArith (QF_NRA),
QF_Datatypes (QF_DT, QF_UFDT), and QF_Array (QF_AX). This means we need
to define acceptable formats for models in these divisions. Please send
us your preferred model formats for the associated logics and existing
model formats if you already have a solver that returns a model for one
of the associated logics. Of particular interest to us are answers to
the following questions:
How do you (want us to) represent the value of an array constant?
How do you (want us to) represent irrational algebraic numbers as
values
of constants?
How do you (want us to) represent the undefined part of the projection
function in datatypes?
At the same time clarification for how to represent the model for
division by zero is welcomed.
Beta Was this translation helpful? Give feedback.
All reactions