FormalConjecturesForMathlib/NumberTheory/MultiplicativelyIndependent.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
5 declarations, 0 contain sorry, 0 declared as axioms
Multiplicatively independent integers
Two integers $p, q \ge 2$ are multiplicatively independent if $\log p / \log q$ is irrational, equivalently if $p^m = q^n$ holds only for $m = n = 0$. The condition separates bases whose expansions carry unrelated information, as in Cobham's theorem and in Furstenberg's $\times p$, $\times q$ problems.
For a family of more than two integers the notion is the joint one: no nonzero integer tuple
n satisfies ∏ i, b i ^ n i = 1. That is strictly stronger than pairwise independence, and
is what results such as Adamczewski–Faverjon's Mahler-method theorems assume.
Main definitions
Nat.MultiplicativelyIndependent: the relation for a pair of integers.Nat.MultiplicativelyIndependentFamily: the joint relation for a family of integers.
Imports (3)
Imported by 1 file
- def
Nat.MultiplicativelyIndependentTwo integers $p, q \ge 2$ are multiplicatively independent if $\log p / \log q$ is irrational, equivalently if $p^m = q^n$ holds only for $m = n = 0$ line 48 sourceSource documentation
Two integers $p, q \ge 2$ are multiplicatively independent if $\log p / \log q$ is irrational, equivalently if $p^m = q^n$ holds only for $m = n = 0$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Irrational,HDiv.hDiv,Real,Real.log5 instances, coercions and auxiliary constants left out.
def MultiplicativelyIndependent (p q : ℕ) : Prop := Irrational (Real.log p / Real.log q)
- theorem
Nat.MultiplicativelyIndependent.symmMultiplicative independence is symmetric line 51 sourceSource documentation
Multiplicative independence is symmetric.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Nat.MultiplicativelyIndependentProof uses:
Eq.mpr,Irrational,HDiv.hDiv,Real,Real.log,id,Eq,congrArg,Nat.MultiplicativelyIndependent.eq_1,Inv.inv,Eq.symm,inv_div,Irrational.inv12 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem MultiplicativelyIndependent.symm {p q : ℕ} (h : MultiplicativelyIndependent p q) : MultiplicativelyIndependent q p := by …Mentions: Nat.MultiplicativelyIndependent
- def
Nat.MultiplicativelyIndependentFamilyA family of integers is multiplicatively independent if there is no nonzero tuple of integers line 65 sourceSource documentation
A family of integers is multiplicatively independent if there is no nonzero tuple of integers $(n_i)$ with $\prod_i b_i^{n_i} = 1$; equivalently, the numbers $\log b_i$ are linearly independent over $\mathbb{Q}$, which is the form used here.
This is the joint notion, which is strictly stronger than pairwise multiplicative independence of the
b i(Nat.MultiplicativelyIndependentFamily.pairwise). For a family of two it agrees withNat.MultiplicativelyIndependent, byNat.MultiplicativelyIndependent.family.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
LinearIndependent,Rat,Real,Real.log19 instances, coercions and auxiliary constants left out.
def MultiplicativelyIndependentFamily {ι : Type*} (b : ι → ℕ) : Prop := … - theorem
Nat.MultiplicativelyIndependentFamily.pairwiseA multiplicatively independent family is pairwise multiplicatively independent line 69 sourceSource documentation
A multiplicatively independent family is pairwise multiplicatively independent.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Nat.MultiplicativelyIndependentFamily,Pairwise, Nat.MultiplicativelyIndependentProof uses:
Ne,Membership.mem,Real,Set,Set.range,Rat,HDiv.hDiv,Real.log,False,Eq,OfNat.ofNat,LinearIndependent.ne_zero,Iff.mp,LinearIndepOn,Insert.insert,Singleton.singleton,HSMul.hSMul,linearIndepOn_pair_iff,Ne.symm,LinearIndependent.linearIndepOnand 7 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem MultiplicativelyIndependentFamily.pairwise {ι : Type*} {b : ι → ℕ} (h : MultiplicativelyIndependentFamily b) : Pairwise fun i j => MultiplicativelyIndependent (b i) (b j) := by …Mentions: Nat.MultiplicativelyIndependentFamily, Nat.MultiplicativelyIndependent
- theorem
Nat.MultiplicativelyIndependent.familyA multiplicatively independent pair is a multiplicatively independent family line 78 sourceSource documentation
A multiplicatively independent pair is a multiplicatively independent family.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Nat.MultiplicativelyIndependent, Nat.MultiplicativelyIndependentFamily,Fin,Nat.succ,OfNat.ofNat,Matrix.vecCons,Matrix.vecEmptyProof uses:
Ne,Real,Real.log,Eq,Eq.mp,Irrational,HDiv.hDiv,congrArg,div_zero,Nat.MultiplicativelyIndependent.eq_1,Exists.intro,Rat,Mathlib.Meta.NormNum.isNat_eq_true,Mathlib.Meta.NormNum.isNat_ratCast,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Nat.cast_zero,Eq.mpr,LinearIndependent,idand 19 more98 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
theorem MultiplicativelyIndependent.family {p q : ℕ} (h : MultiplicativelyIndependent p q) : MultiplicativelyIndependentFamily ![p, q] := by …Mentions: Nat.MultiplicativelyIndependent, Nat.MultiplicativelyIndependentFamily