Merged
Conversation
372a727 to
d402973
Compare
76c1d97 to
3b85832
Compare
3b85832 to
a35282a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why we need lemmas
The implications in the database have a quite strict format:
Even though this covers many results of category theory, some results are slightly different: either because property X is not interesting in its own right, so that it does not "deserve" to be added as a property to the database, or because the conclusion is actually a disjunction like "X or Y".
However, the deduction system currently does not support disjunctions (this would blow it up and could also yield non-constructive proofs, which I would like to avoid).
Lemmas try to solve this issue by allowing results in arbitrary formats. Lemmas also support many categorical structures at once. For instance, they can make some conclusions about a category based on the existence of functors with some properties.
What are lemmas in CatDat?
Here is a typical example of a lemma:
We do not want to add the property "is equivalent to {0 < 1}" to the database, since it is not interesting in its own right (and probably has no name either).
Here is another example, "Hilbert's Hotel":
Here is a third example:
Lemmas have no strict relationships with other data in the database, i.e., the lemmas table has no foreign keys. Hence, the deduction system cannot use them, and the data integrity is not tested automatically when lemmas are being used. For this reason, lemmas should be used only in rare cases when implications are not sufficient. In the future, they might be replaced with entities that do have proper relationships (cf. #22).
Nevertheless, lemmas can be used in property assignments to avoid repeating arguments. For example, the result about thin finitary algebraic categories above can be used to show that the three categories
N_oo,walking_commutative_square, andwalking_composable_pairare not finitary algebraic. And Hilbert's Hotel can be used to show that various categories such asFinAbdo not have countable powers.Details
Lemmas are defined in a new table:
Individual lemmas are recorded in the file
database/data/010_lemmas/000_lemmas.sql. Here is an example:( 'hilberts_hotel', 'Hilbert''s Hotel', 'Let $\mathcal{C}$ be a category with countable powers. Then for every object $X \in \mathcal{C}$ there is an object $P \in \mathcal{C}$ with $P \cong X \times P$ and which has a morphism $X \to P$.', 'Take $P := X^{\mathbb{N}}$. Since $\mathbb{N} \cong 1 + \mathbb{N}$ as sets, we have $P \cong X \times P$. The diagonal provides a morphism $X \to P$.' );Each lemma has a separate page
src/routes/lemma/[id]/+page.sveltewhere its title, statement and proof are displayed.To refer to this lemma in a proof (manual property assignment), just create a link to it. For example, this is a proof that the category
FinAbhas not all countable powers – located in its filedatabase/data/004_property-assignments/FinAb.sql.There is no page which lists all lemmas in CatDat (since, as mentioned, they should only play a secondary role).