import Definitions.Def_SheafOfModules_Monoidal set_option autoImplicit false universe u open CategoryTheory MonoidalCategory noncomputable section namespace AlgebraicGeometry.Scheme.Modules variable {T P : Scheme.{u}} def dualMapIso {X : Scheme.{u}} {L L' : X.Modules} (e : L โ‰… L') : Scheme.Modules.dual L โ‰… Scheme.Modules.dual L' := ((MonoidalClosed.internalHom (C := X.Modules)).mapIso e.symm.op).app (๐Ÿ™_ X.Modules) def rigidify (ฯƒ : T โŸถ P) (q : P โŸถ T) (L : P.Modules) : P.Modules := L โŠ— (Scheme.Modules.pullback q).obj (Scheme.Modules.dual ((Scheme.Modules.pullback ฯƒ).obj L)) lemma rigidify_def (ฯƒ : T โŸถ P) (q : P โŸถ T) (L : P.Modules) : rigidify ฯƒ q L = L โŠ— (Scheme.Modules.pullback q).obj (Scheme.Modules.dual ((Scheme.Modules.pullback ฯƒ).obj L)) := rfl def rigidifyMapIso (ฯƒ : T โŸถ P) (q : P โŸถ T) {L L' : P.Modules} (e : L โ‰… L') : rigidify ฯƒ q L โ‰… rigidify ฯƒ q L' := e โŠ—แตข (Scheme.Modules.pullback q).mapIso (dualMapIso ((Scheme.Modules.pullback ฯƒ).mapIso e)) end AlgebraicGeometry.Scheme.Modules end