<story><title>Lint for Math</title><url>https://rjlipton.wordpress.com/2015/03/08/lint-for-math/</url></story><parent_chain><item><author>Animats</author><text>We really need a better way to represent math in documents. TeX&amp;#x2F;LaTex is all about putting ink on paper in a pretty way; it doesn&amp;#x27;t know anything about the math.&lt;p&gt;As with programming languages, the first question is what each variable is, and what its type and definition are.  You should be able to mouse over variables in textbooks and see that information. You should be able to see formulas fully parenthesized if you want. (The machine learning people are terrible about inventing new operators and not telling the reader what their precedence is.)&lt;p&gt;Mathematica notebooks come close to this.  But books and papers on math are not usually published that way.  MathML was a step in the right direction but didn&amp;#x27;t catch on.</text></item></parent_chain><comment><author>j2kun</author><text>I&amp;#x27;m a mathematics graduate student with (basically) a degree in CS, and I see programmers claim this all the time. They seem to think that if they can make a tool that allows them to read calculus textbooks or machine learning textbooks more easily, this tool will obviously be useful for all mathematicians everywhere. I disagree.&lt;p&gt;If you want to seriously address this issue, you need to make sure it works for the mathematicians who work at the most abstract levels of the hierarchy. Mathematics as a language is primarily about communicating an idea from one human to another. The problem here is that pure mathematicians want and need to bend type rules for the sake of communication. There are implicit equivalences of types all over the place. For example, a homotopy is a smooth map (between more than one kind of space depending on your preference), but it is also a statement of equality between two things, &lt;i&gt;and&lt;/i&gt; it is a commutative diagram involving infinite sequences of objects and operators which is defined in contexts where smooth maps do not exist. Whether or not these different things can be used in the same place depends not on the type of the definition but the greater context of the paper.&lt;p&gt;Moreover, not all variables have definitions you can annotate. Sometimes the definitions are assumed to exist for the sake of contradiction, sometimes they are the unique limit of some crazy sequence that takes a page to write down. Sometimes they are defined by properties they have, so they don&amp;#x27;t represent a single object but a family of objects (or maybe it is a single object, who knows?)&lt;p&gt;I&amp;#x27;m not saying better math documents are impossible. I&amp;#x27;m saying that most programmers who claim that we need a better way to do it don&amp;#x27;t appreciate the depth and complexity of the problem.&lt;p&gt;I think probably a better solution is to augment a public repository of papers (such as arXiv) by allowing readers to add inline annotations explaining concepts, fixing bugs, etc. The real tragedy is that once a person figures out what the hell is going on in a poorly written paper, they have no way to bring their insight to anyone reading the same document in the same place.</text></comment>
<story><title>Lint for Math</title><url>https://rjlipton.wordpress.com/2015/03/08/lint-for-math/</url></story><parent_chain><item><author>Animats</author><text>We really need a better way to represent math in documents. TeX&amp;#x2F;LaTex is all about putting ink on paper in a pretty way; it doesn&amp;#x27;t know anything about the math.&lt;p&gt;As with programming languages, the first question is what each variable is, and what its type and definition are.  You should be able to mouse over variables in textbooks and see that information. You should be able to see formulas fully parenthesized if you want. (The machine learning people are terrible about inventing new operators and not telling the reader what their precedence is.)&lt;p&gt;Mathematica notebooks come close to this.  But books and papers on math are not usually published that way.  MathML was a step in the right direction but didn&amp;#x27;t catch on.</text></item></parent_chain><comment><author>wtallis</author><text>The problem is that there are actually several components needed: the semantic markup language, an input method no less efficient than LaTeX, and the math-lint itself. LaTeX is not semantic. MathML is just too verbose to type in the raw. The syntax used by theorem-proving software tends to be both esoteric and a bit too verbose (in addition to requiring the statements themselves to be extremely verbose).&lt;p&gt;I&amp;#x27;m not sure that &lt;i&gt;any&lt;/i&gt; plaintext markup can be sufficiently compact, semantic, and still resemble the handwritten syntax. That means we&amp;#x27;ll probably have to come up with a more interactive input method that is a bit more WYSIWYG in nature and has some auto-complete and automatic parenthesizing.</text></comment>