Introduction
These notes are based on the following page:
First time readers might like to see
There is special listing of the special kinds of homogeneous relations (transitive, reflexive, etc) in
Definition of Homogeneous Relations
Homogeneous relations have the same type for domain and codomain. They are
closed under union, intersection and complement. A homogeneous relation
can be composed with itself, giving another relation of the same type -
hence powers and series of relations.
So for example:
.RoadWorks_Ahead Conversion to a homogeneous relation
Invariants and Iterations
This is a way to handle iterative (and recursive) programs that dates back to
Whitehead and Russel's work. The idea is simple: If some property is not
changed by applying a relation, then iterating many times also leaves it
unchanged. So, iterating a relation any
number of times does not change those things that can not be varied by a
single use of the relation. Hence we define the invariants of a relation.
Floyd(and hence Hoare) used this to assign meanings to programs and prove
their properties.
This implies that do(R) is the limit of the Kleene series:
Informally, do(R) is the smallest upper bound of the above series of sets.
Programs on a Set of Relations
Given a set of relations B:@@(X,X), then the closure of B|{Id} with respect
to union(|), composition(;) is also closed with respect to iteration (do).
The smallest regular algebra which contains B is defined to be the set of
programs on the operations B:
This definitions as an algebra has some deep implications -- for example, if P:Programs(B) then Q defined by Q::=E(Q) for some programs(B|{Q}) is also a program.
Simple Programs
For a set of strings B which represent a set of relations in @(X,X), the
set of simple programs on base B, SP(B) is the set of meanings of the
finite regular expression of items in B as expressions in @(X,X). To set
this up we first define a homomorphism from regular expressions into
relations and then apply it to the set of finite regular expressions:
Invariants and Fixed Points of Functions
Notice that when the relation is a function f:X->X that has a fixed point p, then f(p)=p and so p f p and so {p} in inv(f). Thus fix(f) ==> inv(f). However any cycle of f (where f^r(x)=x) also defines another invariant of f.
[ math_15_Unary_Algebra.html ]
Elementary Changes to a Set
Given a set S, a value x,
If S is ordered then the minimum values are input first - whatever sequence they are output. So a poset is MATHS's model to COBOL's SORT verb or a library sort.
By giving S different structures then many standard data storage systems can be modeled: RAM, Queues, stacks, Bags,... .
Relations under a mapping
Given a homogeneous relation on a set and a map into that set then there is an equivalent relation in the domain in the map.
This is the paradigmatic example of a powerful technique - using inverse mappings to transfer structure from codomain to domain:
Notation:
Results:
Equivalence relations partition their set into non-overlapping parts. This is done by associating with each element in X the set of elements that are equivalent to it: / :: X><Equivalence_relations(X) -> @@X.
The family of all these sets then forms a partition.
[ Partitions in logic_31_Families_of_Sets ]
.Dangerous_Bend
A continuous time system with sates in S
based on a set of durations T can be
modelled as a map R from T into @(S,S), if:
Net
THe best way to describe the structure of these systems (and any homogeneous relation) is to use the language of Directed Graphs
There has been much research on the long term properties of
such systems. There are 4 properties that are commonly studied:
Two of the above(EF and AG) are easily stated by using do(R):
The other two(EG and AF) need a model of paths or trajectories:
Notice the use of regular expressions to describe sets of paths.
We can show:
Thus the language of paths and regular expressions is a way to talk about the behaviors of complex systems.
. . . . . . . . . ( end of section Homogeneous Relations) <<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