[SMT-LIB] Benchmark Conformance: log in AUFLIRA/nasa/
Tjark Weber
tjark.weber at gmx.de
Wed Nov 3 07:42:55 EDT 2010
On Wed, 2010-11-03 at 07:21 +0000, cok at frontiernet.net wrote:
> - We should however keep what can be done in a theory consistent
> with what can be done in other commands. The fact that overloading
> (with different ranks) can happen in one place and not the other is
> a nuisance in parsing and inconvenient for the user.
I agree that overloading with different ranks -- since it can happen in
theories -- should perhaps be allowed for user-declared symbols as well.
However, if overloading is allowed, the standard needs to specify the
behavior in case the user attempts to overload a polymorphic symbol
(such as 'store'). (Probably, it should be allowed if and only if the
new rank is not an instance of the polymorphic rank.)
> - The overloading on return type with the 'as' construct appears to
> have limited utility and also complicates the bottom up typechecking.
My understanding is that 'as' is used if (and only if) there are symbols
f: t_1 ... t_n t and f: t_1 ... t_n t'
with t <> t'. In the absence of overloading, I am not sure how one
would declare these -- only as theory symbols? But assuming they exist,
'as' is a highly useful feature: without it, straightforward bottom-up
type checking would no longer be possible.
The (as nil (List Int)) example (on page 24) motivates 'as' well, in my
opinion.
Regards,
Tjark
More information about the SMT-LIB
mailing list