segal-types

Segal types for synthetic ∞-categories. Binary composites exist uniquely up to homotopy. Foundation for topological chemputer.

16 stars

Best use case

segal-types is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Segal types for synthetic ∞-categories. Binary composites exist uniquely up to homotopy. Foundation for topological chemputer.

Teams using segal-types should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/segal-types/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/ies/music-topos/.codex/skills/segal-types/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/segal-types/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How segal-types Compares

Feature / Agentsegal-typesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Segal types for synthetic ∞-categories. Binary composites exist uniquely up to homotopy. Foundation for topological chemputer.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Segal Types Skill

> *"A Segal type is a type where binary composites exist uniquely up to homotopy."*
> — Emily Riehl & Michael Shulman

## Overview

Segal types are the synthetic ∞-categorical analogue of categories. They automatically ensure composition is **coherently associative and unital at all dimensions**.

## Core Definitions (Rzk)

```rzk
#lang rzk-1

-- The directed interval (axiomatized)
#define 2 : CUBE

-- Hom type (directed paths)
#define hom (A : U) (x y : A) : U
  := (t : 2) → A [t ≡ 0₂ ↦ x, t ≡ 1₂ ↦ y]

-- 2-simplex (composite witness)
#define Δ² : CUBE
  := (t₁ : 2) × (t₂ : 2) × (t₁ ≤ t₂)

-- Composition witness type
#define hom2 (A : U) (x y z : A) 
  (f : hom A x y) (g : hom A y z) (h : hom A x z) : U
  := (σ : Δ²) → A [
       σ = (0₂, t) ↦ f t,
       σ = (t, 1₂) ↦ g t,
       σ = (t, t) ↦ h t
     ]

-- Segal condition: unique composites
#define is-segal (A : U) : U
  := (x y z : A) → (f : hom A x y) → (g : hom A y z)
  → is-contr (Σ (h : hom A x z), hom2 A x y z f g h)

-- Segal type
#define Segal : U
  := Σ (A : U), is-segal A
```

## Chemputer Semantics

| ∞-Category Concept | Chemical Interpretation |
|--------------------|------------------------|
| Objects | Chemical species |
| 1-morphisms (hom) | Reactions A → B |
| 2-morphisms (hom2) | Witnesses that pathways yield same product |
| Segal condition | Unique composite reactions |
| Coherent associativity | Reaction order doesn't matter (up to iso) |

## GF(3) Triad

```
segal-types (-1) ⊗ directed-interval (0) ⊗ rezk-types (+1) = 0 ✓
```

As a **Validator (-1)**, segal-types verifies that:
- Composites exist and are unique
- Associativity holds at all dimensions
- The type has categorical structure

## Lean4 Integration (InfinityCosmos)

```lean
import InfinityCosmos.ForMathlib.AlgebraicTopology.SimplicialCategory

-- Segal space as simplicial space with Segal condition
structure SegalSpace where
  X : SimplicalSpace
  segal : ∀ n, IsEquiv (segalMap X n)

-- Composition in a Segal space
def compose {S : SegalSpace} {x y z : S.X 0} 
    (f : S.X 1 ⦃x, y⦄) (g : S.X 1 ⦃y, z⦄) : S.X 1 ⦃x, z⦄ :=
  (S.segal 2).inv ⟨f, g⟩
```

## Self-Avoiding Walk Integration

```ruby
# lib/segal_interaction.rb
module SegalInteraction
  # Each interaction is a morphism in a Segal type
  # Composition = sequential skill invocation
  
  def self.compose_interactions(f, g)
    # f : Interaction (skill A → skill B)
    # g : Interaction (skill B → skill C)
    # Result: unique composite f;g : (skill A → skill C)
    
    composite_seed = (f.seed ^ g.seed) & MASK64
    InteractionEntropy::Interaction.new(
      { composed: [f.id, g.id] }.to_json,
      seed: composite_seed
    )
  end
end
```

## Key Theorems

1. **Composition is coherent**: All ways of associating a sequence of morphisms yield the same result (up to higher homotopy).

2. **Identity exists**: For each object x, there is id_x : hom A x x.

3. **2-out-of-3**: If two of f, g, g∘f are equivalences, so is the third.

## References

- Riehl, E. & Shulman, M. (2017). "A type theory for synthetic ∞-categories." *Higher Structures* 1(1):116-193.
- [Rzk repository](https://github.com/rzk-lang/rzk)
- [InfinityCosmos](https://github.com/emilyriehl/infinity-cosmos)