Fixes #6690.
else if( n.getNumChildren()==0 ){
Node r = n;
if( !n.isConst() ){
- if( !fm->hasTerm(n) ){
- r = getSomeDomainElement(fm, n.getType() );
+ TypeNode tn = n.getType();
+ if( !fm->hasTerm(n) && tn.isFirstClass() ){
+ r = getSomeDomainElement(fm, tn );
}
r = fm->getRepresentative( r );
}
regress1/fmf/issue4068-si-qf.smt2
regress1/fmf/issue4225-univ-fun.smt2
regress1/fmf/issue5738-dt-interp-finite.smt2
+ regress1/fmf/issue6690-re-enum.smt2
regress1/fmf/issue916-fmf-or.smt2
regress1/fmf/jasmin-cdt-crash.smt2
regress1/fmf/loopy_coda.smt2
--- /dev/null
+(set-logic ALL)
+(set-info :status unsat)
+(set-option :finite-model-find true)
+(assert (forall ((a String)) (forall ((b String)) (str.in_re a (re.++ re.allchar (str.to_re b))))))
+(check-sat)