Asi ga-abelian-extensions

GA Abelian Extensions Skill

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ga-abelian-extensions" ~/.claude/skills/plurigrid-asi-ga-abelian-extensions && rm -rf "$T"
manifest: skills/ga-abelian-extensions/SKILL.md
source content

GA Abelian Extensions Skill

Abelian extensions for Clifford algebra grade filtrations via Ext functors.

Trit: -1 (MINUS) — Contraction/measurement of extension classes

Mathematical Foundation

Grade Filtration as Exact Sequences

Clifford algebra Cl(V,Q) has natural filtration:

0 → Cl≤0 → Cl≤1 → Cl≤2 → ... → Cl≤n → 0

Each step yields short exact sequence:

0 → Cl≤k → Cl≤k+1 → Cl^{k+1} → 0
       ↓         ↓           ↓
     (Σtrit≤k) (Σtrit≤k+1) (trit_{k+1})

Ext Functor Connection

Ext¹(Cl^{k+1}, Cl≤k) classifies extensions of grade k+1 by lower grades

For GF(3): Ext¹(ℤ/3, ℤ/3) ≅ ℤ/3
- [0]: Split extension (trivial)
- [1]: PLUS extension (wedge-dominant)
- [2]: MINUS extension (contraction-dominant)

ACSet Schema for Abelian Extensions

@present SchExtClifford(FreeSchema) begin
  # Grade modules as objects
  (Grade0, Grade1, Grade2, Grade3)::Ob
  
  # Extension morphisms
  inject::Hom(Grade0, Grade1)  # i: A → E
  project::Hom(Grade1, Grade2) # p: E → B
  
  # Splitting (when exists)
  section::Hom(Grade2, Grade1) # s: B → E, p∘s = id
  retract::Hom(Grade1, Grade0) # r: E → A, r∘i = id
  
  # Exactness: im(inject) = ker(project)
  # Split: section ∘ project = id OR retract ∘ inject = id
  
  # GF(3) extension class
  ext_class::Attr(Grade1, GF3Trit)
end

Ext¹ Computation for Clifford Grades

# Extension class from wedge/contraction balance
function ext_class(wedge_count::Int, contract_count::Int)::GF3Trit
    balance = wedge_count - contract_count
    return mod(balance, 3) - 1  # Maps to {-1, 0, +1}
end

# Yoneda interpretation: Ext¹(B,A) ≅ natural transformations
# Hom(−,A) → Hom(−,B)[1] in derived category

Connecting Sequence (Long Exact)

0 → Hom(Cl^k, Cl^j) → Hom(Cl≤k, Cl^j) → Hom(Cl≤k-1, Cl^j)
  → Ext¹(Cl^k, Cl^j) → Ext¹(Cl≤k, Cl^j) → ...

GF(3) Conservation: Each connecting morphism δ preserves trit sum:

δ: Hom(Cl≤k-1, Cl^j) → Ext¹(Cl^k, Cl^j)
   trit(δ) = 0 (ergodic transport)

Integration with GA Skills

SkillExtension RoleTrit
ganja-wedge-gameGenerates PLUS extensions+1
clifford-acset-bridgeClassifies via Ext0
ga-abelian-extensionsMeasures extension class-1

Triad Conservation: +1 + 0 + (-1) = 0 ✓

Specter Navigation for Extensions

;; Navigate extension tower
(def EXT-PATH
  (sp/recursive-path [] p
    (sp/if-path #(has-extension? %)
      (sp/continue-then-stay p [:extension]))))

;; Collect all Ext¹ classes in filtration
(sp/select [EXT-PATH :ext-class] clifford-acset)

Open Games: Extension as Strategy

Play:    Cl≤k-1 → Ext¹(Cl^k, Cl^j)  -- "measure extension class"
Coplay:  Cl≤k ← (extension-data)    -- "construct extension"

Equilibrium: extension splits ⟺ Ext¹ = 0

Commands

# Compute Ext¹ for grade pair
julia --project=@GA -e 'ext1(Cl(3,0,0), 2, 0)'  # Ext¹(Bivector, Scalar)

# Verify splitting
bb -e '(split-extension? clifford-ses)'

# Long exact sequence
julia -e 'les_connecting_morphism(grade_filtration, 3)'

References

  • Weibel: Introduction to Homological Algebra (Ch. 3: Ext)
  • Lounesto: Clifford Algebras and Spinors (filtration structure)
  • clifford-acset-bridge skill (grade morphisms)
  • sheaf-cohomology skill (Čech → Ext connection)

Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.