SCRML Editor User Manual


This editor is very much still under construction, so a lot of the features described are not actually implemented yet. I do my best to describe which ones are not ready.


Mathematics is complicated in the sense that it has many concepts interplaying with each other. While we mathematicians can be fairly loose with our mathematics -- for the most part we can just focus on what is actively being discussed and leave the tedious details implied and/or leave the foundations to be studied elsewhere -- computers lack our intuition and so have to be explicitly given every step from foundational definitions and axioms to whatever we are currently studying. This means that to do interesting mathematics on a computer requires large amounts of intermediate steps, most of which would actually hinder a mathematician's understanding of the work because of the extreme level of detail they describe, yet they are necessary in order for a concept to be made complete.

SCRML is designed so that every step taken is done so in a separate SCRML statement, which itself can be represented in its own SCRML file. So far the editor has not played a role. If we want to make a change to a SCRML statement, though, such as renaming a piece of it or modifying a definition, then to stay consistent we have to make corresponding alterations to any other SCRML statement which references it. A mathematically interesting theory will consist of many statements, and the need to alter previous files is not only potential but an eventuality, so it quickly becomes prohibitively tedious to write the SCRML files by hand. This editor is designed to handle as much as possible the tedious minor alterations required to keep a SCRML theory consistent as it is developed.

The editor is essentially a repository of SCRML statements. Constructing a mathematical theory in SCRML amounts to constructing statements to build up the background, then more statements to build up the tools, then even more statements with the interesting theorems and their proofs. Obviously there is (will be) a way to create new statements using this editor. It will have a record of all SCRML statements used in your work, so it can help with structuring your statements so they are consistent (this is one of the primary purposes of the editor). The editor will also keep track of which statements successfully compile and will alert you if any don't, and it will help you interpret those statements which are valid. Finally, the editor keeps a live copy of the current project in your browser's storage and (will) offers options to save the project to or open a project from an existing SCRML repository.

There are, additionally, other features to help us organize the vast number of statements necessary to construct a meaningful body of mathematics. All the statements are organized by a chapter system, complete with automated numbering and arbitrary levels of nesting. You can also add (not yet ready) comments, which are not SCRML at all but are just exposition to help organize ideas.

Eventually this editor will also have a means of keeping track of the theory you build as a whole. That is, it will show you which results depend on which, which ones have been proven to be equivalent, and which claims have been left unproven and are therefore axioms. These features are important, of course, but let's start with the basics.

Chapter System

The first thing you see when opening a blank sheet is a chapter called "Book." A well-chosen name goes a long way, so it's worth knowing a few details about naming. You can rename this chapter by clicking on the title. The name must be a valid XML tag name, which means it must follow various syntax rules such as that no spaces or commas are allowed. You can optionally give the chapter a nickname and this nickname can be any string you wish. Click the toggle icon next to the name to switch between node-syntax official name and the nickname. The button "⥄" goes from node name to nickname and the button "⥂" does the reverse.

Each chapter has contents called pages. Initially there are no pages, there is only a gap. Clicking on this gap will offer a chance to input a name which, if done successfully, creates a new page in the specified position with the given name. A page is either a comment, a statement, or another chapter. Clicking the corresponding button at the top toggles between which types of pages are added by this process. Each type of page has a similar naming mechanism, with the strictly regulated node name used as an official identifier and the much more lenient nickname which is used for organization and/or presentation.

Pages are free to move about. Hovering the mouse over the name of a page brings up a toolbar on the right. The button labeled "⇳" is the move button. Clicking it puts the page into move mode. All visible gaps turn green or red, depending on whether the page is allowed to moved to that position or not. Clicking a green gap moves the page. To cancel the move simply click the move button again. If a chapter is moved it takes along all of its pages, too.

Chapters can also be deleted. This is the red button next to the move button. Deleting a chapter will cause all the pages to move up a level, taking the place which the chapter itself used to occupy. The topmost chapter, the one which started with the name "Book," cannot be deleted.