Skip to content

Commit 01f58e9

Browse files
committed
update documentation
1 parent f52d88d commit 01f58e9

3 files changed

Lines changed: 18 additions & 17 deletions

File tree

CONTRIBUTING.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,39 +67,39 @@ If the local database is broken, just delete the `local.db` file and recreate it
6767

6868
### Guidelines for Adding New Data
6969

70-
When contributing new data (categories, properties, implications), please follow these guidelines:
70+
When contributing new data (categories, functors, properties, implications), please follow these guidelines:
7171

7272
- **Consistency**: Stick to the format indicated by the existing data. This is enforced by the database definition.
7373

74-
- **Reduce Unknowns**: Try to reduce the number of unknown properties of categories, in particular when adding a new category. Use the category detail page to see its unknown properties. Use the [page with missing data](https://catdat.app/missing) to identify categories with unknown properties.
74+
- **Reduce Unknowns**: Try to reduce the number of unknown properties of categories, in particular when adding a new category. Use the category detail page to see its unknown properties. Use the [page with missing data](https://catdat.app/missing) to identify categories with unknown properties. The same remarks apply to functors.
7575

76-
- **Atomic Properties**: Only assign properties to a category that cannot be deduced from other properties (satisfied or not). For example, if a category is complete, add the property "complete", but do not add "terminal object". The application infers this property automatically.
76+
- **Atomic Properties**: Only assign properties to a category or functor that cannot be deduced from other properties (satisfied or not). For example, if a category is complete, add the property "complete", but do not add "terminal object". The application infers this property automatically.
7777

7878
- **No dual categories**: Instead of adding the dual of a category already in the database, consider adding properties to the original category (use the corresponding dual properties).
7979

8080
- **No equivalent categories**: Do not add categories that are equivalent or even isomorphic to categories already in the database. If the equivalence is non-trivial, mention it in the description of the original category. Some exceptions are allowed, since certain properties (such as being skeletal) are not invariant under equivalence.
8181

8282
- **Special Objects and Morphisms**: For each new category, try to specify its special objects (terminal object, initial object, etc.) in the corresponding table. Also try to specify its special morphisms (isomorphisms, monomorphisms, epimorphisms).
8383

84-
- **Proofs for New Properties**: For every new property, for each existing category, try to find a proof for whether it has this property or not, in case this has not already been deduced automatically. Use the property detail page to check unknown categories.
84+
- **Proofs for New Properties**: For every new property, for each existing category or functor, try to find a proof for whether it has this property or not, in case this has not already been deduced automatically. Use the property detail page to check unknown categories.
8585

86-
- **Assign Properties to Core Categories**: For all new properties, you must assign them to the "core categories" (currently: $\mathbf{Set}$, $\mathbf{Top}$, $\mathbf{Ab}$), specifying whether they are satisfied or not. This decision should also be recorded in the JSON files located in [/scripts/expected-data](/scripts/expected-data/).
86+
- **Assign Properties to Core Categories**: For all new properties of categories, you must assign them to the "core categories" (currently: $\mathbf{Set}$, $\mathbf{Top}$, $\mathbf{Ab}$), specifying whether they are satisfied or not. This decision should also be recorded in the JSON files located in [/scripts/expected-data](/scripts/expected-data/).
8787

88-
- **Counterexamples**: Ensure that at least one category does not satisfy any new property that is added. If no existing category fits, add a new category that does not have the new property.
88+
- **Counterexamples**: Ensure that at least one category does not satisfy any new property of categories that is added. If no existing category fits, add a new category that does not have the new property. The same remarks apply to properties of functors.
8989

90-
- **Positive Properties**: Do not add negated properties to the database. For example, do not add "large" as the negation of "small". Instead, add "small" to the list of unsatisfied properties for a category. As a rule of thumb, every registered property should be satisfied at least by the trivial category.
90+
- **Positive Properties**: Do not add negated properties to the database. For example, do not add "large" as the negation of "small". Instead, add "small" to the list of unsatisfied properties for a category. As a rule of thumb, every registered property of categories should be satisfied at least by the trivial category. Similarly, every property of functors should be satisfied at least by the identity functor.
9191

9292
- **Proofs for Claims**: Provide proofs for all new claims (satisfied properties, unsatisfied properties, implications, special morphisms). (We are currently working on filling in the existing ones.)
9393

9494
- **Atomic Implications**: Do not add implications that can be deduced from others. For example, do not add "complete => finite products" since it can be deduced from "complete => finitely complete" and "finitely complete => finite products". These are deduced automatically.
9595

96-
- **No dual implications**: Implications are dualized automatically when applicable. For this reason, adding "finitely cocomplete => pushouts" is not necessary when "finitely complete => pullbacks" has already been added.
96+
- **No dual implications**: Implications are dualized automatically when applicable. For this reason, adding the category implication "finitely cocomplete => pushouts" is not necessary when "finitely complete => pullbacks" has already been added. Similarly, the functor implication "comonadic => left adjoint" is automatically dualized from "monadic => right adjoint".
9797

98-
- **Relevant implications**: When adding a new property, include implications involving this property and existing properties. For example, when adding "countable products", also add "countable products => finite products". Refactor existing implications if necessary. Ensure that for most categories, it will be inferred if the property holds or not.
98+
- **Relevant implications**: When adding a new property, include implications involving this property and existing properties. For example, when adding the property of categories of having "countable products", also add the implication "countable products => finite products". Refactor existing implications if necessary. Ensure that for most categories and functors, it will be inferred if the property holds or not.
9999

100100
- **Simplify Implications**: When adding a new implication, check if it simplifies existing implications and if it deduces some previously non-deduced properties for categories.
101101

102-
- **New Combinations**: Add new categories that satisfy combinations of satisfied properties and unsatisfied properties and not yet in the database. For example, you may add a category that is abelian but neither cocomplete nor essentially small (if it is not already present). The [page with missing data](https://catdat.app/missing) lists consistent combinations of the form $p \land \neg q$ that are not yet witnessed by a category in the database.
102+
- **New Combinations**: Add new categories that satisfy combinations of satisfied properties and unsatisfied properties and not yet in the database. For example, you may add a category that is abelian but neither cocomplete nor essentially small (if it is not already present). The [page with missing data](https://catdat.app/missing) lists consistent combinations of the form $p \land \neg q$ that are not yet witnessed by a category in the database. The same remarks apply to functors.
103103

104104
## Option 3: Create an Issue
105105

DATABASE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ Use `pnpm db:watch` to run this command automatically every time a file in the s
5858

5959
## Diagram
6060

61-
This is the database schema as of 27.03.2016; changes may occur.
61+
This is the database schema as of 31.03.2016; changes may occur.
6262

63-
<img alt="database diagram" src="https://github.com/user-attachments/assets/9f482625-8c19-4050-a72c-109399a832f0" />
63+
<img alt="database diagram" src="https://github.com/user-attachments/assets/71c5a6f6-2747-4692-8518-d562dbd51a91" />

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77

88
## [**https://catdat.app**](https://catdat.app)
99

10-
_CatDat_ provides a growing collection of categories, each with detailed descriptions
10+
_CatDat_ provides a growing collection of categories and functors, each with detailed descriptions
1111
and properties. Built by and for those who love [category theory](https://en.wikipedia.org/wiki/Category_theory).
1212

1313
[Watch the YouTube video](https://youtu.be/dQXbPxk__qA)
1414

1515
## Features
1616

17-
- **Category Detail Pages**: Explore a category’s definition, its satisfied and unsatisfied properties, and related categories.
18-
- **Property Detail Pages**: Explore the definition of a property and view categories that satisfy it and those that don't.
17+
- **Category Detail Pages**: Explore a category's definition, its satisfied and unsatisfied properties, and related categories.
18+
- **Functor Detail Pages**: Explore a functors's definition along with its satisfied and unsatisfied properties.
19+
- **Property Detail Pages**: Explore the definition of a property and view categories or functors that satisfy it and those that don't.
1920
- **Reasons and References**: Each property and implication includes a reason or reference, forming a data-driven knowledge base for category theory.
20-
- **Deduction System**: Automatically infers properties from existing ones using a database of implications.
21+
- **Deduction System**: Automatically infers properties from existing ones using a database of implications, both for categories and functors.
2122
- **Automatic Dualization**: Automatically dualizes implications and property assignments.
22-
- **Searchable Database**: Find categories based on satisfied properties and unsatisfied properties.
23+
- **Searchable Database**: Find categories and functors based on satisfied properties and unsatisfied properties.
2324
- **Comparison Feature**: Compare multiple categories to identify their differences and similarities.
2425
- **Customizable Display**: Light/dark mode and optional display of deduced properties.
2526
- **Intuitive User Interface**: Usable on both mobile and desktop.

0 commit comments

Comments
 (0)