FormalConjectures/Wikipedia/BusyBeaver.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

13 declarations, 7 contain sorry, 0 declared as axioms

Busy Beaver

The Busy Beaver problem asks for the maximum number of steps that an n-state, 2-symbol Turing machine can take before halting, when started on an empty tape.

References:

Imports (1)
Imported by 1 file
  1. structure BusyBeaver.Candidate line 39 source

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

    Statement uses: Nat

  2. instance BusyBeaver.(instance at line 51) line 51 source
  3. instance BusyBeaver.(instance at line 52) line 52 source
  4. instance BusyBeaver.(instance at line 53) line 53 source
  5. instance BusyBeaver.(instance at line 54) line 54 source
  6. def BusyBeaver.BB BB(n) is the n-th Busy Beaver number line 60 source

    Source documentation

    BB(n) is the n-th Busy Beaver number. This is the maximum shifts function, not the "number of ones function"

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

    Statement uses: Nat

    Proof uses: SupSet.sSup, Set.ofPred, Exists, BusyBeaver.Candidate, Eq, ENat, Turing.BusyBeaver.Machine.haltingNumber, BusyBeaver.Candidate.Γ, BusyBeaver.Candidate.Λ, BusyBeaver.Candidate.Λ_inhabited, BusyBeaver.Candidate.M

    4 instances, coercions and auxiliary constants left out.

    noncomputable def BB (n : ℕ) : ℕ :=
    …
  7. theorem BusyBeaver.sanity_check To compute BB n, we need only consider machines with states and symbols indexed in Fin sorry line 67 source

    Source documentation

    To compute BB n, we need only consider machines with states and symbols indexed in Fin.

    depends on sorry what this means

    Statement uses: Nat, NeZero, Eq, ENat, BusyBeaver.BB, SupSet.sSup, Set.ofPred, Exists, Turing.BusyBeaver.Machine, Fin, OfNat.ofNat, Turing.BusyBeaver.Machine.IsHalting, Turing.BusyBeaver.Machine.haltingNumber

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

    24 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem sanity_check (n : ℕ) [NeZero n] :
        BB n = sSup {N | ∃ (M : Machine (Fin 2) (Fin n)) (_ : M.IsHalting),
          M.haltingNumber = N} := by
    …

    Mentions: BusyBeaver.BB

  8. theorem BusyBeaver.BB_1 The value of the Busy Beaver function for 1 state is 1 sorry line 74 source

    Source documentation

    The value of the Busy Beaver function for 1 state is 1.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_1 : BB 1 = 1 := by
    …

    Mentions: BusyBeaver.BB

  9. theorem BusyBeaver.BB_2 The value of the Busy Beaver function for 2 states is 6 sorry line 79 source

    Source documentation

    The value of the Busy Beaver function for 2 states is 6.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_2 : BB 2 = 6 := by
    …

    Mentions: BusyBeaver.BB

  10. theorem BusyBeaver.BB_3 The value of the Busy Beaver function for 3 states is 21 sorry line 84 source

    Source documentation

    The value of the Busy Beaver function for 3 states is 21.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_3 : BB 3 = 21 := by
    …

    Mentions: BusyBeaver.BB

  11. theorem BusyBeaver.BB_4 The value of the Busy Beaver function for 4 states is 107 sorry line 89 source

    Source documentation

    The value of the Busy Beaver function for 4 states is 107.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_4 : BB 4 = 107 := by
    …

    Mentions: BusyBeaver.BB

  12. theorem BusyBeaver.BB_5 The value of the Busy Beaver function for 5 states is 47176870 sorry line 94 source

    Source documentation

    The value of the Busy Beaver function for 5 states is 47176870.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat

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

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_5 : BB 5 = 47176870 := by
    …

    Mentions: BusyBeaver.BB

  13. theorem BusyBeaver.BB_6 Determine the value of the Busy Beaver function at n = 6 sorry line 101 source

    Source documentation

    Determine the value of the Busy Beaver function at n = 6.

    depends on sorry what this means

    Statement uses: Eq, Nat, BusyBeaver.BB, OfNat.ofNat, sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem BB_6 : BB 6 = answer(sorry) := by
    …

    Mentions: BusyBeaver.BB