mXSCNT
- 310
- 1
Hey, I was thinking of this generalization of homomorphisms. You have a language L_1 = (A, B) where A is a set of symbols and B is a set of sequences of symbols in A. Given languages L_1 = (A, B) and L_2 = (C, D) a function f: A \rightarrow C is defined to be a homomorphism of languages if, given any sequence a_1 a_2 ... a_n \in B, we have f(a_1) f(a_2) ... f(a_n) \in D.
This is seen as a generalization. For example, if A is a set of group elements, and B is a set of sentences of the form "a_1 a_2 a_3" (the multiplication table, a_1 * a_2 = a_3), then every homomorphism of languages from A to the alphabet of another language set up like this corresponds to a group homomorphism.
Another example: if A is a set of ring elements together with special elements * + =, and B is a set of sentences of the form "a_1 * a_2 = a_3" (the multiplication table), unioned with a set of sentences of the form "a_1 + a_2 = a_3" (the addition table), then homomorphisms of languages that map * to * and + to + and = to = correspond to ring homomorphisms.
To look at it in general, A is a set of objects, and B is a set of true statements about elements of A. A homomorphism of languages f : A \rightarrow C induces a map from statements in B to corresponding statements in D that "maps truth to truth" (doesn't generate false statements, i.e. strings outside of D).What do you think? Have you heard of this?
This is seen as a generalization. For example, if A is a set of group elements, and B is a set of sentences of the form "a_1 a_2 a_3" (the multiplication table, a_1 * a_2 = a_3), then every homomorphism of languages from A to the alphabet of another language set up like this corresponds to a group homomorphism.
Another example: if A is a set of ring elements together with special elements * + =, and B is a set of sentences of the form "a_1 * a_2 = a_3" (the multiplication table), unioned with a set of sentences of the form "a_1 + a_2 = a_3" (the addition table), then homomorphisms of languages that map * to * and + to + and = to = correspond to ring homomorphisms.
To look at it in general, A is a set of objects, and B is a set of true statements about elements of A. A homomorphism of languages f : A \rightarrow C induces a map from statements in B to corresponding statements in D that "maps truth to truth" (doesn't generate false statements, i.e. strings outside of D).What do you think? Have you heard of this?
Last edited: