FormalConjecturesForMathlib/Dynamics/SymbolicDynamics/BlockComplexity.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
4 declarations, 0 contain sorry, 0 declared as axioms
Block complexity and entropy of a sequence
The block complexity $p(n, a)$ of a sequence $a$ is the number of distinct blocks of $n$ consecutive terms of $a$. The entropy of $a$ is the exponential growth rate of $p(n, a)$.
References:
- [AS03] Allouche, Jean-Paul, and Jeffrey Shallit. "Automatic sequences: theory, applications, generalizations." Cambridge University Press, 2003. Chapter 10.
- [Bug12] Bugeaud, Yann. "Distribution modulo one and Diophantine approximation." Vol. 193. Cambridge University Press, 2012. Chapter 10.
Main definitions
SymbolicDynamics.blockComplexity: the number of distinct blocks of lengthnof a sequence.SymbolicDynamics.blockEntropy: the entropy of a sequence.
Imports (5)
Imported by 2 files
- def
SymbolicDynamics.blockComplexityThe block complexity $p(n, a)$ of a sequence $a$, that is, the number of distinct blocks $a_k a_{k+1} \cdots a_{k+n-1}$ of $n$ consecutive terms of $a$ line 55 sourceSource documentation
The block complexity $p(n, a)$ of a sequence $a$, that is, the number of distinct blocks $a_k a_{k+1} \cdots a_{k+n-1}$ of $n$ consecutive terms of $a$. It is
⊤when $n \ge 1$ and $a$ takes infinitely many values.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,ENNRealProof uses:
Set.encard,Fin,Set.ofPred,Exists,Eq,HAdd.hAdd4 instances, coercions and auxiliary constants left out.
noncomputable def blockComplexity {α : Type*} (a : ℕ → α) (n : ℕ) : ℝ≥0∞ := … - def
SymbolicDynamics.blockEntropyThe entropy of a sequence line 64 sourceSource documentation
The entropy of a sequence $a$, $$E(a) = \lim_{n \to \infty} \frac{\log p(n, a)}{n}.$$ The limit exists because $n \mapsto \log p(n, a)$ is subadditive, so it agrees with the
limsupused here. The value is⊤exactly when $a$ takes infinitely many values.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,ERealProof uses:
Filter.limsup,HDiv.hDiv,ENNReal.log, SymbolicDynamics.blockComplexity,Filter.atTop12 instances, coercions and auxiliary constants left out.
noncomputable def blockEntropy {α : Type*} (a : ℕ → α) : EReal := … - theorem
SymbolicDynamics.blockComplexity_constA constant sequence has exactly one block of each length line 68 sourceSource documentation
A constant sequence has exactly one block of each length.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,ENNReal, SymbolicDynamics.blockComplexity,OfNat.ofNatProof uses:
Set,Fin,Set.ofPred,Exists,HAdd.hAdd,Singleton.singleton,Set.ext,of_eq_true,Iff,Membership.mem,Eq.trans,True,congr,congrArg,congrFun',funext,iff_self,Set.encard,ENat,Set.encard_singletonand 2 more17 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem blockComplexity_const {α : Type*} (c : α) (n : ℕ) : blockComplexity (fun _ ↦ c) n = 1 := by …Mentions: c, SymbolicDynamics.blockComplexity
- theorem
SymbolicDynamics.blockEntropy_constA constant sequence has zero entropy line 77 sourceSource documentation
A constant sequence has zero entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,EReal, SymbolicDynamics.blockEntropy,Nat,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Filter.limsup,HDiv.hDiv,ENNReal.log, SymbolicDynamics.blockComplexity,Filter.atTop,Filter,funext,ENNReal, SymbolicDynamics.blockComplexity_const,ENNReal.log_one,EReal.zero_div,Filter.limsup_const,eq_self27 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem blockEntropy_const {α : Type*} (c : α) : blockEntropy (fun _ ↦ c) = 0 := by …Mentions: c, SymbolicDynamics.blockEntropy