Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add another ViewString method for inverse semigroups #438

Conversation

james-d-mitchell
Copy link
Contributor

This commit introduces a method for ViewString for semigroups satisfying
IsInverseSemigroup and HasGeneratorsOfSemigroup. The rank of the filter
IsSemigroup and HasGeneratorsOfSemigroup is 14, whereas the rank of
IsInverseSemigroup is 21. Previously, if a semigroup learned that it was
inverse but did not have GeneratorsOfInverseSemigroup, then the default
ViewString method for IsInverseSemigroup was used. With this commit the
more elaborate _ViewStringForSemigroups is used instead.

For example, before the change:

gap> S := Semigroup(Transformation([4, 3, 5, 5, 5]),
>                   Transformation([4, 1, 5, 2, 5]), 
>                   Transformation([5, 5, 2, 1, 5]));
<transformation semigroup of degree 5 with 3 generators>
gap> IsInverseSemigroup(S);
true
gap> S;
<inverse semigroup>

After the change:

gap> S := Semigroup(Transformation([4, 3, 5, 5, 5]),
>                   Transformation([4, 1, 5, 2, 5]), 
>                   Transformation([5, 5, 2, 1, 5]));
<transformation semigroup of degree 5 with 3 generators>
gap> IsInverseSemigroup(S);
true
gap> S;
<inverse transformation semigroup of degree 5 with 3 generators>

@james-d-mitchell james-d-mitchell changed the title Add another ViewString method for inverse semigroups Add another ViewString method for inverse semigroups (WIP) Jan 8, 2016
@james-d-mitchell james-d-mitchell changed the title Add another ViewString method for inverse semigroups (WIP) Add another ViewString method for inverse semigroups Jan 8, 2016
[IsInverseSemigroup and HasGeneratorsOfSemigroup],
_ViewStringForSemigroups);

InstallMethod(ViewString, "for an inverse semigroup with generators",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method has the same info string as the previous one - could we make it more unique?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Houw about "with semigroup generators" and "with inverse semigroup generators"

@olexandr-konovalov
Copy link
Member

@james-d-mitchell thanks - looks fine to me except one remark. When ready, I suggest to merge this into the master branch to see if it breaks any tests for GAP packages. If this change will be not disruptive, it could go into stable-4.8 branch too.

This commit introduces a method for ViewString for semigroups satisfying
IsInverseSemigroup and HasGeneratorsOfSemigroup.  The rank of the filter
IsSemigroup and HasGeneratorsOfSemigroup is 14, whereas the rank of
IsInverseSemigroup is 21. Previously, if a semigroup learned that it was
inverse but did not have GeneratorsOfInverseSemigroup, then the default
ViewString method for IsInverseSemigroup was used. With this commit the
more elaborate _ViewStringForSemigroups is used instead.
@james-d-mitchell
Copy link
Contributor Author

@alex-konovalov and @fingolfin, good suggestions! I've made the changes.

@olexandr-konovalov
Copy link
Member

@james-d-mitchell thanks - looks good to me, I will merge this now. I can't find @fingolfin's comment - apparently it was made on a commit and now gone because of the forced push, but I've looked for it in my email archive to check.

olexandr-konovalov pushed a commit that referenced this pull request Jan 13, 2016
…oups

Add another ViewString method for inverse semigroups
@olexandr-konovalov olexandr-konovalov merged commit fb86a3d into gap-system:master Jan 13, 2016
@james-d-mitchell james-d-mitchell deleted the fix-view-inverse-semigroups branch March 30, 2016 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants