Zulip Chat Archive

Stream: new members

Topic: Fail in write a representation as module


Chengyan Hu (Aug 19 2025 at 00:11):

Hi! I'm trying to write the representation δ : (G_K ℚ_[p]) →* ℤˣ as a G_K ℚ_[p] module. (where G_K ℚ_[p] means the absolute Galois group of Q_[p]) . It seems that Representation.asModule can't work here as it's not a typical representation.

Aaron Liu (Aug 19 2025 at 00:17):

Can you elaborate?

Aaron Liu (Aug 19 2025 at 00:18):

a #mwe would be nice

Chengyan Hu (Aug 19 2025 at 00:24):

(deleted)

Aaron Liu (Aug 19 2025 at 00:25):

Can you post a version that works in the web editor (without having to import FLT)?

Aaron Liu (Aug 19 2025 at 00:26):

I still don't know what you mean when you say you want to write δ as a G_K ℚ_[p]-module

Chengyan Hu (Aug 19 2025 at 00:27):

Aaron Liu said:

Can you post a version that works in the web editor (without having to import FLT)?

I’ll try, but I’m afraid it gonna be hard

Chengyan Hu (Aug 19 2025 at 00:28):

It’s in the last line of the last theorem I want to claim

Aaron Liu (Aug 19 2025 at 00:28):

Can you explain how you want to interpret δ as a G_K ℚ_[p]-module?

Chengyan Hu (Aug 19 2025 at 00:32):

Here I hope to give ℤˣ a G_K Q_[p]-module structruce, where the scalar product is defined by \delta

Aaron Liu (Aug 19 2025 at 00:33):

What's the AddCommGroup structure that you want to put on ℤˣ?

Aaron Liu (Aug 19 2025 at 00:34):

based on the code you gave I'm assuming you actually want a ℤ[G_K ℚ_[p]]-module structure on ℤˣ

Chengyan Hu (Aug 19 2025 at 00:34):

It’s the normal multiplicative group structure inherit from Z, just use Additive as you mentioned to me in another post to change into AddCommGroup

Chengyan Hu (Aug 19 2025 at 00:39):

import Mathlib
open Field
open scoped TensorProduct

local notation "ℤ[G]" => MonoidAlgebra 
local notation "G_K" => absoluteGaloisGroup
variable ( : ) [Fact (Nat.Prime )]

structure FreyPackage where
  a : 
  b : 
  c : 
  ha0 : a  0
  hb0 : b  0
  hc0 : c  0
  p : 
  pp : Nat.Prime p
  hp5 : 5  p
  hFLT : a ^ p + b ^ p = c ^ p
  hgcdab : gcd a b = 1 -- same as saying a,b,c pairwise coprime
  ha4 : (a : ZMod 4) = 3
  hb2 : (b : ZMod 2) = 0

namespace FreyPackage

def IsBadReduction (C : WeierstrassCurve ) (p : ) [Fact (Nat.Prime p)] :Prop:= sorry
def FreyCurveSimple (P : FreyPackage) : WeierstrassCurve  := sorry

abbrev E_pclosure (C : WeierstrassCurve ) (p : ) [Fact (Nat.Prime p)] : Type :=
  (C.map (algebraMap  (AlgebraicClosure ℚ_[p])) ).toAffine.Point

noncomputable instance CommGroupstructure (C : WeierstrassCurve ) :
 AddCommGroup (E_pclosure C ):= by classical infer_instance

noncomputable instance Modulestructue (C : WeierstrassCurve ) :
Module ([G] (G_K ℚ_[])) (E_pclosure C ) := sorry

abbrev G (q : IsLocalRing.maximalIdeal ℤ_[]) (hq : (q : ℚ_[])  0) :
 Type := Additive (ℚ_[]ˣ⧸(Subgroup.closure ({Units.mk0 (q: ℚ_[]) hq})))

noncomputable instance AddCommMonoid
(q : IsLocalRing.maximalIdeal ℤ_[]) (hq : (q : ℚ_[])  0) : AddCommMonoid (G  q hq)
:= by infer_instance

noncomputable instance Modulestructue1
(q : IsLocalRing.maximalIdeal ℤ_[]) (hq : (q : ℚ_[])  0) :
Module ([G] (G_K ℚ_[])) (G  q hq) := sorry

theorem Tate (P : FreyPackage) (p : ) [Fact (Nat.Prime p)] : IsBadReduction (FreyCurveSimple P) p
  (δ : (G_K ℚ_[p]) →* ˣ),  (q : IsLocalRing.maximalIdeal ℤ_[p]) (hq : (q : ℚ_[p])  0),
Nonempty ((E_pclosure (FreyCurveSimple P) p) ≃ₗ[[G] (G_K ℚ_[p])] ((G p q hq)[[G] (G_K ℚ_[p])] δ.asModule)) := sorry

Chengyan Hu (Aug 19 2025 at 00:39):

here is a version without FLT

Chengyan Hu (Aug 19 2025 at 00:41):

I edited again to a better version

Aaron Liu (Aug 19 2025 at 00:45):

Maybe you can write (δ : Representation ℤ (G_K ℚ_[p]) (Additive ℤˣ)) instead?

Chengyan Hu (Aug 19 2025 at 00:50):

I believe some significant issue is occuring here. After changed the error is failed to synthesize CommSemiring (ℤ[G] (G_K ℚ_[p])), but this group ring is clearly not commutative

Chengyan Hu (Aug 19 2025 at 00:54):

Seems the usual tensor in lean doesn't work with non-commutative ring?

Aaron Liu (Aug 19 2025 at 01:07):

yes that is correct


Last updated: Dec 20 2025 at 21:32 UTC