-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
do not axiomatise congruence for introduced symbols #489
Conversation
|
|
Ad 2. Yes, stupid me. I was reading the diff in the wrong direction ;) Ad 1. But have you gone through all the sites where we possibly create a symbol marked I think it's not a correct approach (unless we mark ep=RSTC as incomplete), e.g., for any symbol introduction which relies on symbol definitions via =. For instance, twee_goal_transformation, function_definition_introduction, and some types of fool_elimination ... |
I did the first part of this - all the sites mark their symbols as introduced - but failed to do the second part where I check it was actually OK. Sorry!
You're right, some of these don't work - I guess because they introduce equations or rely on preserving equational satisfiability? So I think (and will patch the code if you agree) that we can at least skip Skolems and predicate definitions, by an equisatisfiability argument. |
I think it's simpler than that. It's just because if a transformation relies on adding an equational element (like a definition), the "swap argument" (i.e., "ep first, this only later") suddenly does not work - since "this done later" would reintroduce equalities to a problem where they got initially eliminated by ep.
I think it's a much better idea to play this game on a "let's list the good guys"-basis, rather than "let's assume all |
Still, I think some non-trivial testing will be in order! |
True. One could imagine hacking these transformations to use the proxy predicate instead, but then I'm not sure what the right condition to preserve satisfiability would be.
Agreed! I'll do it for Skolems and naming then. :-) |
5d4151c
to
f72d7ab
Compare
Fixed. How do you want to test? |
Exhaustively ;) |
Done, by the way. No weird saturations occurred. If By the way, there is one problem getting robustly penalized for this: I think it's ready to go! |
Thank you for testing!
I guess the next round of Snaking will pick up if it becomes useful for strategy schedules - and we can resurrect InstGen if you suspect it would be useful. |
Equality proxy with
-ep RSTC
adds congruence axioms for functions and predicates in the signature, with the exception of answer literals and the equality proxy predicate itself.As far as I can tell it could skip introduced symbols altogether, because one could imagine performing the equality-proxy transformation before clausification.