FormalConjectures/Wikipedia/SurjunctiveGroup.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
8 declarations, 1 contain sorry, 0 declared as axioms
Gottschalk's surjunctivity conjecture
A group $G$ is surjunctive if every injective, continuous, $G$-equivariant map $A^G \to A^G$ (for any finite alphabet $A$) is surjective.
Here equivariance is with respect to the left shift action of $G$ on $A^G$, defined by $(g \cdot x)(h) = x(g^{-1} h)$, and continuity is with respect to the product topology on $A^G$ (where $A$ carries the discrete topology).
Gottschalk's conjecture (1973) states that every group is surjunctive.
References:
- Wikipedia
- Gottschalk, W. H. (1973), "Some general dynamical notions"
Imports (1)
- def
GottschalkSurjunctivity.shiftThe left shift ofx : G → Abyg : G, defined by(shift g x)(h) = x(g⁻¹ * h)line 46 sourceSource documentation
The left shift of
x : G → Abyg : G, defined by(shift g x)(h) = x(g⁻¹ * h). This is the standard left shift action ofGonA^G. We define it as a plain function rather than aMulActioninstance to avoid conflict with the pointwisePi.instMulAction.standard axioms: propext what this means
Statement uses:
GroupProof uses:
HMul.hMul,Inv.inv10 instances, coercions and auxiliary constants left out.
def shift {A : Type*} (g : G) (x : G → A) : G → A := … - theorem
GottschalkSurjunctivity.shift_applyline 50 sourcestandard axioms: propext what this means
Statement uses:
Group,Eq, GottschalkSurjunctivity.shift,HMul.hMul,Inv.invProof uses:
rfl10 instances, coercions and auxiliary constants left out.
- theorem
GottschalkSurjunctivity.shift_oneline 54 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Eq, GottschalkSurjunctivity.shift,OfNat.ofNatProof uses:
funext,of_eq_true,Eq.trans,True,congrFun',congrArg,HMul.hMul,Inv.inv,inv_one,one_mul,eq_self17 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
GottschalkSurjunctivity.shift_mulline 59 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
Group,Eq, GottschalkSurjunctivity.shift,HMul.hMulProof uses:
funext,of_eq_true,Inv.inv,Eq.trans,True,congrFun',congrArg,mul_inv_rev,mul_assoc,eq_self20 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
GottschalkSurjunctivity.IsShiftEquivariantA mapτ : (G → A) → (G → A)is equivariant (with respect to the left shift action) ifτ(shift g x) = shift g (τ x)for allg : Gandx : G → Aline 65 sourceSource documentation
A map
τ : (G → A) → (G → A)is equivariant (with respect to the left shift action) ifτ(shift g x) = shift g (τ x)for allg : Gandx : G → A.standard axioms: propext what this means
Statement uses:
GroupProof uses:
Eq, GottschalkSurjunctivity.shiftdef IsShiftEquivariant {A : Type*} (τ : (G → A) → (G → A)) : Prop := … - def
GottschalkSurjunctivity.IsSurjunctiveA groupGis surjunctive if for every finite nonempty typeA, every injective, continuous, shift-equivariant map(G → A) → (G → A)is also surjective line 73 sourceSource documentation
A group
Gis surjunctive if for every finite nonempty typeA, every injective, continuous, shift-equivariant map(G → A) → (G → A)is also surjective.Continuity is with respect to the product topology on
G → AwhereAcarries the discrete topology.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
GroupProof uses:
Fintype,Nonempty,TopologicalSpace,DiscreteTopology,Continuous, GottschalkSurjunctivity.IsShiftEquivariant,Function.Injective,Function.Surjective1 instances, coercions and auxiliary constants left out.
def IsSurjunctive : Prop := …
- theorem
GottschalkSurjunctivity.gottschalk_surjunctivity_conjectureGottschalk's surjunctivity conjecture (1973): every group is surjunctive sorry line 85 sourceSource documentation
Gottschalk's surjunctivity conjecture (1973): every group is surjunctive. That is, for every group
Gand every finite alphabetA, every injective cellular automaton onA^Gis surjective.depends on sorry what this means
Statement uses:
Group, GottschalkSurjunctivity.IsSurjunctiveProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem gottschalk_surjunctivity_conjecture (G : Type) [Group G] : IsSurjunctive G := by …Mentions: GottschalkSurjunctivity.IsSurjunctive
- theorem
GottschalkSurjunctivity.isSurjunctive_of_finiteEvery finite group is surjunctive line 92 sourceSource documentation
Every finite group is surjunctive. This is a classical result: an injective endomorphism of a finite set is surjective.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Group,Finite, GottschalkSurjunctivity.IsSurjunctiveProof uses:
Fintype,Nonempty,TopologicalSpace,DiscreteTopology,Continuous, GottschalkSurjunctivity.IsShiftEquivariant,Function.Injective,Finite.surjective_of_injective3 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem isSurjunctive_of_finite (G : Type) [Group G] [Finite G] : IsSurjunctive G := by …Mentions: GottschalkSurjunctivity.IsSurjunctive