Built with Alectryon, running Coq+SerAPI v8.18.0+0.18.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
nat
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
nat
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
Finite (Quotient (in_cosetL H))
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
Finite G
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
is_mere_relation G (in_cosetL H)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
Reflexive (in_cosetL H)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
Transitive (in_cosetL H)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
Symmetric (in_cosetL H)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
forallxy : G, Decidable (in_cosetL H x y)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
forallxy : G, Decidable (in_cosetL H x y)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H x, y: G
Decidable (in_cosetL H x y)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H x, y: G dec_H:= detachable_finite_subset H: forallx : G, Decidable (H x)
Decidable (in_cosetL H x y)
apply dec_H.Defined.(** Given a finite group G and a finite subgroup H of G, the order of H divides the order of G. Note that constructively, a subgroup of a finite group cannot be shown to be finite without exlcluded middle. We therefore have to assume it is. This in turn implies that the subgroup is decidable. *)
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
{d : nat & d * fcard H = fcard G}
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
{d : nat & d * fcard H = fcard G}
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
subgroup_index G H fin_G fin_H * fcard H = fcard G
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
fcard G = subgroup_index G H fin_G fin_H * fcard H
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H
finadd
(funz : Quotient (in_cosetL H) =>
fcard
{x : G &
(funx0 : G =>
trunctype_type (in_class (in_cosetL H) z x0)) x}) =
subgroup_index G H fin_G fin_H * fcard H
U: Univalence G: Group H: Subgroup G fin_G: Finite G fin_H: Finite H