FormalConjectures/Wikipedia/AndrewsCurtis.lean

GitHub source file

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

6 declarations, 1 contain sorry, 0 declared as axioms

The Andrews-Curtis conjecture

The conjecture says that every normally generating n-tuple in the free group on n generators is Andrews-Curtis equivalent to the standard free basis.

References:

Imports (1)
  1. abbrev AndrewsCurtis.RelatorTuple An n-tuple of relators in the free group on n generators line 38 source

    Source documentation

    An n-tuple of relators in the free group on n generators.

    no axioms what this means

    Statement uses: Nat

    Proof uses: Fin, FreeGroup

    abbrev RelatorTuple (n : ℕ) := Fin n → FreeGroup (Fin n)
  2. def AndrewsCurtis.standardRelators The standard relator tuple, consisting of the free generators themselves line 41 source

    Source documentation

    The standard relator tuple, consisting of the free generators themselves.

    no axioms what this means

    Statement uses: Nat, AndrewsCurtis.RelatorTuple

    Proof uses: Fin, FreeGroup.of

    def standardRelators (n : ℕ) : RelatorTuple n :=
    …

    Mentions: AndrewsCurtis.RelatorTuple

  3. inductive AndrewsCurtis.Move The elementary Andrews-Curtis moves: inversion or multiplication of relators, interchange of two relators, and conjugation of one relator by an arbitrary word line 48 source

    Source documentation

    The elementary Andrews-Curtis moves: inversion or multiplication of relators, interchange of two relators, and conjugation of one relator by an arbitrary word.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, AndrewsCurtis.RelatorTuple

    inductive Move {n : ℕ} : RelatorTuple n → RelatorTuple n → Prop
      | invert (r : RelatorTuple n) (i : Fin n) :
          Move r (Function.update r i (r i)⁻¹)
      | multiply (r : RelatorTuple n) (i j : Fin n) (hij : i ≠ j) :
          Move r (Function.update r i (r i * r j))
      | swap (r : RelatorTuple n) (i j : Fin n) :
          Move r (fun k ↦ r (Equiv.swap i j k))
      | conjugate (r : RelatorTuple n) (i : Fin n) (w : FreeGroup (Fin n)) :
          Move r (Function.update r i (w * r i * w⁻¹))
    
    /-- Andrews-Curtis equivalence is the equivalence relation generated by elementary moves. -/

    Mentions: AndrewsCurtis.RelatorTuple

  4. def AndrewsCurtis.Equivalent Andrews-Curtis equivalence is the equivalence relation generated by elementary moves line 59 source

    Source documentation

    Andrews-Curtis equivalence is the equivalence relation generated by elementary moves.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, AndrewsCurtis.RelatorTuple

    Proof uses: Relation.EqvGen, AndrewsCurtis.Move

    def Equivalent {n : ℕ} : RelatorTuple n → RelatorTuple n → Prop :=
    …

    Mentions: AndrewsCurtis.RelatorTuple

  5. def AndrewsCurtis.NormallyGenerates A relator tuple normally generates the free group when the normal closure of its range is the whole free group line 67 source

    Source documentation

    A relator tuple normally generates the free group when the normal closure of its range is the whole free group. Equivalently, the associated balanced presentation presents the trivial group.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, AndrewsCurtis.RelatorTuple

    Proof uses: Eq, Subgroup, FreeGroup, Fin, Subgroup.normalClosure, Set.range, Top.top

    2 instances, coercions and auxiliary constants left out.

    def NormallyGenerates {n : ℕ} (r : RelatorTuple n) : Prop :=
    …

    Mentions: AndrewsCurtis.RelatorTuple

  6. theorem AndrewsCurtis.andrews_curtis_conjecture The Andrews-Curtis conjecture sorry line 77 source

    Source documentation

    The Andrews-Curtis conjecture.

    Every normally generating n-tuple in the free group of rank n is Andrews-Curtis equivalent to the standard tuple of free generators.

    depends on sorry what this means

    Statement uses: Nat, AndrewsCurtis.RelatorTuple, AndrewsCurtis.NormallyGenerates, AndrewsCurtis.Equivalent, AndrewsCurtis.standardRelators

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    1 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem andrews_curtis_conjecture (n : ℕ) (r : RelatorTuple n)
        (hr : NormallyGenerates r) :
        Equivalent r (standardRelators n) := by
    …

    Mentions: AndrewsCurtis.RelatorTuple, AndrewsCurtis.NormallyGenerates, AndrewsCurtis.Equivalent, AndrewsCurtis.standardRelators