Proof of the Fundamental Theorem of Arithmetic (with fancy design)

This is a test case for my mission to reform the design of mathematical notation. The original proof was a very clear one, from Niven’s Numbers: Rational and Irrational; I wanted to see if I could make it even clearer.

This includes: syntax highlighting, specific lemma naming as long “procedure names” rather than arcane numbers, longer variable names when appropriate, and indents on suppositions leading to contradictions. It likely can be improved, so feedback is appreciated.

22 Responses

  1. Blessed are the numerate, for they will inherit the maths.

  2. This is nice, but I would suggest changing ” integer” to natural number everywhere it appears… Also, I would recommend pointing out that “new” really is a natural number.

  3. Hrm. First reaction was that it felt noisier and more cluttered than the average math text. However, the more I look at it, I think my reaction is more about visual layout and typographical issues than the modified conventions you’re using.

    I wasn’t expecting to like translating “syntax highlighting” over from the coding world, but I ended up really liking it. The red for ‘contradiction’ especially helps the meaning of that whole section jump out at the reader.

    The nested indents are weirding me out, but that may really be because there are a few slides where stuff just isn’t lining up right in general. (Especially #3.)

    I want to like the longer variable names, but the smallcaps type just never stops looking wrong. It’s really hard to read, which kind of spoils the point of making the variables easier to parse.

    Do these need to be set out in the individual-powerpoint-slide format you have them in? Could you make them more of a document layout? The slide-full-of-text dimensions are working against you, I think.

    I hope this comes across as constructive criticism – I like this and want to see where it goes.

    • This is first draft, so any criticism is appreciated.

      The indents on #3 started bothering me as soon as I posted it, and will definitely be fixed (I’m laying this out by hand rather than using TeX so I have the freedom to do whatever I want visually).

      Smallcaps was sort of an experiment and I agree something feels wrong about it. I do feel like there needs to be some kind of way of telling variable names as single clumps rather than, say, the letters ‘n’ ‘e’ and ‘w’ multiplied together; any suggestions?

      The powerpoint slide layout is because this will be part of a presentation (I just took what I was working on for Work and dropped it here), but when I post v2 I will make it single document.

    • Here’s an attempt at just rendering the variable names in a different font than the rest of the text.

      Variable name change

    • Current version as one-document PDF:

      https://numberwarrior.files.wordpress.com/2011/03/fund.pdf

      The export came out kind of funny but it’s close to the right look.

  4. Since you are attempting to merge some kind of CS notation, you could try doing some indentation, especially for the contradiction within the contradiction. That way it is clear that you are in a sub-routine (this is a suggestion for the one-document pdf… I don’t know if it makes sense for the ppt).

  5. My first reaction was the same as I have to many syntax highlighters for program code: the emphasis is on learning the language rather than making it more readable for those who know the language. Highlighting “true” and “false” (which carry very little meaning) so strongly is typical of bad syntax highlighting. (I’ve seen program highlighters that make punctuation words like “begin” and “end” pop out, while making content words (like variable names) recede into the background.

    Typewriter font for variable names is a common choice, and generally looks better than small caps.

    I think that you have too many typographic conventions mixed here, which makes the page look busy. For example, putting “first set” in quotes make it look like you really don’t mean for it to be a set—quotation marks are usually used for distancing oneself from the thing quoted.

    I think that highlighting can be used effectively to improve presentation, but that you’ve been a bit too heavy-handed here. Try a subtler approach, with the really eye-catching markup for the things you want the students to see at a glance (not words like “Lemma” or “true”, but the important ideas).

    • First off, let me me be clear this isn’t just “for students”, this is for myself as a mathematician (which I can then hopefully translate into a more pedagogical format). Mathematical texts tend to the horribly unreadable, I’m just trying to make a dent in that. So yes, oddly, I am de-emphasizing the “only put highlights on the important ideas” thing, because it just isn’t cutting it for me. I know the basic ideas, where I got lost reading is having to flip back to Lemma 4.5 or getting confused that the supposition just made has now expired (since it led to a contradiction). I am highlighting those things exactly where I want my eye to be able to easily flip between.

      I already changed the variable font. Typewriter font wasn’t readable enough, I’m using Arial for now (which seems to contrast enough) but a fixed width might be promising. If I get past the prototyping and make a LaTeX template I’ll be able to more easily experiment with all the possibilities.

      The false/true is signalling the indent / local variable thing to reach a contradiction. I consider that to be a lot of meaning in a mathematician-proving sense, and it helps me understand the structure of the proof.

      Not sure what I was thinking on the quote marks. I think it’s an artifact from first iteration before I went full on with long variable names — no reason I can’t just say First Set and Second Set.

      Anyhow, thanks for the feedback, and I should have v2 up in a few days.

  6. That’s actually quite nice looking, even when shrunk down.

  7. I want more output from the cognitive algorithm that generated these images🙂 What theorem are you planning to translate next?

  8. Weird how you drop “prime” from “factoring form” starting on page 3. How do we know that the factoring form p_1*(p_2*p_3…p_r-q_2*q_3…q_r) is a prime factoring form anyway?

    Probably some dumb oversight by me, but you’re probably interested in what dumb oversights your proof is amenable to.

  9. This is an excellent start.

    If you’re taking readability ideas from the world of programming, there are a few that are much more useful than syntax highlighting:

    Hyperlinking. Did this p mean “prime number” or “positive integer” or… let’s click on it to go back and forth to the definition to see.

    Collapsible subproofs. The level of explanation that someone needs to understand a proof can vary. An automatic theorem prover may want to see every single minute step. Bo noticed that one of your factoring forms isn’t a prime factoring form and would benefit from a “a factoring form with a prime p has a corresponding prime factoring form with p” lemma. Someone else may be able to understand the proof intuitively if only the highest level steps are listed.

    I’m beginning to think that to do this “right” you’re going to need your own typesetting metalanguage… MathML + javascript output is probably the best you could do as an output format, but that’s way too freeform to write in directly.

  10. […] Jason Dyer: Proof of the Fundamental Theorem of Arithmetic (with fancy design) […]

  11. I stumbled across your excellent blog tracking down references to Mayan mathematics. As a former mathematics teacher and long time programmer I have always been interested in improving mathematical notation. Improvements in notation, as you are probably aware, take many years to find acceptance. Ken Iverson, the designer of the APL programing language, had a keen interest in this very topic and frequently referred to Cajori’s history of mathematical notations

    http://www.archive.org/stream/historyofmathema031756mbp#page/n5/mode/2up

    to bolster APL’s notation and to drive home the idea that notation is a “Tool of Thought”. Good notations amplify our abilities and lead to thoughts we might not have had otherwise.

    Keep on trying things out. I doubt anyone thinks current notations are optimal.

  12. I like this, as a start. The use of color is a big positive – it makes reading easier (rather than traditional color, which distracts, perhaps intentionally)

    There is some wordiness, and I would like the indents and separations to feel more natural – perhaps that will take the reader time. Or perhaps you could think more about them. The indent for the assumption leading to contradiction – can that be distincter from the other indents?

    But I think you are on to something quite worthwhile.

    Jonathan

    • I’m not wild about how the indents and separations look yet either (although check the PDF version in the comments if you haven’t yet).

      I’m finding with my experiments wordier tends to better in that it takes the same amount of time to read the “compact” version as an expanded version, and there’s less potential for confusion.

  13. […] Dyer has outline the proof of the Fundamental Theorem of Arithmetic at the Number […]

  14. You should typeset this with LaTeX as it will make it easier for you to automate syntax colouring and results in better looking documents than word processing software

    • Well, the whole point is to do stuff fancier than LaTeX can handle. Still, a plugin would be a good idea.

      What I was really gunning for next, though, was interactivity. That’s down further on the queue of projects, though.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: