Open salmans opened 9 years ago
@salmans The skolem term returned by the Element Provenance for e^1 is just exists3(). I was expecting something like exists3(e^1) back. It didn't recurse to e^1 because the skolem term was a constant.
Ah, that's interesting. This is one of the side effects of the last changes to the Chase: since x
in the body doesn't appear in the head, it is considered to be existentially quantified. That's the reason it doesn't show up in the provenance of y
. Let's just keep the issue open until we figure out the right way of dealing with situations like this. Just as a naive idea, we may have to change origin*
to display origins of the the elements appearing (only) in the body of sequents as well. Do you agree that in the previous example we should show also display the origin of e^0?
I think we should allow the display of e^0. However, when we discussed this in person, it raised an interesting point...
There seems to be two types of thinking about origins.
For now, since I already made the changes, I will push it to include e^0, and any "free elements" in the origin* printout. But, discussing this distinction, what we think is correct / should be allowed, and remaining consistent is important.
@dandougherty do you have any opinions on this?
On the model generated for the following theory
exists x . P(x); P(x) => exists y . Q(f(y));
when I ask for
name* e^1
, Razor doesn't display origin ofe^0