OAI/NumberTheory/DukePrimeDegree/Dynamics/OrbitGenericity.lean
7 declarations, 0 contain sorry, 0 declared as axioms
Removing the generic-basepoint condition
A finite invariant measure on a block orbit pushes to an invariant measure on the lattice space. Diagonal recurrence gives a generic basepoint almost everywhere. Changing to that basepoint removes the genericity hypothesis from the prime-degree block-orbit obstruction.
- def
OAI.DukePrimeDegree.latticeOrbitPointline 23 - lemma
OAI.DukePrimeDegree.continuous_latticeOrbitPointline 34 - lemma
OAI.DukePrimeDegree.latticeOrbitPoint_rightActionline 39 - lemma
OAI.DukePrimeDegree.latticeOrbitPoint_map_invariantline 48 - lemma
OAI.DukePrimeDegree.diagonalFlow_mem_blockMatrixGroupline 66 - theorem
OAI.DukePrimeDegree.exists_generic_block_orbit_pointline 75Source documentation
Every nonzero finite invariant block-orbit measure admits a generic lattice representative in the same actual orbit.
theorem exists_generic_block_orbit_point {d : ℕ} (g : G (d + 1)) (r : Setoid (Fin (d + 1))) (μ : Measure (LatticeOrbitQuotient g (blockMatrixGroup r))) [IsFiniteMeasure μ] (hμ : μ ≠ 0) (hinv : ∀ h : blockMatrixGroup r, μ.map (fun x => latticeOrbitRightAction g (blockMatrixGroup r) x h) = μ) : ∃ h : blockMatrixGroup r, ∀ v ∈ rowLattice (g * h.val).val, v ≠ 0 → ∀ j, v j ≠ 0 := by …Mentions: OAI.DukePrimeDegree.LatticeOrbitQuotient, OAI.DukePrimeDegree.blockMatrixGroup, OAI.DukePrimeDegree.latticeOrbitRightAction
- theorem
OAI.DukePrimeDegree.block_partition_universal_of_invariant_finite_orbitline 100Source documentation
In prime dimension, every nontrivial block subgroup with a nonzero finite invariant lattice-orbit measure has just one block. The basepoint is arbitrary; genericity is supplied by recurrence.
theorem block_partition_universal_of_invariant_finite_orbit {d : ℕ} (hn : (d + 1).Prime) (g : G (d + 1)) (r : Setoid (Fin (d + 1))) (hnontrivial : ∃ i j, i ≠ j ∧ r i j) (μ : Measure (LatticeOrbitQuotient g (blockMatrixGroup r))) [IsFiniteMeasure μ] (hμ : μ ≠ 0) (hinv : ∀ h : blockMatrixGroup r, μ.map (fun x => latticeOrbitRightAction g (blockMatrixGroup r) x h) = μ) : ∀ i j, r i j := by …Mentions: OAI.DukePrimeDegree.LatticeOrbitQuotient, OAI.DukePrimeDegree.blockMatrixGroup, OAI.DukePrimeDegree.latticeOrbitRightAction