Alt-Ergo calls "fully interpreted" symbols that are fully internalized in semantic values and do not need to be taken into consideration by the CC(X) algorithm (see function congruents in ccx.ml).
(Note that fully_interpreted is only called for the Shostak theory associated with the symbol according to is_min_symb.)
The BV theory incorrectly states that all its symbols are fully interpreted, including bv2nat, int2bv, etc.; however, only concat, extract and bv2nat are fully interpreted. This means that Alt-Ergo never performs congruence closure for these functions, leading to missed reasoning opportunities.
Alt-Ergo calls "fully interpreted" symbols that are fully internalized in semantic values and do not need to be taken into consideration by the CC(X) algorithm (see function
congruents
inccx.ml
).(Note that
fully_interpreted
is only called for the Shostak theory associated with the symbol according tois_min_symb
.)The BV theory incorrectly states that all its symbols are fully interpreted, including
bv2nat
,int2bv
, etc.; however, onlyconcat
,extract
andbv2nat
are fully interpreted. This means that Alt-Ergo never performs congruence closure for these functions, leading to missed reasoning opportunities.