User:Jochen Burghardt/sandbox
Unambiguity
[edit]In most use cases of an alphabet it is required that strings built from it can be decomposed into their constituent symbols unambiguously, formally: . This is required e.g. in order to define the length of a string, which is a basic notion thoughout formal language theory: many theorems are proved by induction over the length of some involved strings.
However, the requirement is often assumed just tacitly, like in Hopcroft & Ullman (1969, sect.1.1, p.1) and in Hopcroft, Motwani & Ullman (2003, sect.1.5, p.28-30). In another edition, Hopcroft & Ullman (1979, ch.1, p.1-2) wrote
A 'symbol' is an abstract entity that we shall not define formally, just as 'point' and 'line' are not defined in geometry
, which might be read as intended to express unambiguity of strings.
Perrin (1990, sect.2, p.4) mentions an alphabet consisting of "words over another alphabet as in the case of characters encoded by a fixed-length binary string" but does not discuss ambiguity issues (of variable-length encodings).
Hermes (1973, sect.II.1.2, 'Requirements to symbols') mentioned the requirement informally:
Each symbol string can be decomposed uniquely and effectively into the symbols it is composed from
.[a]
He gives the counter-example of the alphabet and the string which can be obtained in three different ways as composition of symbols.[b] Moreover, effectively
requires that the decomposition function be computable.
A sufficient condition for unambiguity is that the operations used to build the Kleene star are fresh, that is, they were not used, directly or indirectly, in the construction of the alphabet itself.[citation needed] This concerns both monoid operations, i.e. the empty string as well as concatenation. If , then each string can be obtained as composition of an arbitrary sufficiently large number of symbols, thus again preventing a reasonable definition of length. In Hermes' above example, the second symbol used the same concatenation as the Kleene star does.
A necessary condition for unambiguity can be checked using the Sardinas–Patterson algorithm from coding theory.

[dubious:] By construction in category theory, the free monoid always uses fresh operators for empty string and concatenation. Using the definition from Free object#Definition (cf. picture), the monoid with fresh operators is a valid candidate for , so the free monoid cannot identify more expressions than that does. See also section #Free monoid vs. Kleene star below. On the other hand, the Kleene star has to be an idempotent operation to satisfy the laws of a Kleene algebra. Hence, both notions disagree in case of an "ambiguous alphabet[clarify]".
Free monoid vs. Kleene star
[edit]Slightly extending Hermes' example, it is well-known that is isomorphic to the free monoid over a singleton set like .[c] The free monoid over its carrier set , in turn, is , where denotes the set of tuples of natural numbers, denotes the unique 0-tuple, and denotes tuple concatenation. Omitting inclusion functions and forgetful functors, e.g. is a member of . The monoids and are not isomorphic, since happens to be commutative, while tuple concatenation is not.
Unlike repeated free-monoid construction, the Kleene star expressions and both evaluate to the same set, viz. .
References
[edit]- Hermes, Hans (1972). Einführung in die mathematische Logik. Mathematische Leitfäden (in German) (4th ed.). Stuttgart: B.G. Teubner. ISBN 3-519-12201-4.
- Hermes, Hans (1973). Introduction to Mathematical Logic. Hochschultext (Springer-Verlag). London: Springer. ISBN 3540058192. ISSN 1431-4657.
- Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2003). Introduction to Automata Theory, Languages, and Computation (PDF). Upper Saddle River/NJ: Addison Wesley. ISBN 0-201-44124-1.
- Hopcroft, John E.; Ullman, Jeffrey D. (1969). Formal Languages and Their Relation to Automata. Reading/MA: Addison-Wesley.
- Hopcroft, John E.; Ullman, Jeffrey D. (1979). Introduction to Automata Theory, Languages, and Computation. Reading/MA: Addison-Wesley. ISBN 0-201-02988-X.
- Perrin, Dominique (1990). "Finite Automata". In Leeuwen, Jan van (ed.). Formal Models and Semantics. Handbook of Theoretical Computer Science. Vol. B. Elsevier. pp. 1–58. ISBN 0-444-88074-7.
- ^ Ad-hoc translation from the German original Hermes (1972, sect.II.1.2, p.51, 'Voraussetzungen über die Symbole', item d); please replace by literal quote from English edition and remove this footnote.
- ^ viz., , , and , leading to length 2, 2, and 3, respectively
- ^ e.g. Free_monoid#Natural_numbers
[outdated:]
Hermes example backup 1
[edit]For example, let be the free monoid over .
Then Hermes' is a subset of the carrier set of .
Let be the free monoid over the set , using different monoid operations and .
Define the mapping by and .
Then every mapping can be extended to a monoid homomorphism defined as
- ,
- ,
- , and
- for all .
Hermes example backup 2
[edit]For example, is the free monoid over , with : for each monoid and each mapping , define by
- ,
- , and
- .
Then is well-defined, a monoid homomorphism. and its carrier satisfies the commutative triangle.
Then Hermes' example reads .
Let be the free monoid over the set , using different monoid operations and .
Define the mapping by and .
Then every mapping can be extended to a monoid homomorphism defined as
- ,
- ,
- , and
- for all .
Hermes example backup 3
[edit]For example, it is well-known that is (isomorphic to) the free monoid over a singleton set , while is the free monoid over , where denotes the set of tuples of natural numbers, denotes the unique 0-tuple, and denotes tuple concatenation. The monoids and are not isomorphic, since their carrier sets and are of different cardinalities.
In contrast, the Kleene star expressions and both evaluate to .
MODULE main
VAR
semaphore : boolean;
proc1 : process user(semaphore);
proc2 : process user(semaphore);
ASSIGN
init(semaphore) := FALSE;
SPEC
AG (proc1.state = entering -> AF proc1.state = critical)
MODULE user(semaphore)
VAR
state : {idle,entering,critical,exiting};
ASSIGN
init(state) := idle;
next(state) :=
case
state = idle : {idle,entering};
state = entering & !semaphore : critical;
state = critical : {critical,exiting};
state = exiting : idle;
TRUE : state;
esac;
next(semaphore) :=
case
state = entering : TRUE;
state = exiting : FALSE;
TRUE : semaphore;
esac;
FAIRNESS
running
Distributive elements
[edit]In a (distributive or non-distributive) lattice, an element x is called a distributive element if ∀y,z: x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z). An element x is called a dual distributive element if ∀y,z: x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z). In a distributive lattice, every element is both distributive and dual distributive. In a non-distributive lattice, there may be elements that are distributive, but not dual distributive, and vice versa. For example, in the depicted pentagon lattice N5,
In classical logic, a statement[note 1] implies the statement under all circumstances. For example, the statement
"If a cake contains sugar then it tastes good", formally ,
implies under a monotone consequence relation the statement
"If a cake contains sugar and soap then it tastes good", .
Clearly this doesn't match our own understanding of cakes. Non-monotonic logic, in particular the rational consequence relation, is designed to avoid this undesired inference. By asserting
"If a cake contains sugar then it usually tastes good", ,
a rational consequence relation allows for a more realistic model of the real world, and it does not automatically follow that
"If a cake contains sugar and soap then it usually tastes good", .
However, in some cases, we do want to conclude from . Rules CMO and RMO serve that purpose; we give an example how each of them can be applied. If we also have the information
"If a cake contains sugar then it usually contains butter", ,
then we may legally conclude, under CMO, that
"If a cake contains sugar and butter then it usually tastes good", .
Using rule RMO,
"If a cake contains sugar then usually it contains no soap",
then we could legally conclude from RMO that
"If the cake contains sugar and soap then it usually tastes good", .
If this latter conclusion seems ridiculous to you then it is likely that you are subconsciously asserting your own preconceived knowledge about cakes when evaluating the validity of the statement. That is, from your experience you know that cakes that contain soap are likely to taste bad so you add to the system your own knowledge such as "Cakes that contain sugar do not usually contain soap.", even though this knowledge is absent from it. If the conclusion seems silly to you then you might consider replacing the word soap with the word eggs to see if it changes your feelings.

Properties of, and operations on, mathematical relations can be explained along family relationships.
The relation "is a child of" is
- irreflexive (nobody is a child of her/himself),
- asymmetric (if x is a child of y, then y cannot be a child of x),
- right-total (everybody is the child of someone),
- but not left-total (not everybody has a child).
The relation "is a decendant of" is
- antisymmetric (if x is a decendant of y, then y cannot be a decendant of x),
- transitive (if x is a descentant of y, and y is a descendant of z, then x is also a descendant of z),
- right-total (everybody is descendant of someone).
Different conventions may be adopted as to whether it is reflexive ("everybody is considered a descendant of her/himself"), irreflexive ("nobody is considered a descendant of her/himself"), or possibly even none of both ("some people are considered a descendant of her/himself, while others are not").
The relation "is a parent of" is the converse of "is a child of": x is a parent of y if, and only if, y is a child of x. Therefore, "is a parent of" is
- irreflexive (nobody is a parent of her/himelf, since -see above- nobody is a child of her/himself),
- asymmetric (if x is a parent of y, then y is a child of x, hence -see above- x cannot be a child of y, that is, y cannot be a parent of x),
- left-total (everybody has a parent, since -see above- everybody is the child of someone),
- but not right-total (not everybody is the parent of somebody, since -see above- not everybody has a child).
The relation "is a child of" is the union of "is a daughter of" and "is a son of":[note 2] x is a child of y if, and only if, x is a daughter of y, or x is a son of y.
The relation "is an aunt of" is the composition of "is a parent of" ∘ "is a sister of": x is an aunt of z if, and only if, x is a sister of some y such that y is a parent of z. For example, Bronisława Dłuska is an aunt of Ève Curie, since Bronisława Dłuska is a sister of Marie Curie, which, in turn, is a parent of Ève Curie, cf. picture.
Composing in reverse order yields a different relation R:[note 3] we have x R z if, and only if, x is a parent of some y such that y is a sister of z. While R is contained in the relation "is a parent of", both relations do not coincide: for example, Anne Joliot is a parent of Marc Joliot, but (Anne Joliot)R(Marc Joliot) does not hold as long as Marc Joliot does not have a sister.
TO DO: illustrate Intersection, Complement, Restriction TO DO: illustrate all Combinations of properties TO DO: illustrate properties Connected
Recent
[edit]- User:Jochen_Burghardt/sandbox1 - Stanislas I. Dockx
- User:Jochen_Burghardt/sandbox2 - Equation
- User:Jochen_Burghardt/sandbox3 - Karl-Heinz Boseck
- User:Jochen_Burghardt/sandbox4 - Path ordering (term rewriting)
- User:Jochen_Burghardt/sandbox5 - Many-sorted logic
- User:Jochen_Burghardt/sandbox6 - Chomsky hierarchy
- User:Jochen_Burghardt/sandbox7 - New riddle of induction#Quine
- User:Jochen_Burghardt/sandbox8 - Computable function
In particular, a definition an intended function f may establish a relation that is not right-unique or not serial, and hence in fact not a function. In that case, f is called ill defined; if it is not right-serial, f is also called ambiguous.
q p |
1 | 2 | 3 | 4 | 5 | 6 |
1 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2 | ![]() |
![]() |
![]() | |||
3 | ![]() |
![]() | ||||
4 | ![]() |
|||||
5 | ![]() |
|||||
6 | ![]() |
|||||
Relation : Value p divides value q |
q p |
1 | 2 | 3 | 4 | 5 | 6 |
1 | ![]() |
![]() |
![]() |
![]() |
||
2 | ![]() |
![]() |
![]() |
![]() | ||
3 | ![]() |
![]() |
![]() |
![]() | ||
4 | ![]() |
![]() |
![]() |
![]() | ||
5 | ![]() |
![]() |
![]() |
![]() | ||
6 | ![]() |
![]() |
![]() |
![]() |
||
Relation : Face p adjacent to face q |
![]() |
Example die |
In mathematics, a relation on a set associates certain elements of with each other. Formally, a relation on is a set of ordered pairs of elements of that is, a subset of the Cartesian product . An element of is related to an element if the pair is an element of .
For example, "is adjacent to" is a relation on the set of faces of the depicted example die; it associates e.g. 5,6, and likewise 6,3, but neither 3,4, nor 1,6. The left table shows for each cell whether its row's face is adjacent to its column's face. The example adjacency relation is represented as the set
this set has one element for each "" entry in the left table.
Another relation example on the same set is "divides"; it associates e.g. 3,6, but not 6,3. The right table illustrates this relation. Its is represented as the set
again, this set has one element for each "" entry in the right table.
Equation
[edit]- Well, Variety_(universal_algebra) link to identity (mathematics), which gives a fairly usable definition in its first sentence, viz. "An identity is an equality relating one mathematical expression A to another mathematical expression B, such that A and B (which might contain some variables) produce the same value for all values of the variables within a certain range of validity". I'd formalize this as: "An identity of a formula of the form ∀x1,...,xn. s = t, where s and t are terms with no other free variables than x1,...,xn". An example identity set is { ∀x,y,z.x*(y*z)=(x*y)*z , ∀x. x*1=x } for the theory of monoids. The quantifier prefix is often omitted, like { x*(y*z)=(x*y)*z , x*1=x } in the example.
- In English Wikipedia, at least the articles "identity (mathematics)", "equality (mathematics)", and "equation" deal with this issue; they mainly differ by the purpose a formula is used for. "Identity" and "equality" (I believe there is no difference between these concepts) take the formula as an assertion from which other formulas may be inferred, while "equation" takes the "s=t" part as something to be solved (like x2-2x+1=0); more formally, a constructive proof is sought for ∃x1,...,xn. s = t. However, none of the 3 articles mentions quantification at all.
Table in footnote ref
[edit]Main subsection
[edit]References subsection
[edit]Next subsection
[edit]Text in next subsection.
Set constraint
[edit]Different approaches admit different operators on sets, cf. table.
Bachmair, Ganzinger, Waldmann (1992) | {} | U | X | E1 ∪ E2 | E1 ∩ E2 | U \ E1 | f(E1,...,En) | E1 ⊆ E2 | E1 = E2 |
---|---|---|---|---|---|---|---|---|---|
Regular tree grammars | X | E1 ∪ E2 | f(E1,...,En) | E1 = E2 |
U: Universe, X: Variable, Ei: sub-expression
Markup / template examples
[edit]blue on red
- Reference within note: Chaplin believed he was born in South London.[note 4]
Notes
[edit]- ^ We use here to denote the classical consequence relation (informally: "If ... then always ..."). In constrast, we use to denote the rational consequence relation (informally: "If ... then usually ...").
- ^ In a non-binary setting, "is a child of" is the union of more than two relations, one for each gender.
- ^ Similar to child relations for non-binary genders, there is no traditional relation name available, so we use just R.
- ^ Outer reference (template): record [1] Date of his birth.[2] End of outer reference