AGISystem2 represents knowledge in a high-dimensional vector space (default: 1024 dimensions). These dimensions are partitioned into two fundamental categories that separate what is from what ought to be.

The Two Partitions

Partition Default Range Purpose Content Type
Ontology Dimensions 0–255 Facts about the world Categories, physical properties, spatial relations, causation
Axiology Dimensions 256–383 Values and norms Permissions, prohibitions, ethical judgments, preferences

Ontological Dimensions

The ontology partition encodes factual knowledge about reality:

Category Dimensions

Physical Property Dimensions

Causal Dimensions

Axiological Dimensions

The axiology partition encodes normative knowledge – values and rules:

Deontic Modalities

Compliance Dimensions

Value Dimensions

Why Separation Matters

The ontology/axiology separation enables critical capabilities:

1. Bias Control via Veil of Ignorance

The system can mask axiological dimensions during reasoning to ensure decisions are based purely on facts:

# Query ignoring value judgments
@mask MASK_PARTITIONS ontology
@result ASK_MASKED $mask Alice QUALIFIES_FOR scholarship

This implements Rawls' "veil of ignorance" – decisions made without knowing protected attributes.

2. Auditability

Separating facts from values makes it explicit where normative judgments enter reasoning:

  • Ontological assertions can be verified against reality
  • Axiological assertions can be traced to their source (law, policy, ethics)

3. Contextual Reasoning

Different theory layers can apply different axiological content while sharing the same ontology:

# Same facts, different normative frameworks
@_ THEORY_PUSH name="EU_GDPR_context"
@_ THEORY_PUSH name="US_HIPAA_context"

Working with Dimensions in Sys2DSL

Masking by Partition

# Create a mask for ontology-only reasoning
@ontMask MASK_PARTITIONS ontology

# Create a mask for axiology-only reasoning
@axiMask MASK_PARTITIONS axiology

# Query with specific partition focus
@result ASK_MASKED $ontMask Water IS_A liquid

Masking by Specific Dimensions

# Mask specific conceptual dimensions
@tempMask MASK_DIMS temperature pressure
@locMask MASK_DIMS location spatial_proximity

# Query ignoring temperature-related dimensions
@result ASK_MASKED $tempMask Ice IS_A solid

Combining Masks

# Combine multiple masks
@combined MASK_UNION $ontMask $tempMask
@result ASK_MASKED $combined Water BOILS_AT Celsius100

Configuration

Partition boundaries are configurable in config.json:

{
  "dimensions": 1024,
  "ontologyPartition": { "start": 0, "end": 255 },
  "axiologyPartition": { "start": 256, "end": 383 }
}

The remaining dimensions (384–1023) are available for:

Technical References