List of ASCII codes used in MATHS
[ comp.text.ASCII.html ]
Use of ASCII Characters
. . . . . . . . . ( end of section Use of ASCII Characters) <<Contents | End>>
non">
Strings
Strings are used to represents sequences or arrays of ASCII characters
and follow the same rules as C or C++.
\" indicates a quotation mark inside inside a string
\\ indicates a backslash when inside a string.The backslash character is also used in MATHS, outside of strings to in much the way that it is in TeX and nroff [ Tex and Nroff Symbols ]
Identifiers are use to identifier things and are classified as mathematical or algebraic variables and terms. Some identiers have predefined or standard meanings. A properly formed identifier is made up of recognisable words separated by under_line symbols. This ensures that the majority of MATHS documents can be spell checked.
Special Identifiers
Some identifiers and symbols are used in a special way in the syntax.
[ notn_13_Docn_Syntax.html ]
Many of these prefix a block of text in the C-like syntax "{...}". For example "Net" prefixes a schematic summary of a piece of documentation:
The above attaches a name to a collection of variables/parameters and constraints. Think of these as a network of statements that work logically and yet may not apply to any known reality. In Sir Francis Bacons terms: a piece of theatre, fictional and scenic. This allows people to play creatively with ideas to see what they imply. They can be mapped onto a class of objects in a program. They may reflect some situation in the real world. These are not a necessary property. However it is wise to always include an example of the "Net".
Formally the above "Net" is equivalent to a form like this: [ signature ] (constraint)
Older Notation
Prior to February 1997 there were several extended schematic forms.
These are now handled as Directives.
"Case{" Introduces a demonstration, a block of text with several alternative local assumptions and declarations.
"Consider{"
"
"Po{" Introduces a block of text with one or more local assumptions.
"with" adds new pieces of documentaion to an existing named piece.
"set" or "$"
"map", "fun", or "λ"
"rel"
Identifiers used in Well Formed Formulae
Some special identifiers are used to construct well formed formula:
For all Real x, if x>0 then for 2 Real y ( y*y = x )
Other Documented Identifiers
Each mathematical system, when documented in MATHS and linked into a MATHS document can introduce further identifiers:
[ home.html ]
Half_baked identifiers
Perhaps the end of the alphabet could be used as instant variables
in definitions and formula?
. . . . . . . . . ( end of section Identifiers) <<Contents | End>>
Nroff, troff, TeX etc., use backslash followed by string of printable characters to indicate non-ascii characters such as Greek letters and mathematical symbols: [ comp.text.TeX.html ] [ comp.text.TeX.Mathematical.html ]
MATHS Symbols
It is natural to type ">->" to indicate an arrow. A notation like this
has recently been suggested for the Z specification language... but it has been
part of MATHS since it birth on a Frieden Flexowriter in the 1960's.
Symbols can be used together or alone. At different points in a piece of documentation different symbols are defined. If whitespace is omitted then even sophisticated context dependant syntactic analysis may fail to divide a symbol up into meaningful sub_symbols (Example "x+++++x" in C).
Some symbols are used in a special way in the syntax:
|-
:.
->
=>
:=
==
+>
::
::=
Incorporating other languages
One problem with designing language that has many areas of application is
allowing it to act as a metalanguage for other languages - as well as
for itself. There is a need to suspend some, but not all of the rules in
certain contexts. I have chosen to use a string delimitted by reversed
quotes to indicate this.
.Dangerous_bend BNF-style brackets (brockets) are shouldn't be used outside these special strings withot an escape symbol since the less-than and greater-than symbols are used for other purposes in mathematics.
.RoadWorksAhead At this time the dollar sign can be used in front of an identifier to create a hypertext link to the definition of the identifier. This is a stopgap until a proper parser is available that automatically links defined terms to their definitions.
.RoadWorksAhead Some notations use a big dot to separate a list of declarations from the expression in which they apply. I'm considering using " . " for this purpose. At this time a double bar is used instead "||".
bracket_pair:@(left><right) ::=(l_parenthesis+>r_parenthesis) | (l_brace+>r_brace) | (l_bracket+>r_bracket) | (l_semantic_bracket+>r_semantic_bracket) | (l_brocket+>r_brocket) | (l_TeX_brace+>r_TeX_brace).
Parentheses are used disambuguate expressions and to indicate structure.
A common form are the generic schema that is used for many purposes:
For example, set( x:X || p(x) ) is a schema.
Note. An alternate syntax uses a period in place of "||". For example: 'set(x:X. p(x) )`. This is experimental.
Strange Formulae
A strange formula is one that has been formalized according to a different
system.
Directives
A raw MATHS document has the absolute minimum collection of directives that
are used to express the logical structure of a document (a croos-linked
distributed labelled hierarchy) and guide mark up and display systems. The
directives that define the overall structure and intent of a MATHS document
are in
[ notn_5_Form.html ]
Some directives are used to to allow pieces of documentation to be treated as formal statements or formulae. A piece of documentation that starts with directive .D will end with directive .Close.D where D is "Let", "Set", "Net", "Box", "Table", ... These pieces of documentation include local assumptions, definitions, and declarations. In other words MATHS has a block structure. They have a multiple of formal purposes. The underlying goal is readabillity.
The following are new (1997) notations which are being introduced to the online documentation. The older forms are still in use in some documentation and uses braces: Let{...}, Case{.... }, and so instead.
".Let": Introduces a demonstration, a block of text with one or more local assumptions and declarations, see [ Proof of Tautology ] below. [ Natural Proof in logic_2_Proofs ]
".Case": Introduces a demonstration, a block of text with several alternative local assumptions and declarations. [ Proof by Cases in logic_2_Proofs ]
".Consider": Introduces an expression that is manipulated by algebra. [ Algebra & Calculation in logic_2_Proofs ] [ notn_13_Docn_Syntax.html ]
".Net": Indicates a piece of documentation connecting some comments, terms, assumptions etc. This is used to define complex formal systems. It is important that the content of a net be written with plenty of relevant commentary. Associated with a net is a summary in terms of a list of variable declarations (the signature of the net) and assumptions (the constraint). [ notn_14_Docn_Semantics.html ] [ notn_15_Naming_Documentn.html ]
".Box" is formally like a net, but invites any rendering agent to place the content in a box. Also in a net the contents are not added to the surrounding context. The content of a box is.
".Po": Introduces a block of text with one or more local assumptions. The purpose of "Po" is to give the author permission to try out any hyPOthesis that they wish. It invites the reader to suspend judgement of the content of the block of statement until it completed. Formmally it implies the suspension of evaluation in terms of truth and falsehood. [ Trying Ideas Out in logic_2_Proofs ]
The directives ".Set", ".Table", etc (TBA) define sets of elements in an extended form and invite special rendering.
".Image" indicates the inclusion of a graphic image + a textual alternative form.
. . . . . . . . . ( end of section Symbols) <<Contents | End>>
See Also
More information on elementary syntax will be found:
Each branch of mathematics also introduces its own syntax, in particular the work done bu logicians and meta-mathematicians in the first half of the 20th century has given rise to several notations for a fairly consistent set of ideas. [ home.html ]
. . . . . . . . . ( end of section Footnotes) <<Contents | End>>
. . . . . . . . . ( end of section Basic Notation of MATHS) <<Contents | End>>
Notes on MATHS Notation
Special characters are defined in
[ intro_characters.html ]
that also outlines the syntax of expressions and a document.
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