```
{-# OPTIONS --allow-unsolved-metas #-}
open import Level
open import Algebra.Bundles
open import Data.Nat hiding (_*_)
```
┌────────────────────────────────────────────────────┐
| REIFYING DYNAMICAL ALGEBRA |
│ maximal ideals for arbitrary rings, constructively │
└────────────────────────────────────────────────────┘
Ingo Blechschmidt
Proof and Computation
in Schlehdorf
June 2nd, 2022
honoring Helmut Schwichtenberg
# ..... IN THIS TALK .....
Explanations that ...
1. every set is countable.
2. every ring has a maximal ideal, constructively.
Checked in Agda. Both made possible by:
3. An intriguing fractal
(with lots of opens and no points).
4. Proofs with monadic side effects.
Thereby reifying dynamical algebra.
# ..... GROUNDING .....
Let A be a commutative ring with unit
(e.g. ℤ, ℤ[X], ℚ[X,Y,Z]/(Xⁿ+Yⁿ-Zⁿ), ...).
**THM.** Let M be a surjective matrix over A
with more rows than columns. Then 1 = 0 in A.
**PROOF.** [Assume not.]() Then there is a [maximal ideal]() 𝔪.
The matrix M is surjective over the [field]() A/𝔪.
This is a [contradiction]() to basic linear algebra.
# ..... A CONSTRUCTION OF [Krull 1929] .....
Let A be a **countable** commutative ring with unit.
Let f : ℕ ↠ A be an enumeration of A. Using **LEM**,
recursively define:
G₀ = ∅
Gₙ₊₁ = Gₙ, if 1 ∈ ⟨Gₙ ∪ {f(n)}⟩
Gₙ ∪ {f(n)}, else.
Then 𝔪 ≔ ⋃ₙ Gₙ is a maximal ideal.
```
module _ (A… : CommutativeRing 0ℓ 0ℓ) where
open CommutativeRing A… renaming (Carrier to A)
open import SchlehdorfBasics (A…)
module Krull
(f : ℕ → A)
(p : (x : A) → Σ[ n ∈ ℕ ] x ≈ f n)
(oracle : ExcludedMiddle) where
G : ℕ → Pred A
G 0 = ∅
G (suc n) with oracle (1# ∈ ⟨ G n ∪ { f n } ⟩)
... | yes _ = G n
... | no _ = G n ∪ { f n }
𝔪 : Pred A
𝔪 = ⋃[ n ∶ ℕ ] G n
is-proper : ¬ 1# ∈ 𝔪
is-proper = {!!}
theorem : (x : A) → 1# ∈ ⟨ 𝔪 , x ⟩ ⊎ x ∈ 𝔪
theorem = {!!}
module Krivine
(f : ℕ → A)
(p : (x : A) → Σ[ n ∈ ℕ ] x ≈ f n)
where
G : ℕ → Pred A
G 0 = ∅
G (suc n) = G n ∪ { f n ∥ ¬ 1# ∈ ⟨ G n , f n ⟩ }
𝔪 : Pred A
𝔪 = ⋃[ n ∶ ℕ ] G n
is-proper : ¬ 1# ∈ 𝔪
is-proper = {!!}
theorem : (x : A) → ¬ (1# ∈ ⟨ 𝔪 , x ⟩) → x ∈ 𝔪
theorem = {!!}
module Joyal–Tierney where
open import Data.List.Membership.Propositional renaming (_∈_ to _◂_)
data Eventually (P : List A → Set) : List A → Set where
Now : ∀ {σ} → P σ → Eventually P σ
NeedValue : ∀ {σ} → ((x : A) → Eventually P (σ ∷ʳ x)) → Eventually P σ
NeedPreimage : ∀ {σ} → {a : A} → ((τ : List A) → a ◂ (σ ++ τ) → Eventually P (σ ++ τ)) → Eventually P σ
conservative : {Q : Set} {σ : List A} → Eventually (λ _ → Q) σ → Q
conservative = {!!}
Eventually' : (List A → Pred A) → (List A → Pred A)
Eventually' M σ x = Eventually (λ τ → M τ x) σ
f : ℕ → List A → Pred A
f n σ = λ x → σ [ n ]≡ x
G : ℕ → List A → Pred A
G zero σ = ∅
G (suc n) = Eventually'
(λ σ → G n σ ∪ { x ∶ f n σ ∥ (∀ τ → ¬ 1# ∈ ⟨ G n (σ ++ τ) , x ⟩) })
𝔪 : List A → Pred A
𝔪 σ x = Eventually (λ σ → x ∈ ⋃[ n ∶ ℕ ] G n σ) σ
is-proper : (σ : List A) → ¬ 1# ∈ 𝔪 σ
is-proper σ = {!!}
theorem
: (x : A) (σ : List A)
→ (∀ τ → ¬ 1# ∈ ⟨ 𝔪 (σ ++ τ) , x ⟩)
→ x ∈ 𝔪 σ
theorem x σ p = {!!}
example : (a b u v : A) → u * a ≈ 1# → u * b ≈ 0# → v * a ≈ 0# → v * b ≈ 1# → ⊥
example a b u v ua1 ub0 va0 vb1 = {!!}
```