{
  "code": null,
  "collection": "reasoning",
  "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-invariant",
  "id": "substrate-node-invariant",
  "kind": "substrate-node",
  "layer": null,
  "name": "Invariant",
  "ref": "reasoning:substrate-node-invariant",
  "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-topology",
          "json": "https://banes-lab.com/json/records/reasoning/math-type-topology",
          "label": "topology",
          "markdown": "https://banes-lab.com/records/reasoning/math-type-topology.md",
          "ref": "reasoning:math-type-topology"
        }
      ],
      "relation": "math-type"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-concrete-vs-abstract-responsibility-split",
          "json": "https://banes-lab.com/json/records/algorithms/concrete-vs-abstract-responsibility-split",
          "label": "Concrete-vs-Abstract Responsibility Split",
          "markdown": "https://banes-lab.com/records/algorithms/concrete-vs-abstract-responsibility-split.md",
          "ref": "algorithms:concrete-vs-abstract-responsibility-split"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-invariant",
          "json": "https://banes-lab.com/json/records/pag/keyword-invariant",
          "label": "INVARIANT",
          "markdown": "https://banes-lab.com/records/pag/keyword-invariant.md",
          "ref": "pag:keyword-invariant"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-property",
          "json": "https://banes-lab.com/json/records/pag/keyword-property",
          "label": "PROPERTY",
          "markdown": "https://banes-lab.com/records/pag/keyword-property.md",
          "ref": "pag:keyword-property"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-production-invariant-block",
          "json": "https://banes-lab.com/json/records/pag/production-invariant-block",
          "label": "invariant_block",
          "markdown": "https://banes-lab.com/records/pag/production-invariant-block.md",
          "ref": "pag:production-invariant-block"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-production-invariant-record",
          "json": "https://banes-lab.com/json/records/pag/production-invariant-record",
          "label": "invariant_record",
          "markdown": "https://banes-lab.com/records/pag/production-invariant-record.md",
          "ref": "pag:production-invariant-record"
        }
      ],
      "relation": "grounded-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/reasoning#reasoning-lens-invariant",
          "json": "https://banes-lab.com/json/records/reasoning/lens-invariant",
          "label": "Invariant",
          "markdown": "https://banes-lab.com/records/reasoning/lens-invariant.md",
          "ref": "reasoning:lens-invariant"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-invariant",
          "json": "https://banes-lab.com/json/records/architecture/invariant",
          "label": "Invariant",
          "markdown": "https://banes-lab.com/records/architecture/invariant.md",
          "ref": "architecture:invariant"
        }
      ],
      "relation": "concept-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/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-productions-planning",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-productions-planning",
          "label": "planning",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-productions-planning.md",
          "ref": "chapter:/ontology/grammar#pag-productions-planning"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "This node sits on the Substrate layer. Its mathematical type is topology.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-uncertainty",
      "json": "https://banes-lab.com/json/records/reasoning/substrate-node-uncertainty",
      "label": "Uncertainty",
      "markdown": "https://banes-lab.com/records/reasoning/substrate-node-uncertainty.md",
      "ref": "reasoning:substrate-node-uncertainty"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-substrate-node-constraint",
      "json": "https://banes-lab.com/json/records/reasoning/substrate-node-constraint",
      "label": "Constraint",
      "markdown": "https://banes-lab.com/records/reasoning/substrate-node-constraint.md",
      "ref": "reasoning:substrate-node-constraint"
    }
  },
  "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"
  }
}
