Skip to content

Commit 6c35c2a

Browse files
RaggedRclaude
andcommitted
style: show → change for linter.style.show
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1858364 commit 6c35c2a

2 files changed

Lines changed: 47 additions & 2 deletions

File tree

Archive/LangerGraph.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ noncomputable instance langerGraphAction :
482482
GraphAction langerG (Fin 63) langerSimpleGraph where
483483
adj_smul := by
484484
intro ⟨σ, hσ⟩ u v hadj
485-
show langerSimpleGraph.Adj (σ u) (σ v)
485+
change langerSimpleGraph.Adj (σ u) (σ v)
486486
revert u v; change ∀ u v, langerSimpleGraph.Adj u v → langerSimpleGraph.Adj (σ u) (σ v)
487487
refine Subgroup.closure_induction
488488
(p := fun σ _ => ∀ u v, langerSimpleGraph.Adj u v → langerSimpleGraph.Adj (σ u) (σ v))
@@ -517,7 +517,7 @@ noncomputable instance langerPretransitive :
517517
have hmem : σ_x.symm.trans σ_y ∈ langerG :=
518518
langerG.mul_mem (applyWord_mem _) (langerG.inv_mem (applyWord_mem _))
519519
exact ⟨⟨σ_x.symm.trans σ_y, hmem⟩, by
520-
show (σ_x.symm.trans σ_y) x = y
520+
change (σ_x.symm.trans σ_y) x = y
521521
simp only [Equiv.trans_apply]
522522
rw [show σ_x.symm x = 0 from by
523523
rw [Equiv.symm_apply_eq]; exact (witnessWord_correct x).symm]

Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,48 @@ instance isVertexTransitive : IsVertexTransitive G (G ⧸ H) (cosetGraph H D hD)
126126
pretransitive := MulAction.isPretransitive_quotient G H
127127

128128
end SimpleGraph.cosetGraph
129+
130+
/-! ## Coset projection
131+
132+
When `H ≤ K`, the natural projection `G ⧸ H → G ⧸ K` sends `gH ↦ gK`.
133+
If `D` is a connection set for both `H` and `K`, this projection is a
134+
graph homomorphism: adjacency in `Sab(G, H, D)` implies adjacency in
135+
`Sab(G, K, D)`.
136+
137+
This is the Sabidussi analogue of quotient by a block system: the orbits
138+
of `K` on `G ⧸ H` form a system of blocks of size `[K : H]`, and the
139+
quotient graph is `Sab(G, K, D)`. -/
140+
141+
/-- The natural projection `G ⧸ H → G ⧸ K` when `H ≤ K`. -/
142+
def cosetProjection (H K : Subgroup G) (hle : H ≤ K) :
143+
G ⧸ H → G ⧸ K :=
144+
Quotient.map id fun _ _ hab => by
145+
change (QuotientGroup.leftRel K).r _ _
146+
have hab' : (QuotientGroup.leftRel H).r _ _ := hab
147+
rw [QuotientGroup.leftRel_apply] at hab' ⊢
148+
exact hle hab'
149+
150+
@[simp]
151+
theorem cosetProjection_mk (H K : Subgroup G) (hle : H ≤ K)
152+
(g : G) : cosetProjection H K hle ⟦g⟧ = ⟦g⟧ :=
153+
rfl
154+
155+
/-- **Coset projection is a graph homomorphism**: if `H ≤ K` and `D` is a
156+
connection set for both, then adjacency in `Sab(G, H, D)` implies
157+
adjacency in `Sab(G, K, D)`.
158+
159+
The proof is trivial: adjacency is `x⁻¹y ∈ D` in both graphs.
160+
The subgroup only determines the coset equivalence, not the adjacency test. -/
161+
theorem SimpleGraph.cosetGraph.proj_adj
162+
{H K : Subgroup G} (hle : H ≤ K) {D : Set G}
163+
(hDH : IsConnectionSet H D) (hDK : IsConnectionSet K D)
164+
(q₁ q₂ : G ⧸ H) :
165+
(cosetGraph H D hDH).Adj q₁ q₂ →
166+
(cosetGraph K D hDK).Adj (cosetProjection H K hle q₁)
167+
(cosetProjection H K hle q₂) :=
168+
Quotient.inductionOn₂ q₁ q₂ fun _ _ h => h
169+
170+
/-- The coset projection is surjective. -/
171+
theorem cosetProjection_surjective (H K : Subgroup G) (hle : H ≤ K) :
172+
Function.Surjective (cosetProjection H K hle) :=
173+
fun q => Quotient.inductionOn q fun g => ⟨⟦g⟧, rfl⟩

0 commit comments

Comments
 (0)