OAI/GroupTheory/Hyperbolic/PermutationCycles.lean
45 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.Release075.PermCycles.Cyclesline 13 - instance
OAI.Release075.PermCycles.(instance at line 14)line 14 - def
OAI.Release075.PermCycles.clline 16 - theorem
OAI.Release075.PermCycles.cl_eq_iffline 19 - theorem
OAI.Release075.PermCycles.cl_surjectiveline 23 - def
OAI.Release075.PermCycles.orbitline 25 - theorem
OAI.Release075.PermCycles.mem_orbitline 29 - theorem
OAI.Release075.PermCycles.orbit_eq_imageline 33 - theorem
OAI.Release075.PermCycles.orbit_card_of_periodline 53 - def
OAI.Release075.PermCycles.fiberOrbitEquivline 60 - theorem
OAI.Release075.PermCycles.card_fiberline 67 - theorem
OAI.Release075.PermCycles.sum_card_fibersline 72 - theorem
OAI.Release075.PermCycles.card_eq_mul_cyclesline 78 - theorem
OAI.Release075.PermCycles.orbit_card_involutionline 89Source documentation
A fixed-point-free involution has precisely two darts in each edge orbit.
theorem orbit_card_involution (f : Perm A) (h : Function.Involutive f) (hne : ∀ a, f a ≠ a) (a : A) : (orbit f a).card = 2 := by …Mentions: OAI.Release075.PermCycles.orbit
- theorem
OAI.Release075.PermCycles.orbit_card_threeline 97Source documentation
A three-cycle orbit is counted with all corners, not merely its moved support.
theorem orbit_card_three (f : Perm A) (a : A) (hp : (f^3) a = a) (hne : f a ≠ a) : (orbit f a).card = 3 := by …Mentions: OAI.Release075.PermCycles.orbit
- theorem
OAI.Release075.PermCycles.minimalPeriod_posline 120 - theorem
OAI.Release075.PermCycles.orbit_card_eq_minimalPeriodline 124 - theorem
OAI.Release075.PermCycles.cl_applyline 133 - theorem
OAI.Release075.PermCycles.invariant_sameCycleline 146Source documentation
Any function invariant under one permutation step is constant on entire cycles. This includes negative powers without any infinite search.
theorem invariant_sameCycle {B : Type*} (f : Perm A) (q : A → B) (h : ∀ x, q (f x) = q x) {x y : A} (hxy : f.SameCycle x y) : q x = q y := by … - def
OAI.Release075.PermCycles.descendline 155 - theorem
OAI.Release075.PermCycles.descend_clline 159 - theorem
OAI.Release075.PermCycles.swap_mergesline 164Source documentation
Switching the two outgoing cycle destinations joins distinct cycles. This is the elementary surgery used when gluing or cancelling planar picture arcs.
theorem swap_merges (f : Perm A) {a b : A} (hab : ¬ f.SameCycle a b) : (Equiv.swap a b * f).SameCycle a b := by … - theorem
OAI.Release075.PermCycles.old_cycles_of_swap_mergedline 196 - theorem
OAI.Release075.PermCycles.card_subtype_ne_add_oneline 214 - theorem
OAI.Release075.PermCycles.cycles_card_swap_of_not_sameline 225Source documentation
Exact cycle count for merging two different cycles by one swap. Fixed points are included in the count, unlike the support-cycle count in permutation sign.
theorem cycles_card_swap_of_not_same (f : Perm A) {a b : A} (hab : ¬ f.SameCycle a b) : Fintype.card (Cycles (Equiv.swap a b * f)) + 1 = Fintype.card (Cycles f) := by …Mentions: OAI.Release075.PermCycles.Cycles
- theorem
OAI.Release075.PermCycles.swap_splitsline 277Source documentation
Switching the destinations within one cycle cuts it into two. The proof uses the initial orbit segment from
atob, rather than assuming an unproved topological separation statement.theorem swap_splits (f : Perm A) {a b : A} (hne : a ≠ b) (hab : f.SameCycle a b) : ¬ (Equiv.swap a b * f).SameCycle a b := by … - theorem
OAI.Release075.PermCycles.cycles_card_swap_of_sameline 323 - def
OAI.Release075.PermCycles.joinPairline 340Source documentation
Join just two classes of a partition.
def joinPair (s : Setoid A) (a b : A) : Setoid A := …
- theorem
OAI.Release075.PermCycles.le_joinPairline 344 - theorem
OAI.Release075.PermCycles.joinPair_relline 348 - theorem
OAI.Release075.PermCycles.joinPair_leline 352 - theorem
OAI.Release075.PermCycles.joinPair_eq_of_relline 361 - theorem
OAI.Release075.PermCycles.card_joinPairline 365Source documentation
The exact loss of one component when two distinct classes are joined.
theorem card_joinPair (s : Setoid A) {a b : A} (hab : ¬ s a b) : Nat.card (Quotient (joinPair s a b)) + 1 = Nat.card (Quotient s) := by …Mentions: OAI.Release075.PermCycles.joinPair
- abbrev
OAI.Release075.PermCycles.componentsline 411Source documentation
Components of the graph generated by two permutations; cycles of their product are contained in these components.
abbrev components (f g : Perm A) : Setoid A := …
- def
OAI.Release075.PermCycles.cycleCountline 414 - def
OAI.Release075.PermCycles.componentCountline 415 - theorem
OAI.Release075.PermCycles.sameCycle_le_of_stepline 417 - theorem
OAI.Release075.PermCycles.sameCycle_mul_le_componentsline 428 - theorem
OAI.Release075.PermCycles.components_swap_of_not_sameline 438 - theorem
OAI.Release075.PermCycles.cycleCount_oneline 470 - theorem
OAI.Release075.PermCycles.components_oneline 478 - theorem
OAI.Release075.PermCycles.componentCount_oneline 486 - theorem
OAI.Release075.PermCycles.cycleCount_swap_of_not_sameline 489 - theorem
OAI.Release075.PermCycles.cycleCount_swap_leline 493 - theorem
OAI.Release075.PermCycles.euler_boundline 509Source documentation
Euler's upper bound for an arbitrary oriented combinatorial map, allowing multiple components and positive genus. No planarity theorem is assumed.
theorem euler_bound (f g : Perm A) : cycleCount f + cycleCount g + cycleCount (f*g) ≤ Fintype.card A + 2 * componentCount f g := by …Mentions: OAI.Release075.PermCycles.cycleCount, OAI.Release075.PermCycles.componentCount