{
  "code": null,
  "collection": "reasoning",
  "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-constraint",
  "id": "substrate-node-constraint",
  "kind": "substrate-node",
  "layer": null,
  "name": "Constraint",
  "ref": "reasoning:substrate-node-constraint",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/reasoning#reasoning-layer-substrate",
          "json": "https://banes-lab.com/json/records/reasoning/layer-substrate",
          "label": "Substrate",
          "markdown": "https://banes-lab.com/records/reasoning/layer-substrate.md",
          "ref": "reasoning:layer-substrate"
        }
      ],
      "relation": "layer"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/reasoning#reasoning-math-type-optimization",
          "json": "https://banes-lab.com/json/records/reasoning/math-type-optimization",
          "label": "optimization",
          "markdown": "https://banes-lab.com/records/reasoning/math-type-optimization.md",
          "ref": "reasoning:math-type-optimization"
        }
      ],
      "relation": "math-type"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-anti-reintroduction-gate",
          "json": "https://banes-lab.com/json/records/algorithms/anti-reintroduction-gate",
          "label": "Anti-Reintroduction Gate",
          "markdown": "https://banes-lab.com/records/algorithms/anti-reintroduction-gate.md",
          "ref": "algorithms:anti-reintroduction-gate"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-enforce",
          "json": "https://banes-lab.com/json/records/pag/keyword-enforce",
          "label": "ENFORCE",
          "markdown": "https://banes-lab.com/records/pag/keyword-enforce.md",
          "ref": "pag:keyword-enforce"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-must",
          "json": "https://banes-lab.com/json/records/pag/keyword-must",
          "label": "MUST",
          "markdown": "https://banes-lab.com/records/pag/keyword-must.md",
          "ref": "pag:keyword-must"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-never",
          "json": "https://banes-lab.com/json/records/pag/keyword-never",
          "label": "NEVER",
          "markdown": "https://banes-lab.com/records/pag/keyword-never.md",
          "ref": "pag:keyword-never"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-always",
          "json": "https://banes-lab.com/json/records/pag/keyword-always",
          "label": "ALWAYS",
          "markdown": "https://banes-lab.com/records/pag/keyword-always.md",
          "ref": "pag:keyword-always"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-required",
          "json": "https://banes-lab.com/json/records/pag/keyword-required",
          "label": "REQUIRED",
          "markdown": "https://banes-lab.com/records/pag/keyword-required.md",
          "ref": "pag:keyword-required"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-mandatory",
          "json": "https://banes-lab.com/json/records/pag/keyword-mandatory",
          "label": "MANDATORY",
          "markdown": "https://banes-lab.com/records/pag/keyword-mandatory.md",
          "ref": "pag:keyword-mandatory"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-critical",
          "json": "https://banes-lab.com/json/records/pag/keyword-critical",
          "label": "CRITICAL",
          "markdown": "https://banes-lab.com/records/pag/keyword-critical.md",
          "ref": "pag:keyword-critical"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-absolute",
          "json": "https://banes-lab.com/json/records/pag/keyword-absolute",
          "label": "ABSOLUTE",
          "markdown": "https://banes-lab.com/records/pag/keyword-absolute.md",
          "ref": "pag:keyword-absolute"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-forbidden",
          "json": "https://banes-lab.com/json/records/pag/keyword-forbidden",
          "label": "FORBIDDEN",
          "markdown": "https://banes-lab.com/records/pag/keyword-forbidden.md",
          "ref": "pag:keyword-forbidden"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-lock",
          "json": "https://banes-lab.com/json/records/pag/keyword-lock",
          "label": "LOCK",
          "markdown": "https://banes-lab.com/records/pag/keyword-lock.md",
          "ref": "pag:keyword-lock"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-unlock",
          "json": "https://banes-lab.com/json/records/pag/keyword-unlock",
          "label": "UNLOCK",
          "markdown": "https://banes-lab.com/records/pag/keyword-unlock.md",
          "ref": "pag:keyword-unlock"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-barrier",
          "json": "https://banes-lab.com/json/records/pag/keyword-barrier",
          "label": "BARRIER",
          "markdown": "https://banes-lab.com/records/pag/keyword-barrier.md",
          "ref": "pag:keyword-barrier"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-swap",
          "json": "https://banes-lab.com/json/records/pag/keyword-swap",
          "label": "SWAP",
          "markdown": "https://banes-lab.com/records/pag/keyword-swap.md",
          "ref": "pag:keyword-swap"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-binds",
          "json": "https://banes-lab.com/json/records/pag/keyword-binds",
          "label": "BINDS",
          "markdown": "https://banes-lab.com/records/pag/keyword-binds.md",
          "ref": "pag:keyword-binds"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-limit",
          "json": "https://banes-lab.com/json/records/pag/keyword-limit",
          "label": "LIMIT",
          "markdown": "https://banes-lab.com/records/pag/keyword-limit.md",
          "ref": "pag:keyword-limit"
        }
      ],
      "relation": "grounded-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/reasoning#reasoning-model-ontogenesis",
          "json": "https://banes-lab.com/json/records/reasoning/model-ontogenesis",
          "label": "Ontogenesis",
          "markdown": "https://banes-lab.com/records/reasoning/model-ontogenesis.md",
          "ref": "reasoning:model-ontogenesis"
        }
      ],
      "relation": "sequence-of"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-domain-pattern-distillation",
          "json": "https://banes-lab.com/json/ontology/algorithms/algorithms-domain-pattern-distillation",
          "label": "Pattern distillation",
          "markdown": "https://banes-lab.com/ontology/algorithms/algorithms-domain-pattern-distillation.md",
          "ref": "chapter:/ontology/algorithms#algorithms-domain-pattern-distillation"
        },
        {
          "href": "https://banes-lab.com/ontology/reasoning#the-models",
          "json": "https://banes-lab.com/json/ontology/reasoning/the-models",
          "label": "The models",
          "markdown": "https://banes-lab.com/ontology/reasoning/the-models.md",
          "ref": "chapter:/ontology/reasoning#the-models"
        },
        {
          "href": "https://banes-lab.com/ontology/reasoning#the-maps",
          "json": "https://banes-lab.com/json/ontology/reasoning/the-maps",
          "label": "The maps",
          "markdown": "https://banes-lab.com/ontology/reasoning/the-maps.md",
          "ref": "chapter:/ontology/reasoning#the-maps"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-action",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-action",
          "label": "action",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-action.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-action"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-modifier",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-modifier",
          "label": "modifier",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-modifier.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-modifier"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-coordination",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-coordination",
          "label": "coordination",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-coordination.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-coordination"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-invariant",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-invariant",
          "label": "invariant",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-invariant.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-invariant"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-node",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-node",
          "label": "node",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-node.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-node"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "This node sits on the Substrate layer. Its mathematical type is optimization. The Ontogenesis models build on it.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-invariant",
      "json": "https://banes-lab.com/json/records/reasoning/substrate-node-invariant",
      "label": "Invariant",
      "markdown": "https://banes-lab.com/records/reasoning/substrate-node-invariant.md",
      "ref": "reasoning:substrate-node-invariant"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-transformation",
      "json": "https://banes-lab.com/json/records/reasoning/substrate-node-transformation",
      "label": "Transformation",
      "markdown": "https://banes-lab.com/records/reasoning/substrate-node-transformation.md",
      "ref": "reasoning:substrate-node-transformation"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/reasoning",
    "label": "Reasoning records",
    "markdown": "https://banes-lab.com/api/records/reasoning.md",
    "ref": "api:records/reasoning"
  }
}
