Skip to content

How to handle undecidable properties? #82

@ScriptRaccoon

Description

@ScriptRaccoon

ykawase5048 mentioned the following (in #59):

There is a very interesting issue: It is independent of our foundation, ZFC with two Grothendieck universes, whether the category of free abelian groups is accessible; see [Makkai-Pare, Section5.5] or MathStackExchange. So, we would need to add the third option "undecidable" for properties.

Let's discuss about this here and then come up with a decision.

Some random thoughts at this moment:

  1. How often does this happen? When it is rare, I am not up for changing the whole database model and the application logic.
  2. On the other hand, there are also other properties that are not boolean valued. For example, what is the center of a category? It is a (large) monoid. The center is not true or false.
  3. What about keeping these properties as unknown but leave a comment (database/data/001_categories/200_comments.sql) about its undecidability on the category detail page? Advantage: the infra is already there. Disadvantage: no formal distinction between unknown and undecidable properties. Also: the user needs to scroll down to see if something is undecidable. Maybe they don't even know that there is a comment section.
  4. If there are models where it is false, mark the property as false, but in the proof mention that this depends on the model of ZFC. Or .... If there are models where it is true, mark the property as true, but in the proof mention that this depends on the model of ZFC.
  5. It is now useful that I have refactored the category property assignments before into one table (these were two tables before), where basically each pair (category, property) gets a value is_satisfied of type boolean. We could add a new column called value which has a more generic type, rewrite the whole application (...), and then remove the is_satisfied column.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions