Theorem: _private.Mathlib.NumberTheory.NumberField.House.0.NumberField.house.house_le_bound
File: Mathlib/NumberTheory/NumberField/House.lean

Proof steps:
state_before: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
⊢ ∀ (l : β),
    house ↑(NumberField.house.ξ K x l) ≤ NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
state_after: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
⊢ ∀ (l : β),
    house ↑(NumberField.house.ξ K x l) ≤ NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
tactic: let h := finrank ℚ K
state_before: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
⊢ ∀ (l : β),
    house ↑(NumberField.house.ξ K x l) ≤ NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
state_after: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ house ↑(NumberField.house.ξ K x l) ≤ NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
tactic: intros l
state_before: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ house ↑(NumberField.house.ξ K x l) ≤ NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
state_after: case calc_1
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ house ((algebraMap (𝓞 K) K) (∑ r : K →+* ℂ, ↑(x (l, r)) * (NumberField.house.newBasis K) r)) ≤
    ∑ r : K →+* ℂ, house ((algebraMap (𝓞 K) K) ↑(x (l, r)) * (algebraMap (𝓞 K) K) ((NumberField.house.newBasis K) r))

case calc_2
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ ∑ r : K →+* ℂ, house ((algebraMap (𝓞 K) K) ↑(x (l, r)) * (algebraMap (𝓞 K) K) ((NumberField.house.newBasis K) r)) ≤
    ∑ r : K →+* ℂ, ‖x (l, r)‖ * house ((algebraMap (𝓞 K) K) ((NumberField.house.newBasis K) r))

case calc_3
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ ∑ r : K →+* ℂ, ‖x (l, r)‖ * house ((algebraMap (𝓞 K) K) ((NumberField.house.newBasis K) r)) ≤
    ∑ r : K →+* ℂ, ‖x (l, r)‖ * NumberField.house.supOfBasis K

case calc_4
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ ∑ r : K →+* ℂ, ‖x (l, r)‖ * NumberField.house.supOfBasis K ≤
    ∑ _r : K →+* ℂ, (↑q * ↑h * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p)) * NumberField.house.supOfBasis K

case calc_5
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ ∑ _r : K →+* ℂ, (↑q * ↑h * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p)) * NumberField.house.supOfBasis K ≤
    ↑h * NumberField.house.c₂ K * (↑q * NumberField.house.c₁ K * A) ^ (↑p / (↑q - ↑p))

case calc_6
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : DecidableEq (K →+* ℂ)
α : Type u_2
β : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
a : Matrix α β (𝓞 K)
ha : a ≠ 0
p q : ℕ
cardα : Fintype.card α = p
cardβ : Fintype.card β = q
h0p : 0 < p
hpq : p < q
x : β × (K →+* ℂ) → ℤ
hxl : x ≠ 0
hmulvec0 : NumberField.house.asiegel K a *ᵥ x = 0
hxbound : ‖x‖ ≤ (↑q * ↑(finrank ℚ K) * ‖NumberField.house.asiegel K a‖) ^ (↑p / (↑q - ↑p))
A : ℝ
habs : ∀ (k : α) (l : β), house ((algebraMap (𝓞 K) K) (a k l)) ≤ A
Apos : 0 ≤ A
h : ℕ := finrank ℚ K
l : β
⊢ ↑h * NumberField.house.c₂ K * (↑q * NumberField.house.c₁ K * A) ^ (↑p / (↑q - ↑p)) ≤
    NumberField.house.c₁ K * (NumberField.house.c₁ K * ↑q * A) ^ (↑p / (↑q - ↑p))
tactic: calc _ = house (algebraMap (𝓞 K) K (∑ r, (x (l, r)) * ((newBasis K) r))) := rfl
       _ ≤ ∑ r, house (((algebraMap (𝓞 K) K) (x (l, r))) *
        ((algebraMap (𝓞 K) K) ((newBasis K) r))) := ?_
       _ ≤ ∑ r, ‖x (l,r)‖ * house ((algebraMap (𝓞 K) K) ((newBasis K) r)) := ?_
       _ ≤ ∑ r, ‖x (l, r)‖ * (supOfBasis K) := ?_
       _ ≤ ∑ _r : K →+* ℂ, ((↑q * h * ‖asiegel K a‖) ^ ((p : ℝ) / (q - p))) * supOfBasis K := ?_
       _ ≤ h * (c₂ K) * ((q * c₁ K * A) ^ ((p : ℝ) / (q - p))) := ?_
       _ ≤ c₁ K * ((c₁ K * ↑q * A) ^ ((p : ℝ) / (q - p))) := ?_