Plans on groupoid homomorphisms.
More...
Go to the source code of this file.
Detailed Description
Plans on groupoid homomorphisms.
 Todo:
 Organisation

Perhaps we should subdivide the topic into four subtopics: (Ordinary) homomorphisms, isomorphisms, homotopisms, isotopisms.
 Todo:
 Naming conventions
 Todo:
 Isomorphisms

In is_isomorphic_bydef_grd we constructed the bijections directly; we should gather all similar constructions in ComputerAlgebra, and we should provide general facilities for that (see also all_isomorphisms_classes_actively_grd).

Reducing groupoidisomorphism to graph isomorphism works via the Cayley graphs?

Again we need backtracking algorithms, which should fit into a general framework.
 Todo:
 Transport via homotopies

Given a groupoid [V,compo] and three bijections f,g,h: V > V', we obtain a composition on V' we transporting compo(x,y) = z to compo(f(x),g(y)) = h(z).

Once we have that, we can also compute all isotopism classes ("actively").
 Todo:
 Homotopisms

The main notion of a homomorphism f: (G,*) > (G',*') is the standard one: f: G > G', f(x * y) = f(x) *' f(y).

Considering a groupoid [G,compo] as a valued matrix [G,G,compo,G], we have the homomorphims of valued matrices, which in this context are apparently called "homotopy": H: (G,*) > (G',*'), which are triples H = (f,g,h) where f,g,h: G > G' such that f(x * y) = g(x) *' h(y).

See "Valued matrices and their homo and isomorphisms" in ComputerAlgebra/CombinatorialMatrices/Lisp/plans/Isomorphisms.hpp.

The isomorphic homotopies are apparently called "isotopies".

The notion of (ordinary) matrix homomorphism yield "principal
homotopies" (resp. "principal isotopies"), which now assume that G = G', where then f = id_G is chosen, and the definiting equation is x * y = g(x) *' h(y).

It seems that a homotopy can always be represented as the composition of a principal homotopy and a homomorphism.

Additionally we can also consider G as a square matrix, which would lead to "square homotopies" H: (G,*) > (G',*') as pairs H = (f,g) with f,g : G > G' s.t. f(x * y) = g(x) *' g(y)", and square principal homotopies given by x * y = g(x) *' g(y).
 Todo:
 Induced congruence relation

Compare "Congruence relations" in ComputerAlgebra/Algebra/Lisp/Groupoids/plans/general.hpp.

What induced_congruence_grd computes, is just the equivalence relation induced by a map.

We should develop more general notions, likely at the level of (pure) sets.

Perhaps this should all be located in "Quotients.mac".
Definition in file Homomorphisms.hpp.