mirror of
https://github.com/Z3Prover/z3
synced 2025-04-25 10:05:32 +00:00
Fix uninterpreted sort definition. There was a mismatch in the behavior of the API and SMT front-ends. The SMT front-ends were using user_sorts to be able to support parametric uninterpreted sorts. After this fix, the API also creates user_sorts.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
3b8d72beeb
commit
3a15db5244
8 changed files with 23 additions and 14 deletions
|
@ -193,7 +193,7 @@ func_decl * theory::declare_func(symbol const & id, sort_ref_buffer & domain, so
|
|||
|
||||
|
||||
sort * theory::declare_sort(symbol const & id) {
|
||||
sort * decl = m_ast_manager.mk_sort(id);
|
||||
sort * decl = m_ast_manager.mk_uninterpreted_sort(id);
|
||||
m_symtable.insert(id, decl);
|
||||
m_asts.push_back(decl);
|
||||
return decl;
|
||||
|
|
|
@ -880,8 +880,8 @@ private:
|
|||
|
||||
if (name == symbol("QF_AX")) {
|
||||
// Hack for supporting new QF_AX theory...
|
||||
sort * index = m_manager.mk_sort(symbol("Index"));
|
||||
sort * element = m_manager.mk_sort(symbol("Element"));
|
||||
sort * index = m_manager.mk_uninterpreted_sort(symbol("Index"));
|
||||
sort * element = m_manager.mk_uninterpreted_sort(symbol("Element"));
|
||||
parameter params[2] = { parameter(index), parameter(element) };
|
||||
sort * array = m_manager.mk_sort(m_array_fid, ARRAY_SORT, 2, params);
|
||||
smtlib::symtable* table = m_benchmark.get_symtable();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue