Common algebraically closed D-algebra receiving two field extensions
Provedexists_isAlgClosed_algHom_algHom_of_injectiveLet be a commutative ring which is a domain, and let and be fields equipped with -algebra structures whose structure maps and are injective (hypotheses , ); all three types are taken in the lowest universe. The conclusion asserts the existence of a type together with a field structure on it, a proof that is algebraically closed, and a -algebra structure on , such that the type of -algebra homomorphisms is nonempty and likewise the type of -algebra homomorphisms is nonempty. Thus both and embed into one algebraically closed field in a way compatible with their -algebra structures; the field structure, the algebraic closedness and the -algebra structure on are all part of the existential data, and the two homomorphisms are produced only as nonemptiness assertions, not as explicitly named maps.
This is the standard statement that two field extensions of a domain with injective structure maps can be amalgamated inside a single algebraically closed -algebra. It serves as an infrastructure step used when comparing the residue field of a place, or a field of definition, with a fixed algebraically closed field; it is invoked in the computations of -invariants of Tate-type points on modular curves and in the Drinfeld-type global argument.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false
theorem exists_isAlgClosed_algHom_algHom_of_injective
(D : Type) [CommRing D] [IsDomain D]
(E₁ E₂ : Type) [Field E₁] [Field E₂] [Algebra D E₁] [Algebra D E₂]
(h₁ : Function.Injective (algebraMap D E₁)) (h₂ : Function.Injective (algebraMap D E₂)) :
∃ (Ω' : Type) (_ : Field Ω') (_ : IsAlgClosed Ω') (_ : Algebra D Ω'),
Nonempty (E₁ →ₐ[D] Ω') ∧ Nonempty (E₂ →ₐ[D] Ω') := by sorry