Built with Alectryon. 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.
Require Import Basics.Overture Basics.Tactics WildCat.Core AbelianGroupRequire Import Basics.Overture Basics.Tactics WildCat.Core AbelianGroup
AbGroups.Z Spaces.Int Groups.QuotientGroup.(** * Cyclic groups *)(** The [n]-th cyclic group is the cokernel of [ab_mul n]. *)Definitioncyclic (n : nat) : AbGroup
:= ab_cokernel (ab_mul (A:=abgroup_Z) n).Definitioncyclic_in (n : nat) : abgroup_Z $-> cyclic n
:= grp_quotient_map.
n: nat x, y: abgroup_Z
ab_mul y (cyclic_in n x) = cyclic_in n (y * x)%int
n: nat x, y: abgroup_Z
ab_mul y (cyclic_in n x) = cyclic_in n (y * x)%int
n: nat x, y: abgroup_Z
cyclic_in n (ab_mul y x) = cyclic_in n (y * x)%int