A rigorous mathematical and computational framework for studying how structure survives transformation across physical channels.
Observable signal ≠ Underlying structured object
Speech, text, signing, gesture, and music are different projections through different physical channels of the same fundamental phenomenon: structured semantic/intentional states under continuous transformation.
S → C → B_t → O_t → Ŝ
- S: Latent semantic/intentional structure
- C: Hierarchy of controlled perceptions (PCT)
- B_t: Historically contingent behavior
- O_t: Observable projection (what survives)
- Ŝ: Reconstructed structure (inverse problem)
Which structures remain invariant enough to be reconstructed when their physical realizations continuously change?
This unifies:
- Historical linguistics (language change over time)
- Gesture recognition (embodied semantic reconstruction)
- Music cognition (structural relationships across performances)
- Audio semantics (prosody/affect from waveforms)
- Sign language (distributed meaning across articulators)
If two systems induce the same canonical transformation structure, they are semantically equivalent—even if their physical substrates differ.
Status: THEOREM ✓
Discourse trajectory remains coherent iff minimum support ratio ≥ 1.
Status: THEOREM ✓
Semantic tension E(s) decreases monotonically under gradient flow: dE/dt ≤ 0.
Status: THEOREM ✓
If H₁ ≠ H₂ but O(H₁) = O(H₂), then no reconstruction algorithm can distinguish them with certainty.
Status: THEOREM ✓
Consequence: Perfect reconstruction impossible when observation is non-injective. This applies to ALL modalities (language, gesture, music, audio, sign).
All modalities follow S → C → B_t → O_t → Ŝ pipeline:
| Modality | Projection | What Survives | What's Lost |
|---|---|---|---|
| Language | Semantic → Linear sequence | Order, count | Meaning, control, alternatives |
| Gesture | Intention → Motor trajectory | Handshape changes | Continuous dynamics, intent |
| Sign | Distributed meaning → Articulation | Visible configurations | Coarticulation, affect |
| Music | Score → Performance | Temporal relationships | Interpretation choices |
| Audio | Structure → Waveform | Prosodic patterns | Channel separation |
22+ Experiments:
- Historical linguistics (10)
- Perceptual Control Theory (4)
- Cross-modal framework (3)
- Reconstruction methods (5)
Core Framework (src/language_evolution/):
framework.py- H → O_t → Ĥ protocolunified_framework.py- Cross-modal abstractionstheorems.py- Mathematical proofsphonology.py,semantics.py- Linguistic infrastructure
Tests: 12/12 passing ✓
Linting: Zero errors ✓
Documentation: 40KB+ comprehensive docs
from language_evolution.unified_framework import StructuralObject, ControlState
from experiments.language_modality_demo import LanguageProjector, LanguageInverseEngine
# 1. Create semantic structure
structure = StructuralObject(
semantic_core={'concept_0': 'agent', 'concept_1': 'action'},
relational_structure=[('concept_0', 'modifies', 'concept_1')],
admissible_transforms={'passivization'},
constraints=['temporal_order']
)
# 2. Define control goals
control = ControlState(target_comprehension=0.85, target_ease=0.70)
# 3. Project through language
projector = LanguageProjector()
behavior = projector.project_structure(structure, control, time=0)
observable = projector.render_observable(behavior)
# 4. Attempt reconstruction
inverse = LanguageInverseEngine()
reconstructed = inverse.reconstruct(observable)
# 5. Measure what survived
invariants = inverse.identify_invariants(structure, reconstructed)
loss = inverse.measure_information_loss(structure, reconstructed)
print(f"Preserved: {invariants}")
print(f"Lost: {loss['total_loss']:.1%}")Output:
Preserved: ['concept_count', 'linear_order']
Lost: 100.0% # Semantic content unrecoverable!
git clone https://github.com/standardgalactic/language-evolution.git
cd language-evolution
python3 -m pip install -e ".[dev]"# Run mathematical theorems
python3 src/language_evolution/theorems.py
# Language modality demo
python3 experiments/language_modality_demo.py
# Gesture modality demo
python3 experiments/gesture_modality_demo.py
# Perceptual Control Theory
python3 experiments/pct_rigorous.py
# Historical linguistics
python3 experiments/systematic_reconstruction.pydocs/unified_structural_framework.md- Complete theoretical synthesisdocs/mathematical_formalization_summary.md- All theorems with proofsdocs/perceptual_control_experiments.md- PCT implementation guidedocs/architecture.md- H → O_t → Ĥ framework details
-
Linguistic Theories:
- Structural Semantics (admissible transformations)
- Semantic Relaxation Networks (constraint stabilization)
- Analogy as Reduction (quotient structure)
- Negation Before Logic (orientation reversal)
-
Gesture/Sign/Embodied:
- Gesture Inverse Engine (trajectory reconstruction)
- ASL Structure (distributed articulation)
- Motor manifold constraints
-
Music/Audio/Prosody:
- Audio Semantic Encoding (W → (T,P,V,E))
- Musical Gesture Cognition (embodied inverse)
- Structural invariance of affect
Observable ≠ Structure: Different modalities are different projections of same latent structure.
Non-Identifiability: When multiple histories produce same observable, reconstruction is fundamentally ambiguous.
PCT Mechanism: Organisms control perceptions (not forms) → equivalence classes emerge.
Unlike real linguistics, can measure actual reconstruction accuracy.
Not just simulates—establishes mathematical impossibility results.
First framework treating language/gesture/music as projections of same phenomenon.
Non-Identifiability Theorem shows what's mathematically impossible to recover.
Generates falsifiable predictions across modalities.
Introducing sound changes:
- p → f (labial stop to fricative)
- t → θ (dental stop to fricative)
- k → h (velar weakening)
Sample pronunciations after 15 generations:
'pater': Speaker 17: faθer Speaker 21: pater Speaker 24: pater
Average lexical divergence: 0.377 Maximum lexical divergence: 0.750
## Installation
```bash
git clone https://github.com/standardgalactic/language-evolution.git
cd language-evolution
python3 -m pip install -e .
This repository uses a standard make interface:
- make init
- make lint
- make test
- make benchmark
- make docs
- make format
- make release