Make skolem definition manager robust to function skolems (#7327)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 8 Oct 2021 20:32:24 +0000 (15:32 -0500)
committerGitHub <noreply@github.com>
Fri, 8 Oct 2021 20:32:24 +0000 (20:32 +0000)
commitef9375982d084eaf3b80674bf4c269f6f87de942
treec58e6a068c6a62741db0ace999fd222a4b27bb8c
parent7fe20b85b18ae99461c4de339c9109fe68ca48f2
Make skolem definition manager robust to function skolems (#7327)

This led to a model soundness issue in a development branch that reorganizes theory preprocessing.

This ensures that skolem definition manager looks for skolems that appear in operators.

This is important for inputs like:
(declare-fun h (Int) Int)
(declare-fun f (Int) Int)
(declare-fun g (Int) Int)
(assert (= h (ite A f g)))
(assert (= (h 0) ...)))
src/prop/skolem_def_manager.cpp