Documentation

DerivedAlgGeo.AlgebraicGeometry.ProjectiveSpectrum.Modules.TwistApp

What twistBy does to a section #

twistBy is ฯ.inv โ‰ซ tensorHom (๐Ÿ™ F) (unitToTwist _), and for a long time nothing in the tree said what any part of that does to a section โ€” tensorObj, tensorHom and the unitors were used at the morphism level only. Scheme.Modules.tensorUnitRight_inv_tensorHom_app supplies exactly that shape, and twistBy_app is it plus unitToTwist_app_one. Without it twistBy is opaque at every use site.

What used to be here #

The overlap comparison โ€” over an open inside Dโ‚Š(g), twisting a section by fโฟ is twisting by gโฟ and scaling by fโฟ/gโฟ โ€” was stated here first, at f, g of degree one, together with the step-A lemma it needed. FracSection.twistBy_app_eq_smul' then proved the same thing for any two homogeneous elements of the same degree, and that is what #585's glue actually consumes. The degree-one pair survived with no consumer until #825 removed it.

What made the degree-one version worth writing is preserved in the general one: it is stated on Proj ๐’œ directly, with no restriction functor. The morphism-level route (chartUnitToTwist_eq, chartTwistBy_eq) works on the open subscheme, and turning its conclusion back into a statement about sections of F(n) on Proj would need restriction to commute with the sheafified tensor product. No such compatibility exists, here or in Mathlib.

Scope #

One lemma: what twistBy does to a section. The comparison between charts is FracSection.twistBy_app_eq_smul'; the cover, the single exponent across it, and the gluing are further downstream still.

theorem AlgebraicGeometry.Proj.twistBy_app {A ฯƒA : Type u} [CommRing A] [SetLike ฯƒA A] [AddSubgroupClass ฯƒA A] (๐’œ : โ„• โ†’ ฯƒA) [GradedRing ๐’œ] (m : โ„•) {a : A} (ha : a โˆˆ ๐’œ m) (F : (Proj ๐’œ).Modules) (U : (Proj ๐’œ).Opensแต’แต–) (t : โ†‘(F.presheaf.obj (Opposite.op (Opposite.unop U)))) :
(ModuleCat.Hom.hom ((twistBy ๐’œ m ha F).val.app U)) t = F.tmulSection (twistingSheaf ๐’œ โ†‘m) U t (sectionOfMem ๐’œ ๐’œ (Opposite.unop U) m ha)

What twistBy does to a section: it is the pure tensor with a / 1.

The section-level counterpart of unitToTwist_app_one, one tensor up. Without it twistBy is opaque at every use site, exactly as unitToTwist was before that lemma.