[SMT-LIB] Use of @ and . in a quoted symbol

Tinelli, Cesare cesare-tinelli at uiowa.edu
Sat Apr 25 12:49:02 EDT 2015


Dan,

On Page 21 of the SMT-LIB 2.0 document you have 

"Following Common Lisp's convention, enclosing a simple symbol in vertical bars does not produce a new symbol. This means for instance that abc and |abc| are the same symbol."

For the same reasons, |.x| and .x  are the same symbol. That is why CVC4 rejects |.x| in the declaration below.


Cesare


On 24 Apr 2015, at 12:32, Delcypher <delcypher at gmail.com> wrote:

> Hi,
> 
> I know that the ``@`` and ``.`` characters cannot be used as the first
> character of a symbol but I was wondering if this was the case for
> quoted symbols?
> 
> For example
> 
> ```
> (set-option :print-success false)
> (set-info :smt-lib-version 2.0)
> (declare-fun |.x| () Int)
> (check-sat)
> ```
> 
> CVC4 rejects this
> 
> ```
> (error "Parse Error: x.smt2:3.17: cannot declare or define symbol
> `.x'; symbols starting with . and @ are reserved in SMT-LIB
> 
>  (declare-fun |.x| () Int)
>                ^
> ")
> ```
> 
> but Z3 allows this.
> 
> Could someone clarify if a symbol like ``|.x|`` is legal in SMT-LIB?
> It isn't clear to me from reading the reference document (section on
> concrete syntax) if it is legal or not.
> 
> Thanks,
> Dan.
> _______________________________________________
> SMT-LIB mailing list
> SMT-LIB at cs.nyu.edu
> http://www.cs.nyu.edu/mailman/listinfo/smt-lib



More information about the SMT-LIB mailing list