Posted by: Alexandre Borovik | August 26, 2008

Towards telescopic texts in mathematics

From God Play Dice:

Telescopic Text, by Joe Davis.

The web page starts out with the words “I made tea. by Joe” and various words can be clicked on; when you click on them they expand, so “Joe” becomes “Joe Davis”, for example, when you click on it. Clicking on “I” reveals the word “Yawning” preceding it; “tea” becomes “a cup of tea”, and so on. As you expand the text, some biscuits that weren’t there before, comments on how to make tea, and so on materialize.

This reminds me of something that’s been thrown around the mathematical blogosphere as a possible way to write papers that might be well-adapted to our present computer technology; start with a very high-level sketch of a proof, and make each step clickable. Upon clicking on a word, the proof is expanded to remind you what that word means, how exactly one uses that particular technique here, etc.

This would require more work than writing a paper in the usual way, though; it’s not clear whether it’s worth the trouble. And there’s always the issue that some people like to read papers away from the computer, they eventually end up in journals which are printed on paper, and so on; what level of detail should be published there?

I wish to add that Barry Mazur has an interesting concept of theorems that prove themselves. They are prime candidates for being re-written as telescopic texts. Any volunteer to try?

And any volunteer to write a simple WYSAWIG editor for telescopic collapsing of an HTML document? Since the whole thing is obviously recursive, you need to write a code for just two operations “A” and “B”:

0. You start with a WYSIWYG view of an html document;

1. You highlight some text (which may include previously collapsed “grey” bits), make click “A”;

2. within highlighted text, you highlight a fragment which represents the text, and make click “B”. The text colapses into the fragment which is now highlighted grey.

3. repeat.

If, in addition, you make the toy comaptible with LaTeX plug-in of WordPress, it will bejust marvelous.



  1. It’s an interesting idea, and sounds good on the surface of it, but it’s really a form of obfuscation, and so ultimately not useful. It ends up focusing the user’s attention too much on the form, not the content. It also makes skimming and searching difficult, and encourages compulsive behaviors, such as expanding all the possible links to see “what’s there”.

    Early web pages, back in 1992 or so, were heavy on hyper-links. This was seen as cool at first (look, hyperlink!), but eventually it came to be perceived as more and more of a nuisance. An etiquette subsequently emerged, where you are not supposed to link irrelevant things, or things not related to the main text in an obvious way.

  2. I am not suggesting that all proofs have to be written that way; I would like to experiment with some proofs, the tree structure of marked and hidden texts reflecting the logical structure of the proof. I used in teaching (graphically very primitive, pre-hypertext) expansion of validation trees in an old package for teaching logis, Symlog [F D Porturaro and R E Tully, Logic with Symlog:. Learning Symbolic Logic by Computer, Prentice. Hall, 1994]. It could be intersting to play with natural language proofs. Teaching the technique of proofs is becoming more and more challenging task.

  3. For HTML documents, you get some of that effect with the Aardvark firefox extension.

  4. You should have a look at Literate Programming. For an example see my paper “Implementing a Selective Undo Framework in Python”

    In the text you will notice links in angle brackets, which are the fragments you describe above, e.g. . Clicking that link will take you to the definition, which is denoted by = which is followed by the text of its definition.

    I used the tool noweb to create the document. Literate programming strives to allow the document describing the program go in an the order appropriate for a human reader, instead of in the order that the computer requires the code. The computer program within is extracted from the source document and output as linear program code.

  5. Mic and Monty: thanks. But I am an end user, you know…

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s


%d bloggers like this: