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

subgroups of direct products #2233

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Alizter
Copy link
Collaborator

@Alizter Alizter commented Feb 25, 2025

Here was some miscellaneous stuff about subgroups of products that I didn't end up using.

<!-- ps-id: 0c8f756f-6b32-48e2-bba2-1cb311ceef94 -->

Signed-off-by: Ali Caglayan <[email protected]>
@Alizter Alizter force-pushed the ps/rr/subgroups_of_direct_products branch from eab824b to 5f7f49a Compare March 11, 2025 16:01
Comment on lines +1189 to +1191
Definition subgroup_grp_prod_l {G H : Group} (K : Subgroup G)
: Subgroup (grp_prod G H)
:= subgroup_image grp_prod_inl K.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This definition of the induced subgroup of G x H is concise, but in some ways is more complicated than necessary. First, subgroup_image is defined in terms of grp_image, which adds a truncation, but because grp_prod_inl is an embedding, the truncation is not needed. So maybe we should have a subgroup_image_embedding that uses grp_image_embedding, and then use that here?

Second, grp_image_embedding adds a sigma type (via hfiber), but in this case even that is not necessary. The predicate for the induced subgroup can be defined to send (g, h) to K g * (h = 1). But then we'd have to prove that this does define a subgroup, which probably makes it not worthwhile.

Neither of these are very important, but I thought I'd mention them.

- exact (ap snd p^).
Defined.

(** TODO: use [pred_eq] *)
Copy link
Collaborator

Choose a reason for hiding this comment

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

What is pred_eq? Is this referring to something we discussed earlier?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Predicate equality which is introduced in #2121 addressing #2202.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ah, great. I'll try to get to 2121 soon.

Comment on lines +1214 to +1217
: forall x, maximal_subgroup (grp_prod G H) x
<-> subgroup_product
(subgroup_grp_prod_l (maximal_subgroup G))
(subgroup_grp_prod_r (maximal_subgroup H)) x.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Another way to state the conclusion is

forall x, subgroup_product
            (subgroup_grp_prod_l (maximal_subgroup G))
            (subgroup_grp_prod_r (maximal_subgroup H)) x.

but maybe your way is better?

Independently, the two groups on the right can be simplified to (grp_image_embedding grp_prod_inl) and (grp_image_embedding grp_prod_inr), which avoids mentioning maximal groups, avoids subgroup_grp_prod_l and _r, and avoids the truncations. If your goal was this result, then using these versions of these groups would be a shorter way to get here.

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.

2 participants