Closed yvting closed 6 years ago
As far as I can tell, this is not a bug since you can use nominal constants in both cases. If we ever get around to differentiating between nominal and non-nominal types, this may be an important thing to watch out for.
Yes. You are right. Abella currently treats every type as a nominal type. Therefore, a unifier for logical variables can always be turned into a solution by using nominal constants.
I was worried that top-level logical variables will result in unsound proofs. It looks like not a problem for the 'search' tactic.
Close this issue since it is not a real problem for now.
Consider the following examples:
For 'foo', search will generate an logical variable for 'x' and consider the equality to be provable.
For 'bar', search will generate logical variables for 'x' and 'y' and unify 'x' with 'y'. Again, the goal is proved without checking that 'x' and 'y' are instantiated to ground terms.