Zero-ary constructed type functions cannot conveniently be used in interpretations

Issue #504 resolved
Broes De Cat created an issue

Please fix soon ;)

Comments (11)

  1. Bart Bogaerts

    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...

  2. JoD

    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.

  3. Broes De Cat 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)

  4. JoD

    Broes fixed this: identifier without brackets in structures are interpreted as symbols if there is such a symbol. Domain elements can be designated by "..."

  5. Log in to comment