Wikipedia, proofwiki, planetmath, and many others have various ways of naming theorems (and proofs and conjectures). I'm making a similar project, and am trying to create a searchable database of theorems. However, to be able to search for a theorem, one needs to have some kind of indexing procedure. Common methods seem to be:
- Do a search for terms that was searched in theorems (a google type search). This works but doesn't give titles to theorems.
- Search for names of theorems. This sometimes works but often theorems don't have names.
- Have a tree of topics ("namespaces" of sorts), and insert theorems inside there.
- Traverse the dependency of theorems on other theorems.
- Look at large lists of theorems in some category and find the ones that you are looking for.
- Name theorems based on the papers that they occurred in (Theorem 2.2 of __)
- Name theorems with a short informal sentence that conveys the idea the proof is trying to capture
I would prefer to be able to name each theorem (or proof or conjecture or etc.) with some unique meaningful label. What is a good way to do this?
I came up with a reasonable answer to this, in case anyone else is interested.
All problem (theorem/corollary/etc.) statements seem to be of the form:
There exists $x \in S$ s.t. $P(x)=True$, where $P$ is some predicate, or
For all $x \in S$, $P(x)=True$, where $P$ is some predicate.
Thus the short hand can be a set, relation, property kind of thing (there's lots of edge cases I could go on about but this is the idea).