#12224: Language as parent / Word as element
-----------------------------+----------------------------------------------
Reporter: vdelecroix | Owner: vdelecroix
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.8
Component: combinatorics | Keywords: word, language, symbolic
dynamics
Work_issues: | Upstream: N/A
Reviewer: | Author: Vincent Delecroix
Merged: | Dependencies: #10193
-----------------------------+----------------------------------------------
Changes (by vdelecroix):
* dependencies: => #10193
Old description:
> This ticket is a prerequisite to further development in the combinatorics
> of words and symbolic dynamical systems (adic language, SFT, ...).
>
> Roadmap:
> * implement Language (= set of Word) and its children FactorialLanguage,
> ProlongableLanguage, etc
> * consider a word as element of a language and move elsewhere the
> methods of Word that does not fit to this framework
> * change Words into FreeMonoid
> * coercion
>
> see also: #12225, #12227
New description:
This ticket is a prerequisite to further development in the combinatorics
of words and symbolic dynamical systems (adic language, SFT, ...). It
concerns the implementation of a class "Language" (= graded set of words)
as a Parent and a class "Word" as Element.
Roadmap:
* Use EnumeratedSets and GradedEnumeratedSets to build a class Language
and use it as a base class for
sage.combinat.words.words.Words_over_ordered_alphabet
* move into a derived class the current methods of Word that does not fit
to this framework
* Inheritate from Monoid for the language of all words on a given
alphabet and see the overlap with the code in sage.monoids.*
* coercion between different languages (on the top is the FreeMonoid)
To think about:
* what should be in the parent, what should be in the element ?
* what do we keep of the current methods of Word ?
* in general a language is not a monoid... but some of them are
(FullShift, the words with the same number of each letter, ...). Find a
way to use the Monoid category in these cases. Remark that a language
which is also a monoid is completely defined by its irreducible words (the
word that can not be built from concatenation of smaller words).
see also: #12225, #12227
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12224#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.