Skip to main content
5 of 5
Commonmark migration

I don't know about a definition-checking service, but I can give some general advice which I think will help.

Let me begin by rewriting your definition (hopefully correctly!):

Suppose I have a set $S$ and a natural number $m$. For $i\in S$, let $$X_i=\{a\subseteq S: \vert a\vert=m\mbox{ and }i\not\in a\}.$$ We then let the $m$-crown of $S$ be the indexed set (with indexing set $S$ itself) $$(X_i)_{i\in S}.$$ For example, if $S=\{1,2,3,4\}$ and $m=2$ then e.g. $$X_2=\{\{1,3\}, \{1,4\}, \{3,4\}\},$$ and the whole $m$-crown of $S$ is $$($$ $$X_1=\{\{2,3\}, \{2,4\}, \{3,4\}\},$$ $$X_2=\{\{1,3\}, \{1,4\}, \{3,4\}\},$$ $$X_3=\{\{1,2\}, \{1,4\}, \{2,4\}\},$$ $$X_4=\{\{1,2\}, \{1,3\}, \{2,3\}\}$$ $$).$$

Now, what's behind this?


Let's start with what I have done.

First, AND MOST IMPORTANTLY, I've broken the definition into separate pieces and worked from the inside out. My version of the definition ends by introducing the $m$-crown, and starts by introducing the much simpler $X_i$s. Moreover, my version breaks into multiple separate sentences. Think of this all as a kind of cognitive piton: it lets the reader digest the definition in discrete steps, without ever having to be kept guessing what things mean. It also helps prevent errors on your end, by making you think carefully about what exactly is going on at each step along the way - when you write an "outside-in" definition, it's easy to experience a kind of "precision fatigue" and wind up finishing with something unclear or garbled. Finally, it winds up helping you use natural language in a precise way, for the same reason.

Second, I've provided nontrivial explicit examples of everything. Moreover, I haven't tried to mix notations to be more efficient - the only thing I've done is throw in some spacing for readability (which is actually quite useful in some situations, and sets-of-sets is one of those since the curly braces can blur together). This helps the reader both understand your definition and repair it if you have made any errors.

Besides all that, examples also provide a more high-level kind of cognitive piton: in the course of a slew of definitions, they help me keep straight what each thing is and how the various things differ from each other. Really, you should always give examples of everything.


Now let me point out two things I haven't done.

First, I avoided using too many symbols. In particular I avoided quantifiers. There's a positive and a negative aspect to this. The positive aspect is that precise natural language is easier to read than symbolic expressions; it's almost always better to focus on making your explanation precise than using symbols to shorten everything (and the "piton" stuff above is a big help here).

The negative aspect is that unless one has some experience with the relevant formalism, it's easy to misuse - and this is exceptionally true of quantifiers for whatever reason. In the case of your definition, when blindly rendered into English your expression $$\forall(X_i \in S^m : i \in S) \rightarrow X_i = \{ x \subset S :(i\notin x \land|x|=m) \} $$ translates to

  • "If for all [missing bound variable], $X_i$ is in $S^m$ [grammatically incorrect symbol - maybe "such that"?] $i$ in $S$, then $X_i$ is the set of subsets of $S$ of size $m$ not containing $i$."

The second half of that is what you want, but the first half is thoroughly garbled. Indeed, my first guess at rewriting this would be

  • "If $X_i$ is in $S^m$ for every $i\in S$, then [rest],"

which is very much not what you want. And reading not being much easier than writing, even if you'd gotten the symbols right your readers might still have trouble following the definition.

Second, I didn't put motivation inside the definition proper. This isn't something you did either, but it is a common issue (and like everything else makes it much easier to mess up natural-language definitions) so it's worth mentioning here. You should definitely include motivation, but put it before or after the definition (or both); keep the definition itself nice and clean.

Here's an example of the sort of thing I'm railing against:

Let FOO be the tensor product of BLAH, which by Theorem 11.36 characterizes the FLEEN completely, with (in order to de-VORP the resulting algebra) BLEELG.

It would be much better to write this as:

Let FOO = BLAH $\otimes$ BLEELG.

Remember that BLAH completely characterizes the FLEEN (Thm. 11.36); meanwhile, bringing BLEELG prevents VORPiness.

Note that I've also broken the motivation itself into separate pieces: why the BLAH?, and why the BLEELG?, are separate issues and I've treated them as such.


Now it's important to note that these rules don't always have to be followed. But I think one should follow them very closely if one isn't already rather experienced with this sort of writing, especially if the intended readership isn't necessarily either.

Noah Schweber
  • 20.5k
  • 10
  • 110
  • 331