OAI/RepresentationTheory/KazhdanLusztig/DihedralIntervals.lean
137 declarations, 0 contain sorry, 0 declared as axioms
Signed dihedral coordinates, actual dihedral intervals, exact later-edge counts and root-plane calculations.
- theorem
OAI.KLInvariance.Dihedral.wordProd_alt_oddline 15 - def
OAI.KLInvariance.Dihedral.rotationline 24 - theorem
OAI.KLInvariance.Dihedral.simple_rotationline 26 - theorem
OAI.KLInvariance.Dihedral.simple_rotation_zpowline 31 - def
OAI.KLInvariance.Dihedral.indexWordline 41Source documentation
The signed coordinate evaluates both alternating rays in the same group. The Euclidean quotient also gives the correct odd negative coordinates.
def indexWord (cs : CoxeterSystem M W) (i : ℤ) : W := …
- theorem
OAI.KLInvariance.Dihedral.indexWord_evenline 45 - theorem
OAI.KLInvariance.Dihedral.indexWord_oddline 48 - theorem
OAI.KLInvariance.Dihedral.indexWord_natline 53 - theorem
OAI.KLInvariance.Dihedral.indexWord_neg_natline 63 - theorem
OAI.KLInvariance.Dihedral.exists_indexWordline 80 - theorem
OAI.KLInvariance.Dihedral.indexWord_reflection_mulline 90Source documentation
A reflection acts on the signed index line by reflection in its midpoint. Finite dihedral groups are handled by equality in the group, without choosing residue representatives here.
theorem indexWord_reflection_mul (cs : CoxeterSystem M W) {a : ℤ} (ha : Odd a) (i : ℤ) : indexWord cs a * indexWord cs i = indexWord cs (a-i) := by …Mentions: OAI.KLInvariance.Dihedral.indexWord
- theorem
OAI.KLInvariance.Dihedral.indexWord_labelline 112 - def
OAI.KLInvariance.TitsSpace.linearPolynomialline 137 - def
OAI.KLInvariance.TitsSpace.orbitSplineline 141 - theorem
OAI.KLInvariance.TitsSpace.orbitSpline_selfline 144 - theorem
OAI.KLInvariance.TitsSpace.orbitSpline_reflectionline 147 - theorem
OAI.KLInvariance.TitsSpace.exists_pair_vectorline 162 - theorem
OAI.KLInvariance.TitsSpace.orbitSpline_pair_factorline 176 - theorem
OAI.KLInvariance.TitsSpace.orbitSpline_single_factorline 193 - theorem
OAI.KLInvariance.Dihedral.reflection_of_parityline 228 - def
OAI.KLInvariance.Dihedral.oppositeExternalline 235 - def
OAI.KLInvariance.Dihedral.sameExternalline 239 - theorem
OAI.KLInvariance.Dihedral.oppositeExternal_reflectionline 243 - def
OAI.KLInvariance.Dihedral.interpolationRootline 248 - theorem
OAI.KLInvariance.Dihedral.interpolation_existsline 251 - def
OAI.KLInvariance.MomentGraph.Sheaf.modelOutgoingline 341 - theorem
OAI.KLInvariance.MomentGraph.Sheaf.mem_modelOutgoingline 345 - def
OAI.KLInvariance.MomentGraph.Sheaf.modelProductline 350 - def
OAI.KLInvariance.MomentGraph.Sheaf.HasFlowDownline 352 - theorem
OAI.KLInvariance.MomentGraph.Sheaf.structureCompatible_iffline 359 - theorem
OAI.KLInvariance.MomentGraph.Sheaf.flowDown_flabbyline 372 - def
OAI.KLInvariance.Dihedral.inducedRootline 464 - def
OAI.KLInvariance.Dihedral.inducedLabelline 467 - theorem
OAI.KLInvariance.Dihedral.external_stepline 470 - theorem
OAI.KLInvariance.Dihedral.step_externalline 480 - def
OAI.KLInvariance.Dihedral.externalEdgeline 491 - theorem
OAI.KLInvariance.Dihedral.externalEdge_memline 496 - def
OAI.KLInvariance.Dihedral.outgoingEquivline 503 - theorem
OAI.KLInvariance.Dihedral.interpolation_productline 521 - theorem
OAI.KLInvariance.Dihedral.hasFlowDownline 531 - theorem
OAI.KLInvariance.Dihedral.inducedLabel_primeline 554 - theorem
OAI.KLInvariance.Dihedral.label_eq_of_induced_dvdline 561 - theorem
OAI.KLInvariance.Dihedral.model_flabbyline 580 - def
OAI.KLInvariance.TitsSpace.PlaneBasis.modelLabelline 612 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.model_flabbyline 616 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.model_generatedline 622 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.model_quotientline 626 - theorem
OAI.KLInvariance.bruhat_top_of_all_descentsline 644 - theorem
OAI.KLInvariance.Dihedral.exists_common_upperline 667 - theorem
OAI.KLInvariance.Dihedral.map_not_altline 700 - theorem
OAI.KLInvariance.Dihedral.swap_altline 705 - theorem
OAI.KLInvariance.Dihedral.length_alt_le_lengthline 709 - theorem
OAI.KLInvariance.Dihedral.length_indexWord_natline 722 - theorem
OAI.KLInvariance.Dihedral.length_indexWord_neg_natline 727 - theorem
OAI.KLInvariance.Dihedral.length_indexWordline 732 - theorem
OAI.KLInvariance.Dihedral.leftDescent_altline 742 - theorem
OAI.KLInvariance.Dihedral.indexWord_add_evenline 752 - theorem
OAI.KLInvariance.Dihedral.rotation_pow_maxline 763Source documentation
The maximal-length case supplies the precise signed period, without an extra finiteness hypothesis or a numerical cosine restriction.
theorem rotation_pow_max (cs : CoxeterSystem M W) (w : W) (hmax : ∀ z, cs.length z ≤ cs.length w) : rotation cs ^ cs.length w = 1 := by …Mentions: OAI.KLInvariance.Dihedral.rotation
- theorem
OAI.KLInvariance.Dihedral.indexWord_periodline 779 - theorem
OAI.KLInvariance.Dihedral.indexWord_mod_periodline 785 - theorem
OAI.KLInvariance.Dihedral.indexWord_stepline 803 - theorem
OAI.KLInvariance.Dihedral.neg_indexWord_stepline 809 - def
OAI.KLInvariance.TitsSpace.PlaneBasis.prefixRootline 826 - def
OAI.KLInvariance.TitsSpace.PlaneBasis.negPrefixRootline 829 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.prefixRoot_strictMonoline 832 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.negPrefixRoot_strictAntiline 844 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_eq_of_labelline 874 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.prefixRoot_eq_edgeRootline 882 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.negPrefixRoot_eq_edgeRootline 893 - def
OAI.KLInvariance.SignedDihedral.Beforeline 917 - theorem
OAI.KLInvariance.SignedDihedral.before_same_source_posline 920 - theorem
OAI.KLInvariance.SignedDihedral.before_same_source_negline 932 - theorem
OAI.KLInvariance.SignedDihedral.before_next_sourceline 944 - theorem
OAI.KLInvariance.SignedDihedral.midpoint_modline 965 - theorem
OAI.KLInvariance.SignedDihedral.finite_before_sameline 975Source documentation
For two outgoing edges at the same vertex, reduction modulo the period has no wrap-around exception in the midpoint comparison table.
theorem finite_before_same {m i j z : ℤ} (hm : 0 < m) (hi : |i| < |j|) (hz : |i| < |z|) (hjM : -m < j ∧ j ≤ m) (hzM : -m < z ∧ z ≤ m) : (i+j) % (2*m) < (i+z) % (2*m) ↔ Before (i+j) (i+z) := by …Mentions: OAI.KLInvariance.SignedDihedral.Before
- theorem
OAI.KLInvariance.SignedDihedral.finite_before_nextline 1001 - theorem
OAI.KLInvariance.SignedDihedral.eligible_ranks_cardline 1027 - def
OAI.KLInvariance.SignedDihedral.arrowAfterline 1046 - def
OAI.KLInvariance.SignedDihedral.countAfterline 1051Source documentation
Double internal ranks and the singleton top, with no singleton bottom term because upward arrows never end at the bottom.
noncomputable def countAfter (a label c : ℤ) : ℕ := …
- theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_of_not_ltline 1055 - theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_selfline 1058 - theorem
OAI.KLInvariance.Dihedral.length_indexWord_unboundedline 1075 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_inverted_iffline 1091 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_positive_lt_negativeline 1101 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_infinite_orderline 1143Source documentation
The two angular rays of an infinite canonical dihedral subsystem, with actual ambient labels, have precisely the source's signed-midpoint order.
theorem edgeRoot_infinite_order (hu : ∀ n : ℕ, ∃ w, n ≤ B.system.length w) {x y z t : planeSubgroup M cs P} (hxy : BruhatStep B.system x y) (hzt : BruhatStep B.system z t) {a b : ℤ} (ha : Odd a) (hb : Odd b) (hx : y*x⁻¹=indexWord B.system a) (hz : t*z⁻¹=indexWord B.system b) : geometricSlope (B.edgeRoot hxy) < geometricSlope (B.edgeRoot hzt) ↔ SignedDihedral.Before a b := by …Mentions: OAI.KLInvariance.TitsSpace.planeSubgroup, OAI.KLInvariance.BruhatStep, OAI.KLInvariance.TitsSpace.geometricSlope, OAI.KLInvariance.SignedDihedral.Before
- theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.max_length_posline 1234 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.odd_residue_reprline 1240 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_finite_orderline 1251Source documentation
The actual ambient angular order in a finite canonical plane subsystem is the increasing residue order on odd doubled midpoints.
theorem edgeRoot_finite_order (w : planeSubgroup M cs P) (hmax : ∀ z, B.system.length z ≤ B.system.length w) {x y z t : planeSubgroup M cs P} (hxy : BruhatStep B.system x y) (hzt : BruhatStep B.system z t) {a b : ℤ} (ha : Odd a) (hb : Odd b) (hx : y*x⁻¹=indexWord B.system a) (hz : t*z⁻¹=indexWord B.system b) : geometricSlope (B.edgeRoot hxy) < geometricSlope (B.edgeRoot hzt) ↔ a % (2*(B.system.length w:ℤ)) < b % (2*(B.system.length w:ℤ)) := by …Mentions: OAI.KLInvariance.TitsSpace.planeSubgroup, OAI.KLInvariance.BruhatStep, OAI.KLInvariance.TitsSpace.geometricSlope
- theorem
OAI.KLInvariance.Dihedral.indexWord_pos_ne_negline 1281 - theorem
OAI.KLInvariance.Dihedral.lower_length_fiberline 1296 - theorem
OAI.KLInvariance.Dihedral.lower_zero_fiberline 1316 - theorem
OAI.KLInvariance.Dihedral.lower_top_fiberline 1326 - theorem
OAI.KLInvariance.Dihedral.sum_lower_signedline 1341Source documentation
Actual finite dihedral lower ideals have two internal alternating rays and a singleton top. The doubled identity contributes zero.
theorem sum_lower_signed (cs : CoxeterSystem M W) (c : W) {A : Type*} [AddCommMonoid A] (f : W → A) (h1 : f 1=0) : ∑ z ∈ lowerFinset cs c, f z = (∑ n ∈ Finset.range (cs.length c), (f (indexWord cs n)+f (indexWord cs (-(n:ℤ))))) + f c := by …Mentions: OAI.KLInvariance.lowerFinset, OAI.KLInvariance.Dihedral.indexWord
- def
OAI.KLInvariance.Dihedral.GoodIndexline 1378 - theorem
OAI.KLInvariance.Dihedral.maximal_or_unboundedline 1381 - theorem
OAI.KLInvariance.Dihedral.max_length_positiveline 1396 - theorem
OAI.KLInvariance.Dihedral.maximal_eqline 1402 - theorem
OAI.KLInvariance.Dihedral.goodIndex_natline 1412 - theorem
OAI.KLInvariance.Dihedral.goodIndex_neg_natline 1419 - theorem
OAI.KLInvariance.Dihedral.exists_good_indexline 1425 - theorem
OAI.KLInvariance.SignedDihedral.odd_add_natAbsline 1455 - theorem
OAI.KLInvariance.SignedDihedral.odd_sub_natAbsline 1464 - theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_posline 1468 - theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_negline 1488 - theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_nextline 1510 - theorem
OAI.KLInvariance.SignedDihedral.countAfter_baseline 1537 - theorem
OAI.KLInvariance.SignedDihedral.total_outgoing_countline 1563Source documentation
A double internal level together with the singleton top contributes one outgoing arrow per rank, independently of top parity.
theorem total_outgoing_count (L C : ℕ) (h : L ≤ C) : (∑ r ∈ Finset.range C, if L < r ∧ Odd (L+r) then 2 else 0) + (if L < C ∧ Odd (L+C) then 1 else 0) = C-L := by … - theorem
OAI.KLInvariance.SignedDihedral.odd_add_absline 1610 - theorem
OAI.KLInvariance.SignedDihedral.arrowAfter_farline 1628 - def
OAI.KLInvariance.SignedDihedral.positiveCountline 1646 - theorem
OAI.KLInvariance.SignedDihedral.positiveCount_formulaline 1650 - theorem
OAI.KLInvariance.SignedDihedral.countAfter_pos_formulaline 1688 - theorem
OAI.KLInvariance.SignedDihedral.countAfter_neg_formulaline 1718 - theorem
OAI.KLInvariance.SignedDihedral.countAfter_next_formulaline 1741 - theorem
OAI.KLInvariance.SignedDihedral.countAfter_differenceline 1765Source documentation
The signed-index cardinality identity for the source's forward angular order. Its identification with actual Coxeter angular roots is separate.
theorem countAfter_difference {i j c : ℤ} (hij : |i| < |j|) (ho : Odd (i.natAbs+j.natAbs)) (h : c=j ∨ |j| < |c|) : countAfter i (i+j) c = countAfter j (i+j) c + (j.natAbs-i.natAbs-1)/2 := by … - theorem
OAI.KLInvariance.Dihedral.natAbs_lt_iffline 1788 - theorem
OAI.KLInvariance.Dihedral.index_step_iffline 1792 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_same_tableline 1814 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_next_tableline 1833 - def
OAI.KLInvariance.TitsSpace.PlaneBasis.afterIndicatorline 1852 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.afterIndicator_oneline 1858 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.afterIndicator_sameline 1867 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.afterIndicator_nextline 1885 - def
OAI.KLInvariance.TitsSpace.PlaneBasis.laterCountline 1919 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.laterCount_sameline 1923 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.laterCount_nextline 1948 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.laterCount_differenceline 1974 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.afterIndicator_eq_zeroline 2022 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.interval_laterCountline 2030Source documentation
Counting only the relative interval above a lower bound does not alter an outgoing count based at a vertex above that bound.
theorem interval_laterCount {a x c : planeSubgroup M cs P} (hax : BruhatLE B.system a x) (α : PositiveRoot M cs) : (∑ᶠ z : Interval B.system a c, B.afterIndicator x α z.val) = B.laterCount x α c := by …Mentions: OAI.KLInvariance.TitsSpace.planeSubgroup, OAI.KLInvariance.BruhatLE, OAI.KLInvariance.TitsSpace.PositiveRoot, OAI.KLInvariance.Interval
- theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.edgeRoot_cosetline 2048 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.interval_map_countline 2064Source documentation
A full relative interval transport carries the actual angular later-edge count. An arbitrary graph embedding would not suffice here.
theorem interval_map_count {a c : planeSubgroup M cs P} (hac : BruhatLE B.system a c) (F : Interval B.system a c → planeSubgroup M' cs' P') (hinj : Function.Injective F) (hrange : Set.range F = {z | BruhatLE B'.system (F ⟨a,bruhat_refl B.system a,hac⟩) z ∧ BruhatLE B'.system z (F ⟨c,hac,bruhat_refl B.system c⟩)}) (x : Interval B.system a c) (α : PositiveRoot M' cs') : (∑ᶠ z : Interval B.system a c, B'.afterIndicator (F x) α (F z)) = B'.laterCount (F x) α (F ⟨c,hac,bruhat_refl B.system c⟩) := by …Mentions: OAI.KLInvariance.TitsSpace.planeSubgroup, OAI.KLInvariance.BruhatLE, OAI.KLInvariance.Interval, OAI.KLInvariance.bruhat_refl, OAI.KLInvariance.TitsSpace.PositiveRoot
- def
OAI.KLInvariance.TitsSpace.ambientAfterIndicatorline 2107 - theorem
OAI.KLInvariance.TitsSpace.ambientAfterIndicator_of_leline 2113 - theorem
OAI.KLInvariance.TitsSpace.ambientAfterIndicator_edge_selfline 2120 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.ambientAfterIndicator_cosetline 2128 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.transported_count_differenceline 2145 - theorem
OAI.KLInvariance.TitsSpace.PlaneBasis.transported_count_difference_allline 2200Source documentation
The same scheduled count with no restriction on the relative rank.
theorem transported_count_difference_all {a₀ u b : W} {u' b' : W'} (hmin : ∀ z ∈ planeSubgroup M cs P, cs.length a₀ ≤ cs.length (z*a₀)) {a c : planeSubgroup M cs P} (hac : BruhatLE B.system a c) (hlo : BruhatLE cs u ((a:W)*a₀)) (hhi : BruhatLE cs ((c:W)*a₀) b) (e : Interval cs u b ≃o Interval cs' u' b') (y : Interval B.system a c) (hxy : BruhatStep B.system a y.val) : let inc := B.cosetIntervalMap hmin hlo hhi …Mentions: OAI.KLInvariance.TitsSpace.planeSubgroup, OAI.KLInvariance.BruhatLE, OAI.KLInvariance.Interval, OAI.KLInvariance.BruhatStep