1. Overview
Catelingo treats semantic validity as a structural property: a sentence is valid iff the semantic constraints induced by the sentence are satisfiable. :contentReference[oaicite:4]{index=4}
2. How it works
Pipeline (conceptual)
instantiate constraints (type/range/temporal/invariants) →
propagate constraints on dependency edges → verdict (SAT/UNSAT/UNKNOWN)
Key point: Catelingo does not “pick the most likely meaning”. It keeps all compatible senses and rejects only if all paths die. :contentReference[oaicite:6]{index=6}
Decision semantics
- SAT: at least one consistent interpretation remains → ACCEPT
- UNSAT: all candidates eliminated by constraints → REJECT
- UNKNOWN: underspecified variables prevent a definitive SAT/UNSAT decision → defer / ask for clarification
This is intentionally orthogonal to truth, likelihood, or factual correctness. :contentReference[oaicite:7]{index=7}
3. What Catelingo checks
Constraint classes (typical)
- Temporal: ordering relations (e.g., “commemorate” implies construction time ≥ event time)
- Numerical: admissible ranges (probability in [0,1], percent in [0,100], unit consistency)
- Semantic types: type compatibility and selectional restrictions
- Basic physical/physiological invariants: abstract constraints (not encyclopedic facts)
Many hallucinations fall into these “semantic no-go” categories even without reasoning chains. :contentReference[oaicite:8]{index=8}
Meaning as feasible region
Let a sentence induce constraints $C=\{c_1,\dots,c_n\}$. Semantic validity is:
Ambiguity is acceptable: Catelingo requires non-emptiness of the feasible region, not a unique interpretation. :contentReference[oaicite:9]{index=9}
4. Profiles (domain adaptation)
Semantic validity is domain-relative. Catelingo makes this explicit via constraint profiles: switch profiles to change admissibility criteria (e.g., strict finance vs generous poetry) without retraining any model. :contentReference[oaicite:10]{index=10}
- Profile = senses + constraints + optional degeneration (metaphor) rules
- Adaptation = swap profiles at runtime
5. Complexity intuition
Naive all-pairs semantic checking is quadratic in tokens. Catelingo propagates constraints along dependency edges (typically linear in sentence length), yielding practical near-linear behavior with bounded sense candidates per token. :contentReference[oaicite:11]{index=11}
6. Relation to System-2 FW / Eidoku
- System-2 FW: architectural separation of generation / verification / acceptance
- Eidoku: structural feasibility checking for reasoning/output structure
- Catelingo: semantic constraint satisfiability (no-go detection) even without reasoning chains
The point is composability: structural verification and semantic constraint verification target orthogonal failure modes. :contentReference[oaicite:12]{index=12}
Links
-
- GitHub: ShinobuMiya/Catelingo