Theorem: NumberField.InfinitePlace.mem_orbit_iff
File: Mathlib/NumberTheory/NumberField/Embeddings.lean

tactic: refine ⟨?_, exists_smul_eq_of_comap_eq⟩
state_before: k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w w' : InfinitePlace K
⊢ w' ∈ MulAction.orbit (K ≃ₐ[k] K) w ↔ w.comap (algebraMap k K) = w'.comap (algebraMap k K)
state_after: k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w w' : InfinitePlace K
⊢ w' ∈ MulAction.orbit (K ≃ₐ[k] K) w → w.comap (algebraMap k K) = w'.comap (algebraMap k K)

tactic: rintro ⟨σ, rfl : σ • w = w'⟩
state_before: k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w w' : InfinitePlace K
⊢ w' ∈ MulAction.orbit (K ≃ₐ[k] K) w → w.comap (algebraMap k K) = w'.comap (algebraMap k K)
state_after: case intro
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ w.comap (algebraMap k K) = (σ • w).comap (algebraMap k K)

tactic: rw [← mk_embedding w, comap_mk, smul_mk, comap_mk]
state_before: case intro
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ w.comap (algebraMap k K) = (σ • w).comap (algebraMap k K)
state_after: case intro
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ mk (w.embedding.comp (algebraMap k K)) = mk ((w.embedding.comp ↑σ.symm).comp (algebraMap k K))

tactic: congr 1
state_before: case intro
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ mk (w.embedding.comp (algebraMap k K)) = mk ((w.embedding.comp ↑σ.symm).comp (algebraMap k K))
state_after: case intro.e_φ
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ w.embedding.comp (algebraMap k K) = (w.embedding.comp ↑σ.symm).comp (algebraMap k K)

tactic: ext1
state_before: case intro.e_φ
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
⊢ w.embedding.comp (algebraMap k K) = (w.embedding.comp ↑σ.symm).comp (algebraMap k K)
state_after: case intro.e_φ.a
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
x✝ : k
⊢ (w.embedding.comp (algebraMap k K)) x✝ = ((w.embedding.comp ↑σ.symm).comp (algebraMap k K)) x✝

tactic: simp
state_before: case intro.e_φ.a
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ✝ : K ≃ₐ[k] K
w✝ : InfinitePlace K
inst✝ : IsGalois k K
w : InfinitePlace K
σ : K ≃ₐ[k] K
x✝ : k
⊢ (w.embedding.comp (algebraMap k K)) x✝ = ((w.embedding.comp ↑σ.symm).comp (algebraMap k K)) x✝
state_after: no goals