Theorem: primesOver_finite (FltRegular/NumberTheory/GaloisPrime.lean)

State before:
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
⊢ (primesOver S p).Finite
Tactic:
by_cases h: p.IsPrime
State after:
case pos
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : p.IsPrime
⊢ (primesOver S p).Finite

case neg
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : ¬p.IsPrime
⊢ (primesOver S p).Finite

State before:
case pos
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : p.IsPrime
⊢ (primesOver S p).Finite
Tactic:
classical
rw [← coe_primesOverFinset S p hp]
exact Finset.finite_toSet _
State after:
no goals

State before:
case pos
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : p.IsPrime
⊢ (primesOver S p).Finite
Tactic:
rw [← coe_primesOverFinset S p hp]
State after:
case pos
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : p.IsPrime
⊢ (↑(primesOverFinset S p)).Finite

State before:
case pos
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : p.IsPrime
⊢ (↑(primesOverFinset S p)).Finite
Tactic:
exact Finset.finite_toSet _
State after:
no goals

State before:
case neg
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : ¬p.IsPrime
⊢ (primesOver S p).Finite
Tactic:
rw [primesOver_eq_empty_of_not_isPrime S p h]
State after:
case neg
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : ¬p.IsPrime
⊢ ∅.Finite

State before:
case neg
R : Type u_1
S : Type u_2
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : Algebra R S
inst✝² : Ring.DimensionLEOne R
inst✝¹ : IsDedekindDomain S
inst✝ : NoZeroSMulDivisors R S
p : Ideal R
hp : p ≠ ⊥
h : ¬p.IsPrime
⊢ ∅.Finite
Tactic:
exact Set.finite_empty
State after:
no goals