Idempotent–unit splitting for an element coprime to its annihilating factor
Provedexists_isIdempotentElem_mul_eq_of_mul_eq_zero_of_isCoprimeLet be a commutative ring and let satisfy and, in addition, the Bézout condition that and are coprime in the Mathlib sense, i.e. there exist with . The theorem asserts the existence of elements such that is idempotent (), is a unit of , and . Thus any element of a commutative ring which annihilates an element coprime to it factors as an idempotent times a unit; equivalently, generates the same ideal as an idempotent. The statement is existential only: no canonicity or uniqueness of and is claimed, although the witnesses produced in the proof are and for any chosen Bézout pair .
This is the algebraic form of the fact that the vanishing locus of is open and closed in when has a coprime annihilator, so that is generated by an idempotent; in particular such an that is nilpotent must vanish. It is used in the verification of the -link criterion ModularCurve.IsGamma1Link.of_map_of_surjective_of_ker_pow_eq_bot, where divisibility by a separable kernel polynomial is lifted along a nilpotent thickening.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false universe u
theorem exists_isIdempotentElem_mul_eq_of_mul_eq_zero_of_isCoprime
{R : Type u} [CommRing R] {f g : R} (hfg : f * g = 0) (hcop : IsCoprime f g) :
∃ e w : R, IsIdempotentElem e ∧ IsUnit w ∧ f = e * w := by sorry