[SMT-LIB] get-model

Cesare Tinelli tinelli at cs.uiowa.edu
Mon Nov 8 18:11:06 EST 2010


Hi David and all,

On 3 Nov 2010, at 02:33, cok at frontiernet.net wrote:

> Thanks for the clarifications.  Just to be pedantically precise - in (2) below you intend that ALL options be set before set-logic, not just the ones about which I commented?

Sorry, I meant all the ones you commented on (:produce-proofs, :produce-unsat-cores, :produce-models, and :produce-assignments). 


>  Others, such as :print-success :verbosity and setting output channels could readily be changed during an interactive session, if we wished to allow that.
> 
That is right. 

That said, I discussed the matter with Aaron and he agreed that it would be more appropriate to come to a clear consensus on this in the API-WORK group first. So he is going to raise the matter there. 

As a consequence, the upcoming new release of the standard document will not contain any fixes related to set-option yet.


Cesare


> - David
> 
> 
> ----- "Cesare Tinelli" <tinelli at cs.uiowa.edu> wrote:
> 
>> Hi David,
>> 
>> Thanks once more for your careful proof reading.
>> 
>> On 31 Oct 2010, at 17:16, cok at frontiernet.net wrote:
>> 
>>> Cesare, et al.
>>> 
>>> 1) The SMT-LIB v2 document mentions the get-model command, but it
>> does not say what it is supposed to do or in what form to return it. 
>> Is it an accidental left-over, having been replaced by
>> get-assignment?
>> 
>> It is amazing how many things still slip out, despite one's extensive
>> proof-reading. I thought we had removed all references of get-model
>> from the posted version of the document (after we decided that that
>> command was not ready for Version 2.0).
>> So, yes, it is an accidental left-over (although not because get-model
>> has been replaced by get-assignment, the two commands serve different
>> needs).
>> 
>> In our defense, I should say that Clark, Aaron and I have been editing
>> the document collaboratively with Subversion. After looking at the
>> latex sources I'm starting to suspect that we are screwing up with the
>> merges.
>> 
>> 
>>> 2) The get-assignment, get-value, get-proof, get-unsat-core all
>> require a corresponding option to be set before the command can be
>> given. When must it be set?  
>> 
>> That is a good question, and it is a pretty glaring omission from our
>> document not to specify this. Thanks for pointing that out. There's no
>> blaming Subversion with this one :)
>> 
>> In our intention, all the set-option commands are issued at the very
>> beginning of the script (also before set-logic), and only there. At
>> least as far as the current options are concerned, there is really no
>> point in allowing option changes in mid-script, not to mention that it
>> would be quite difficult to support that.
>> 
>> We'll update the reference document to reflect this restriction.
>> 
>> 
>>> before set-logic? before any declarations or assertions? before any
>> assertions (but not necessarily before declarations)? just before
>> check-sat? just before the corresponding command?
>>> 
>>> 3) The document states that get-value and get-assertions may only be
>> used in interactive mode.  Do you actually mean get-value and
>> get-assignment, since those two commands are closely related? Or
>> perhaps all three -= get-model, get-assignment, get-assertions?
>>> 
>> Ops, we meant get-model there (page 62), not get-value. (Typing error
>> I guess.)
>> However, since get-model is out for now, it should be just
>> get-assertion.
>> Currently, that is the only interactive-mode command.
>> 
>> As for get-value and get-assignment, the interactive mode is meant for
>> human users. Since get-value and get-assignment are crucial to many
>> applications, they are definitely not restricted to interactive mode.
>> 
>> We'll fix this too.
>> 
>> 
>> The new release of the document, including other fixes, should go out
>> in a few days.
>> 
>> Thanks,
>> 
>> 
>> Cesare, also for Aaron and Clark
>> 
>> 
>> 
>>> 
>>> David




More information about the SMT-LIB mailing list