Theorem: DedekindDomain.ProdAdicCompletions.IsFiniteAdele.algebraMap'
File: Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean

tactic: rw [IsFiniteAdele, Filter.eventually_cofinite]
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ ((algebraMap K (K_hat R K)) k).IsFiniteAdele
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {x | (algebraMap K (K_hat R K)) k x ∉ adicCompletionIntegers K x}.Finite

tactic: simp_rw [mem_adicCompletionIntegers, ProdAdicCompletions.algebraMap_apply',
  Valued.valuedCompletion_apply, not_le]
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {x | (algebraMap K (K_hat R K)) k x ∉ adicCompletionIntegers K x}.Finite
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {x | 1 < Valued.v k}.Finite

tactic: change {v : HeightOneSpectrum R | 1 < v.valuation k}.Finite
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {x | 1 < Valued.v k}.Finite
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {v | 1 < v.valuation k}.Finite

tactic: obtain ⟨⟨n, ⟨d, hd⟩⟩, hk⟩ := IsLocalization.surj (nonZeroDivisors R) k
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
⊢ {v | 1 < v.valuation k}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
⊢ {v | 1 < v.valuation k}.Finite

tactic: have hd' : d ≠ 0 := nonZeroDivisors.ne_zero hd
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
⊢ {v | 1 < v.valuation k}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | 1 < v.valuation k}.Finite

tactic: suffices {v : HeightOneSpectrum R | v.valuation (_root_.algebraMap R K d : K) < 1}.Finite by
  apply Finite.subset this
  intro v hv
  apply_fun v.valuation at hk
  simp only [Valuation.map_mul, valuation_of_algebraMap] at hk
  rw [mem_setOf_eq, valuation_of_algebraMap]
  have := int_valuation_le_one v n
  contrapose! this
  change 1 < v.intValuation n
  rw [← hk, mul_comm]
  exact lt_mul_of_le_of_one_lt' this hv (by simp) (by simp)
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | 1 < v.valuation k}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.valuation ((algebraMap R K) d) < 1}.Finite

tactic: simp_rw [valuation_of_algebraMap]
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.valuation ((algebraMap R K) d) < 1}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.intValuation d < 1}.Finite

tactic: change {v : HeightOneSpectrum R | v.intValuationDef d < 1}.Finite
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.intValuation d < 1}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.intValuationDef d < 1}.Finite

tactic: simp_rw [int_valuation_lt_one_iff_dvd]
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.intValuationDef d < 1}.Finite
state_after: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.asIdeal ∣ Ideal.span {d}}.Finite

tactic: apply Ideal.finite_factors
state_before: case intro.mk.mk
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ {v | v.asIdeal ∣ Ideal.span {d}}.Finite
state_after: case intro.mk.mk.hI
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ Ideal.span {d} ≠ 0

tactic: simpa only [Submodule.zero_eq_bot, ne_eq, Ideal.span_singleton_eq_bot]
state_before: case intro.mk.mk.hI
R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
⊢ Ideal.span {d} ≠ 0
state_after: no goals

tactic: apply Finite.subset this
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
⊢ {v | 1 < v.valuation k}.Finite
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
⊢ {v | 1 < v.valuation k} ⊆ {v | v.valuation ((algebraMap R K) d) < 1}

tactic: intro v hv
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
⊢ {v | 1 < v.valuation k} ⊆ {v | v.valuation ((algebraMap R K) d) < 1}
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}

tactic: apply_fun v.valuation at hk
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hk : k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2 = (algebraMap R K) (n, ⟨d, hd⟩).1
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation (k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2) = v.valuation ((algebraMap R K) (n, ⟨d, hd⟩).1)
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}

tactic: simp only [Valuation.map_mul, valuation_of_algebraMap] at hk
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation (k * (algebraMap R K) ↑(n, ⟨d, hd⟩).2) = v.valuation ((algebraMap R K) (n, ⟨d, hd⟩).1)
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}

tactic: rw [mem_setOf_eq, valuation_of_algebraMap]
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
⊢ v ∈ {v | v.valuation ((algebraMap R K) d) < 1}
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
⊢ v.intValuation d < 1

tactic: have := int_valuation_le_one v n
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
⊢ v.intValuation d < 1
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : v.intValuationDef n ≤ 1
⊢ v.intValuation d < 1

tactic: contrapose! this
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : v.intValuationDef n ≤ 1
⊢ v.intValuation d < 1
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuationDef n

tactic: change 1 < v.intValuation n
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuationDef n
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuation n

tactic: rw [← hk, mul_comm]
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuation n
state_after: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuation d * v.valuation k

tactic: exact lt_mul_of_le_of_one_lt' this hv (by simp) (by simp)
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 1 < v.intValuation d * v.valuation k
state_after: no goals

tactic: simp
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 0 ≤ v.valuation k
state_after: no goals

tactic: simp
state_before: R : Type u_1
K : Type u_2
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v✝ : HeightOneSpectrum R
k : K
n d : R
hd : d ∈ nonZeroDivisors R
hd' : d ≠ 0
this✝ : {v | v.valuation ((algebraMap R K) d) < 1}.Finite
v : HeightOneSpectrum R
hv : v ∈ {v | 1 < v.valuation k}
hk : v.valuation k * v.intValuation d = v.intValuation n
this : 1 ≤ v.intValuation d
⊢ 0 < 1
state_after: no goals