- attached constr_bug_corrected.idp
Zero-ary constructed type functions cannot conveniently be used in interpretations
Please fix soon ;)
Comments (11)
-
-
Note that this has to do with the differences between simple domain element and compound domain element. If you force the "and" in the interpretation to be a compound domain element, e.g.~by replacing it with and(), it works.
This is undesired as we are allowed to use functions without brackets in theories...
-
-
-
Ben er naar aan het kijken...
-
Allright, fix should be available in this branch: https://bitbucket.org/krr/idp/src/b6fa259731002fdce899e7da9f24037a48289f7d/?at=constr_bug_fix. Go ahead an test it :)
-
- attached joTODO.idp
Does not really work with overloading yet
-
Also, the following will never work unless the parser knows the exact type of the symbol it is interpreting:
vocabulary V{ type T constr from {A} type S P(S) }
structure S:V{ P={A} }
Bart's solution: always interpret strings in a structure as domain elements, and return a warning message if they could be constructors.
-
reporter It seems more logical to do the reverse: always prefer a symbol if it is available (as the user explicitly declared that symbol) otherwise, in a theory, it is a variable (otherwise, they can still quantify it) otherwise, in a structure, it is a string (otherwise, they can still quote it)
-
No problem, will change it if there is consensus.
-
- changed status to resolved
Broes fixed this: identifier without brackets in structures are interpreted as symbols if there is such a symbol. Domain elements can be designated by "..."
- Log in to comment
Attached another file, with what was probably intended...