Theorem: ValuationSubring.primeSpectrumOrderEquiv_symm_apply_asIdeal_carrier
File: Mathlib/RingTheory/Valuation/ValuationSubring.lean

Proof steps:
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : __src✝ a✝ ≤ __src✝ b✝
⊢ a✝ ≤ b✝
state_after: K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ a✝ ≤ b✝
tactic: dsimp at h
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ a✝ ≤ b✝
state_after: case refine_3
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
this : A.idealOfLE ↑(A.primeSpectrumEquiv b✝) ?refine_2 ≤ A.idealOfLE ↑(A.primeSpectrumEquiv a✝) ?refine_1
⊢ a✝ ≤ b✝

case refine_1
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv a✝)

case refine_2
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv b✝)
tactic: have := idealOfLE_le_of_le A _ _ ?_ ?_ h
state_before: case refine_3
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
this : A.idealOfLE ↑(A.primeSpectrumEquiv b✝) ?refine_2 ≤ A.idealOfLE ↑(A.primeSpectrumEquiv a✝) ?refine_1
⊢ a✝ ≤ b✝

case refine_1
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv a✝)

case refine_2
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv b✝)
state_after: case refine_3
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
this : b✝.asIdeal ≤ a✝.asIdeal
⊢ a✝ ≤ b✝

case refine_1
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv a✝)

case refine_2
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv b✝)
tactic: iterate 2 erw [idealOfLE_ofPrime] at this
state_before: case refine_1
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv a✝)

case refine_2
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : A.primeSpectrumEquiv a✝ ≤ A.primeSpectrumEquiv b✝
⊢ A ≤ ↑(A.primeSpectrumEquiv b✝)
state_after: no goals
tactic: all_goals exact le_ofPrime A (PrimeSpectrum.asIdeal _)
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : a✝ ≤ b✝
⊢ __src✝ a✝ ≤ __src✝ b✝
state_after: case h
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : a✝ ≤ b✝
⊢ b✝.asIdeal ≤ a✝.asIdeal
tactic: apply ofPrime_le_of_le
state_before: case h
K : Type u
inst✝ : Field K
A : ValuationSubring K
a✝ b✝ : (PrimeSpectrum ↥A)ᵒᵈ
h : a✝ ≤ b✝
⊢ b✝.asIdeal ≤ a✝.asIdeal
state_after: no goals
tactic: exact h