Minimally an author needs to be able to indicate the structure of a document and to name the parts. Ideally this should be a simple and natural task. Others need to be able to refer to these parts and subject to copyright and plagiarism rules reuse them[Ted Nelson]. ODA (Offfice Document Architecture) provides this facility and explicitly divorces the "look and fell" of the document from its logical structure[CCITT T.410, ECMA-101(1985)) . ODA is defined by using SGML. SGML (Standard Generalized Mark-up Language) is general way to let new document structures be defined and manipulated [ISO 8613(July 1988)]. In turn SGML has been used to define the rich text format for Internet mail (MIME text/richtext).
Therefore MATHS lets the user indicate the format, structure and content of a piece of documentation by using directives. Information about these named parts, their scope etc is produced during lexical analysis as a contents list for the document. Each item in the contents list comes from a directive and has the level, an identifier and a position in the text (by line and character numbers, or a unique tag ). Access to the parts is as if it is via such a contents list.
However the enormous number of existing ways in which a piece of documentation can be written, named, used, etc makes designing a stable solution very difficult. A possible way forward is to assume that directives name the processes to be applied to the text on input and/or presentation. Thus a piece of a document might have the attribute of being written in PostScript. Another might be a piece TeX. A directive would indicate that PostScript or TeX can be invoked to interpret these pieces of input. Another example might be to indicate that a section opens here and continues to a matching closer. Most word processors can produce plain text ASCII with a loss of structure but also provide a way to re-encode the document in DCA-RFT(IBM's Document Content Architecture - Revisable Form Text). The WAISindex has half-dozen-forms including a file with records divided by a line of dashes, or records separated by blank lines, ...
The set of formats can be given for a piece of text - thus indicating inclusion of multiple views of the same data. A formatting directive can be put in front of a definition to indicate a desirable presentation.
Some formats also define formulae: lists, sets and tables have formal interpretations as vectors, sets, and relations.
| Format | Tag | End-Tag | Purpose | Likely Type |
|---|---|---|---|---|
| list | ".List" | ".Close.List" | Represents an ordered list or sequence | #(...) |
| set | ".Set" | ".Close.Set" | An unordered (mathematical) set | @(...) |
| table | ".Table" | ".Close.Table" | Present relations, databases, functions,... | @(..., ..., ...) |
| subsection | ".Open" | ".Close" | Organize a text into sections and subsections. | |
| box | ".Box" | ".Close.Box" | Place set of formula etc in a box | |
| let | ".Let" | ".Close.Let" | Used in proofs | |
| net | ".Net" | ".Close.Net" | Collects definitions, axioms, theorems etc. together. |
A long definition introduces another level into the document. The difference from a named section is that the defined term can be used in a well-formed-formula or definition, whereas a section name can not.
. . . . . . . . . ( end of section Formatted definitions) <<Contents | End>>
Missing Closing Formats
A Maths document never spreads over several files. Thus any missing
closing directives (.Close....) are assumed to be added at the end of the
file.
Optionally, but helpful, if a nested part is not terminated before the closing of an out part, then it would be nice (but not necessary) to insert the missing closing directive just before the present one. A precedent for this approach is Ada. For example:
.Open A
...
.Net
...
.Close Ameans the same thing as
.Open A
...
.Net
...
.Close.Net
.Close AAny form of error message is to be avoided unless the user asks for it!
Note. Current translators tend to avoid error messages but let browsers handle the malformed HTML that are generated by closing incorrectly or omitting a closer.
Standard Road Signs
MATHS has a special directive
.Holeand
.Hole descriptionwhich generates a symbol indicating a place where something can fill in the details. A place to plug things in. Rather than a traditional "person digging a hole" the current icon represents an American three pin electrical socket
The following directives are standard but undefined. There appearance will be varied from one country to another. There are a lot more possibilities.
Added Comments and notes
A reviewer can add sections or paragraph to a document. The system should
insert this header:
The ideal support system for MATHS will include automatic content lists, and outlines, plus indexes and cross-reference lists of definitions and declarations. In interactive mode it will allow selective searching and viewing of documents as an outline and with hypertext links. It will automatically prepare readable hardcopy in the "house style" while preserving the hidden ASCII code.
The List insertion has a special form:
. . . . . . . . . ( end of section Insertion Directives) <<Contents | End>>
Desired Appearance
As-is, Box, Digraph, Diagram, DFD, Endnote, Equation, ERD, Figure,
Footnote, Graphic, List, Matrix, SADT, StateChart, Table, uuencode,
VDM, Z.
Notations
Ada, APL, C, COBOL, FORTRAN, LaTeX, MIME, nroff, PostScript, Pascal, RTF,
SGML, TeX, MSWord, WordPerfect.
Waisindex Formats
Krol 92(p226, table 12-1) [Krol92, Ed Krol, The Whole Internet
User's Guide and Catalog, O'Reilly & Assoc, Sebastopol CA 1992,
nuts@ora.com ]
text, bibtex, bio, cmapp, dash, dvi, emacsinfo, first_line, gif, irg,
mail_digest, mail_or_rmail, medline, mh-bboard, netnews, nhyp, one_line,
para, pict, ps, refer, rn, server, tiff, ftp.
Insertions
Author, Author_signoff, Author_signature, Author_portrait, Address, EMail,
Index, Bibliography, By_line, Contents, Copyrighter, Cross_references,
Company_Logo, Date_line, Directives, Disclaimer, Equations, Figures, File,
List, Location, Owner, Readers, Reviewers, See, Tables,..., Time_stamp,
Used_by, Uses, . . .
Common Data Formats
CDF(Common Data Format), CGM(Computer Graphics Metafile), FITS (Flexible
Image Transport System), DHDF (Hierarchical Data), MIME, Net CDF, PICT
(macintosh bit-maps), PostScript, SDTS(Spatial Data Transfer Standard),
TIFF(Tagged Image File Format), ...
MIME Content Types/Subtypes (Circa 1993)
RFC1341
text/plain, text/richtext, text/simplemail, multipart/mixed,
multipart/alternative, multitype/parallel, multipart/digest,
message/rfc822, message/partial, message/External-body, image/jpeg,
image/gif, audio/basic, application/octet-stream, application/ODA,
application/PostScript,
RFC1314
image/ief
MIME Registered Application Subtypes
Baker 93, Stephen Baker, UNIX review June 1993 page 28
atomicmail, andrew-inset, slate, WITA, DEC-DX, DCA-RFT, activemail
.Road_Work_Ahead
Other possibilities
He has also supported the development (by CoRT = the Cognitive Research
Trust) of frameworks that include:
PMI framework
. . . . . . . . . ( end of section Bringing ideas together) <<Contents | End>>
. . . . . . . . . ( end of section Formatting) <<Contents | End>>
. . . . . . . . . ( end of section Popular Informal Frameworks) <<Contents | End>>
Output
".ce"
Name EOLN
".TS" EOLN
"center box ;" EOLN
"aw(50n) ." EOLN
#(
( short & (declaration | definition | assertion | comment) EOLN
| long &
( "T{" EOLN
(declaration | definition | assertion | comment)
& #{line EOLN}
"T}" EOLN
)
)
".TE" EOLN.
. . . . . . . . . ( end of section troff...) <<Contents | End>>
. . . . . . . . . ( end of section HTML) <<Contents | End>>
. . . . . . . . . ( end of section TeX) <<Contents | End>>
if you can fill this hole]
. . . . . . . . . ( end of section XML) <<Contents | End>>
. . . . . . . . . ( end of section Output) <<Contents | End>>
Proofs follow a natural deduction style that start with assumptions ("Let") and continue to a consequence ("Close Let") and then discard the assumptions and deduce a conclusion. Look here [ Block Structure in logic_25_Proofs ] for more on the structure and rules.
The notation also allows you to create a new network of variables and constraints. A "Net" has a number of variables (including none) and a number of properties (including none) that connect variables. You can give them a name and then reuse them. The schema, formal system, or an elementary piece of documentation starts with "Net" and finishes "End of Net". For more, see [ notn_13_Docn_Syntax.html ] for these ways of defining and reusing pieces of logic and algebra in your documents. A quick example: a circle = Net{radius:Positive Real, center:Point}.
For a complete listing of pages in this part of my site by topic see [ home.html ]
Notes on the Underlying Logic of MATHS
The notation used here is a formal language with syntax
and a semantics described using traditional formal logic
[ logic_0_Intro.html ]
plus sets, functions, relations, and other mathematical extensions.
For a more rigorous description of the standard notations see