Komorebi Space · Lean source
ProjectiveExample.lean
Declared contract recorded Coverage and evidence
The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
KomorebiSpace/ProjectiveExample.lean44 lines
Original source path
lean/KomorebiSpace/ProjectiveExample.leanSkip declarations and read code
1 import Mathlib.Data.ZMod.Basic
2 import Mathlib.Tactic.Ring
3 import Mathlib.Tactic.NormNum
4
5 set_option autoImplicit false
6
7 /-!
8 # A nontrivial cocycle model
9
10 For G = (Z/2Z)^2, c(x,y) = x₂ y₁ is an additive Z/2Z-valued 2-cocycle.
11 It cannot be a scalar coboundary: scalar coboundaries on an abelian group are
12 symmetric, while this cocycle is not. This is a finite exact obstruction model,
13 not a theorem identifying any Galois group or proving Langlands descent.
14 -/
15 namespace KomorebiSpace
16 namespace ProjectiveExample
17 abbrev G := (ZMod 2) × (ZMod 2)
18
19 def phase (x y : G) : ZMod 2 := x.2 * y.1
20
21 @[simp] theorem phase_zero_left (y : G) : phase 0 y = 0 := by simp [phase]
22 @[simp] theorem phase_zero_right (x : G) : phase x 0 = 0 := by simp [phase]
23
24 theorem cocycle (x y z : G) :
25 phase x y + phase (x+y) z = phase y z + phase x (y+z) := by
26 simp only [phase, Prod.fst_add, Prod.snd_add]
27 ring
28
29 def coboundary (a : G → ZMod 2) (x y : G) : ZMod 2 := a x + a y - a (x+y)
30
31 theorem coboundary_symmetric (a : G → ZMod 2) (x y : G) :
32 coboundary a x y = coboundary a y x := by
33 unfold coboundary
34 rw [add_comm x y, add_comm (a x) (a y)]
35
36 theorem phase_asymmetric : phase (1,0) (0,1) ≠ phase (0,1) (1,0) := by
37 norm_num [phase]
38
39 theorem no_scalar_flattening : ¬ ∃ a : G → ZMod 2, ∀ x y, phase x y = coboundary a x y := by
40 rintro ⟨a, ha⟩
41 apply phase_asymmetric
42 rw [ha, ha, coboundary_symmetric]
43 end ProjectiveExample
44 end KomorebiSpace
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 408d4ee8346ecb89ad99abc1636066eef90d2c01a0cd6f07df0630f8aafd8df4