Practical people have often found it easier to express complex mathematical expressions by using a two dimensional grid of values or expressions. They can be manipulated as precisely as other formulae but are often quicker to write and easier to read.
Where the table, row and col uniquely determine the text of the Item
To be precise the above are partial tables - it is possible for there to be no Text associated with a particular entry in the table. A table is complete if every Entry has a Text (even if empty):
Example Boolean Table
ABSTRACT_TABLE with Text={"T","F","-"} & Complete=true.
.Table heading
.Row item item item
.Item item item
...
.Close.TableThe items in each column areseparated by either a tab in a line or the keyword .Item at the start of a line. Rows start with the keyword .Row.
.Table x<y x=y x>y
.Row max'=y max'=x max'=x
.Row min'=x
.Item min'=y
.Item min'=y
.Close.Table[ Extended Dynamic And/Or tables ] below
. . . . . . . . . ( end of section Concrete Syntax) <<Contents | End>>
Here is a compressed form where vaule are put under both variables
and operators:
Table
| ( | P | and | Q | ) | <= | P |
|---|---|---|---|---|---|---|
| ( | 1 | 1 | 1 | ) | 1 | 1 |
| ( | 0 | 0 | 1 | ) | 1 | 0 |
| ( | 1 | 0 | 0 | ) | 1 | 1 |
| ( | 0 | 0 | 0 | ) | 1 | 0 |
| - | P | not P |
|---|---|---|
| Q | 1 | 1 |
| not Q | 1 | 1 |
In theory, the values in a Karnaugh map can be symbols or
expressions. The result are the same as
[ Function Tables ]
below.
[click here
if you can fill this hole]
Decision Tables
A decision table is actually made up of two different tables
that share common collumns. In the top table the conditions
are tabulated. In the lower table are the actions.
There are two forms. The
simplest one lists conditions and actions in the first
column and truth values (T,F,-) in the top columns, and
letters in the lower half:
Table
| Conditions | 1 | 2 |
|---|---|---|
| x<y | T | F |
| Actions | ||
| min:=x | A | - |
| max:=y | B | - |
| max:=x | - | A |
| min:=y | - | B |
The only problem people have experienced with decision tables is in maintaining them. Editting decision tables is not easy.
Extended Entry Decision Tables
In an extended entry table, the conditions can be any expression
and the T/F/- entries can indicate any value or set of values.
tables.
Relational Data Bases
A table with a header and a single row is a simple way to display
a tuple/object:
Table
| Name | Number |
|---|---|
| Jane Roe | 123-456-7890 |
A table with headers and many rows is an instance of a data base:
Table
| Name | Number |
|---|---|
| Jane Roe | 123-456-7890 |
| John Doe | 123-456-7809 |
Queries can be expressed by tables with blank entries.
And/Or Tables
These come from the application of logic and state machine theory to
the specification of part of a traffic control system: TCAS II
[LevesonEtal95]
The notation was welcomed by the clients and will become part of the
specifications.
| Condition | 1 | 2 |
|---|---|---|
| height<200 | F | T |
| height<100 | - | T |
| dropping | T | - |
The above table states the following condition:
The first column contain predicates and the remaining columns contain "T", "F", "-"(don't care). "T" means the predicate is true and "F" means it is false. Each column means the conjunction(and) of the rows. The table is the disjunction(or) of the meanings of the columns.
And/Or are used to define, describe, and analyse complex conditions. They are said to be palatable to normal people: [HeimdahlLeveson96] and [LevesonEtal99] for evidence.
All the standard propositions can be expressed using And/Or tables. Further there are simple (if O(2^n)) algorithms that combine them to derive conclusions, prove results, or find counter examples.
| Condition | 1 | 2 |
|---|---|---|
| P | T | - |
| Q | - | T |
| Condition | 1 |
|---|---|
| P | T |
| Q | T |
| Condition | 1 | 2 |
|---|---|---|
| P | F | - |
| Q | - | T |
| Condition | 1 |
|---|---|
| P | F |
| Condition | 1 | 2 |
|---|---|---|
| P | F | - |
| Q | - | F |
| Condition | 1 |
|---|---|
| P | F |
| Q | F |
| Condition | 1 |
|---|---|
| P | T |
| Q | F |
Extended And/Or Tables
It seems possible to extend And/Or tables so that the entries
stand for values other than "True", "False" and "don't care".
An interesting avenue of research is to interpret these entries as sets of possible values of expressions. The following re-expresses ex1 using symbolic sets as well as conditions. Here the don't care condition "-" indicates the set {T,F}.
| Condition | 1 | 2 |
|---|---|---|
| height | 0..100 | 100.. |
| dropping | T | - |
Using
[ X/Y Tables ]
below we can express Fuzzy Logic
[ FUZZY ]
as well as standard
propositional logic.
Function Tables
An example would be good, but my notation and HTML
do not easily express all the nuances of these tables:
[click here
if you can fill this hole]
Dynamic And/Or tables
An And/Or table with dynamic predicates for entries but similar
semantics. For example:
would be tabulated as follows:
Table
| x<y | T | F | F |
| x=y | F | T | F |
| x>y | F | F | T |
| max'=y | T | T | F |
| max'=x | F | T | T |
| min'=x | T | T | F |
| min'=y | F | T | T |
Extended Dynamic And/Or tables
An Extended And/Or table with dynamic predicates for entries with similar
semantics. For example:
could be tabulated as follows:
Table
| (x,y) in | < | = | > |
|---|---|---|---|
| max'= | y | x | x |
| min'= | x | y | y |
If we permit expressions as entries we end up with trace tables:
Table
| x<y | x=y | x>y |
|---|---|---|
| max'=y | max'=x | max'=x |
| min'=x | min'=y | min'=y |
For example the relation expression:
is tabulated like this:
Table
| x<y | x=y | x>y |
|---|---|---|
| min:=x | min:=y | max:=x |
| max:=y | max:=min | min:=y |
X/Y Tables
An X/Y table is the general form of an And/Or table
or TEMPO Table( Union/Product table).
Given any algebra with two infix operators X and Y
(some example algebras can be found at
[ math_41_Two_Operators.html ]
and
[ math_45_Three_Operators.html ]
)
then an X/Y table is a way to write expressions where X is applied first
to create terms and then the terms are combined with the Y operator.
For example
| (*)/(+) | ||
|---|---|---|
| a | b | c |
| x^2 | x | 1 |
Note. A serial operator (like and, or, +, *, &, |, etc) can be used as a function of a vector as well as an infix operator:
For example here is a Composition/Union table showing the WWW standard for encoding data:
| (;)/(|) | |||
|---|---|---|---|
| letter | digit | space | char~(letter|digit|space) |
| Id | Id | plus | "%" hex |
| (;)/(|) | ||||
|---|---|---|---|---|
| letter | digit | space | plus | char~(letter|digit|space|plus) |
| Id | Id | plus | Id | "%" hex |
X and Y (above) could be the intersection and union operators of standard set theory [ Extended And/Or Tables ] or of Fuzzy Set Theory:
. . . . . . . . . ( end of section Applications) <<Contents | End>>
. . . . . . . . . ( end of section Tabular Notations) <<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