@@ -54,6 +54,7 @@ A unit in `K[G]` is trivial if it is exactly of the form `kg` where:
5454def IsTrivialUnit (u : MonoidAlgebra K G) : Prop :=
5555 ∃ (k : Kˣ) (g : G), u = MonoidAlgebra.single g (k : K)
5656
57+ omit hG in
5758@[category API, AMS 16 20]
5859lemma IsTrivialUnit.isUnit {u : MonoidAlgebra K G} (h : IsTrivialUnit u) : IsUnit u := by
5960 obtain ⟨k, g, rfl⟩ := h
@@ -77,10 +78,11 @@ theorem counter_unit_conjecture :
7778/--
7879There is a counterexample to **Unit Conjecture** in any characteristic.
7980-/
80- @[category research open , AMS 16 20]
81- theorem counter_unit_conjecture_weak (n : ℕ) :
81+ @[category research solved , AMS 16 20]
82+ theorem counter_unit_conjecture_weak (p : ℕ) (hp : p = 0 ∨ p.Prime ) :
8283 ∃ (G : Type ) (_ : Group G) (_ : Monoid.IsTorsionFree G),
83- ∃ (_ : Field K) (_ : Char K n) (u : (MonoidAlgebra K G)ˣ), ¬IsTrivialUnit u.val := by
84+ ∃ (_ : Field K) (_ : CharP K p) (u : (MonoidAlgebra K G)ˣ), ¬IsTrivialUnit u.val := by
85+ sorry
8486
8587/-! ## Counterexamples -/
8688
@@ -93,22 +95,26 @@ abbrev PromislowGroup : Type :=
9395 letI b := FreeGroup.of (1 : Fin 2 )
9496 PresentedGroup {b⁻¹ * a * a * b * a * a, a⁻¹ * b * b * a * b * b}
9597
98+ /--
99+ The Promislow group is torsion-free.
100+ -/
101+ @[category API, AMS 20]
96102lemma promislow_group_is_torsionfree :
97103 Monoid.IsTorsionFree PromislowGroup := by
98104 sorry
99105
100106/--
101107If $P$ is the Promislow group, then the group ring $\mathbb{F}_p[ P ] $ has a non-trivial unit.
102108-/
103- @[category test ]
109+ @[category research solved, AMS 16 20 ]
104110theorem unit_conjecture.counterexamples.i (p : ℕ) [hp : Fact p.Prime] :
105111 ∃ (u : (MonoidAlgebra (ZMod p) PromislowGroup)ˣ), ¬IsTrivialUnit u.val := by
106112 sorry
107113
108114/--
109115If $P$ is the Promislow group, then the group ring $\mathbb{C}[ P ] $ has a non-trivial unit.
110116-/
111- @[category test ]
117+ @[category research solved, AMS 16 20 ]
112118theorem unit_conjecture.counterexamples.ii :
113119 ∃ (u : (MonoidAlgebra ℂ PromislowGroup)ˣ), ¬IsTrivialUnit u.val := by
114120 sorry
0 commit comments