Theorem: Ideal.bot_lt_of_maximal
File: Mathlib/RingTheory/Ideal/Basic.lean

Proof steps:
state_before: α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
⊢ ⊥ < M
state_after: case intro.intro
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
⊢ ⊥ < M
tactic: rcases Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top.1 non_field with ⟨I, Ibot, Itop⟩
state_before: case intro.intro
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
⊢ ⊥ < M
state_after: case intro.intro.left
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
⊢ ↑⊥ ⊆ ↑M

case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
⊢ ¬↑M ⊆ ↑⊥
tactic: constructor
state_before: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
⊢ ¬↑M ⊆ ↑⊥
state_after: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
⊢ False
tactic: intro mle
state_before: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
⊢ False
state_after: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
⊢ ⊤ < ⊤
tactic: apply lt_irrefl (⊤ : Ideal R)
state_before: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
⊢ ⊤ < ⊤
state_after: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
this : M = ⊥
⊢ ⊤ < ⊤
tactic: have : M = ⊥ := eq_bot_iff.mpr mle
state_before: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : ⊥ < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
this : M = ⊥
⊢ ⊤ < ⊤
state_after: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : M < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
this : M = ⊥
⊢ ⊤ < ⊤
tactic: rw [← this] at Ibot
state_before: case intro.intro.right
α : Type u
β : Type v
R : Type u
inst✝¹ : CommSemiring R
inst✝ : Nontrivial R
M : Ideal R
hm : M.IsMaximal
non_field : ¬IsField R
I : Ideal R
Ibot : M < I
Itop : I < ⊤
mle : ↑M ⊆ ↑⊥
this : M = ⊥
⊢ ⊤ < ⊤
state_after: no goals
tactic: rwa [hm.1.2 I Ibot] at Itop