[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] / [ ] / math_31_One_Associative_Op
[Contents] [Source Text] || [Notation] || [Copyright] || [Contact] [Search ]
Sat May 19 07:53:44 PDT 2012

# One Associative Operator

A set of elements with a single operation on it is one of the commonest structures on modern mathematics -- especially when the operation is associative:
1. a * (b*c) = (a*b)*c.

In MATHS we document three forms depending on whether the operation has a unit:

2. a *1 = 1* a = a.

Further, whether it has an inverse

3. a*x=x*a = 1.

## Semigroup

A set of elements that have an associative operator is called a semigroup. The formal structure is defined as:
4. SEMIGROUP::=Net{Set:Sets, op:associative(Set)}.

Detailed properties are documented in [ math_32_Semigroups.html ]

We also use the same word to refer to the set of elements, when there exists such an operation:

5. semigroup::={ Set:Sets || (Set,op) in \$ SEMIGROUP},

The same word (semigroup) with different capitalization indicates the collection of tpls (Set, op) that form semigroups:

6. Semigroup::=\$ SEMIGROUP.
7. (above)|-(A,B) in Semigroup iff A in Sets and op in associative(A).

It is also helpful to have the following abreviations:

8. For op, semigroup(op)::={ Set:Sets || (Set,op) in \$ SEMIGROUP},
9. For *:infix(T1), semigroup(*)::={S:@T1||SEMIGROUP(Set=>S,op=>*)}

The above set of definitions is typical of the various ways the name of an algebraic system can be used. This package defining semigroup and Semigroup in terms of SEMIGROUP can be quickly introduced by asserting:

10. |-ALGEBRA(SEMIGROUP, Semigroup, semigroup).

A semigroup is said to be Abelian if its operator commutes.

11. ABELIAN::=Net{Set:Sets, op:commutative(Set)}.
12. ABELIAN_SEMIGROUP::=SEMIGROUP and ABELIAN.
13. Abelian_semigroup::=\$ ABELIAN_SEMIGROUP.

Abelian semigroups are also called

14. COMMUTATIVE_SEMIGROUPS::= See http://www.csci.csusb.edu/dick/maths/math_32_Semigroups.html#Commutative_Semigroups.

A lattice is actually two semilattices - where a semilattice is a semigroup with an idempotent operation:

15. SEMILATTICE::=SEMIGROUP and ABELIAN and Net{op in idempotents(S)}.
16. |-ALGEBRA(SEMILATTICE, Semilattice, semilattice).

For more on semigroups see [ math_32_Semigroups.html ]

## Monoid

A monoid is a semigroup with a unit. See
17. MONOIDS::= See http://cse.csusb.edu/dick/maths/math_33_Monoids.html for detailed results.

18. (MONOIDS) |- MONOID::=SEMIGROUP and Net{ u:units(Set,op). ...}.
19. |-ALGEBRA(MONOID, Monoid, monoid).

## Group

A group is a monoid with an invertable operation. [ math_34_Groups.html ]
20. (above) |- GROUP::=MONOID and Net{ i:Set->Set, for all x:Set(x op x.i= x.i op x =u). ...}.
21. |-ALGEBRA(GROUP, Group, group).

. . . . . . . . . ( end of section One Associative Operator) <<Contents | End>>

1. associative::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html#associative.
2. commutative::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html#commutative.
3. units::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html#units.
4. zeroes::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html#zeroes.
5. idempotents::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html#idempotents.
6. ALGEBRA::= See http://www.csci.csusb.edu/dick/maths/math_43_Algebras.html#ALGEBRA.

# 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 might be described by Net{radius:Positive Real, center:Point, area:=π*radius^2, ...}.

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

7. STANDARD::= See http://www.csci.csusb.edu/dick/maths/math_11_STANDARD.html

# Glossary

8. above::reason="I'm too lazy to work out which of the above statements I need here", often the last 3 or 4 statements. The previous and previous but one statments are shown as (-1) and (-2).
9. given::reason="I've been told that...", used to describe a problem.
10. given::variable="I'll be given a value or object like this...", used to describe a problem.
11. goal::theorem="The result I'm trying to prove right now".
12. goal::variable="The value or object I'm trying to find or construct".
13. let::reason="For the sake of argument let...", introduces a temporary hypothesis that survives until the end of the surrounding "Let...Close.Let" block or Case.
14. hyp::reason="I assumed this in my last Let/Case/Po/...".
15. QED::conclusion="Quite Easily Done" or "Quod Erat Demonstrandum", indicates that you have proved what you wanted to prove.
16. QEF::conclusion="Quite Easily Faked", -- indicate that you have proved that the object you constructed fitted the goal you were given.
17. RAA::conclusion="Reducto Ad Absurdum". This allows you to discard the last assumption (let) that you introduced.