---
source: hugr-persistent/src/state_space/serial.rs
expression: ser_state_space
---
registry:
  nodes:
    - value: ~
      version: 0
    - value:
        value:
          Base:
            hugr: "HUGRiHJv)@[](hugr 0)\n\n(mod)\n\n(import core.adt)\n\n(import core.entrypoint)\n\n(import core.fn)\n\n(import core.meta.description)\n\n(import core.title)\n\n(declare-operation\n  logic.Not@0.1.0 (core.fn [(core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'not'\")))\n\n(declare-operation\n  logic.And@0.1.0\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'and'\")))\n\n(define-func\n  private\n  _1\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.title \"main\"))\n  (dfg [%0 %1] [%2]\n    (signature\n      (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n    (dfg [%0 %1] [%2]\n      (signature\n        (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n      (meta core.entrypoint)\n      (dfg [%3 %4] [%5]\n        (signature\n          (core.fn\n            [(core.adt [[] []]) (core.adt [[] []])]\n            [(core.adt [[] []])]))\n        (logic.Not [%3] [%6]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))\n        (logic.Not [%4] [%7]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))\n        (logic.And [%6 %7] [%5]\n          (signature\n            (core.fn\n              [(core.adt [[] []]) (core.adt [[] []])]\n              [(core.adt [[] []])])))))))\n"
        incoming: []
      version: 1
    - value:
        value:
          Replacement:
            subgraph:
              nodes:
                - - idx: 1
                    version: 1
                  - 7
              inputs:
                - - - - idx: 1
                        version: 1
                      - 7
                    - index: 0
              outputs:
                - - - idx: 1
                      version: 1
                    - 7
                  - index: 0
              function_calls: []
            replacement:
              hugr: "HUGRiHJv)@[](hugr 0)\n\n(mod)\n\n(import core.adt)\n\n(import core.entrypoint)\n\n(import core.fn)\n\n(import core.meta.description)\n\n(import core.title)\n\n(declare-operation\n  logic.Not@0.1.0 (core.fn [(core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'not'\")))\n\n(define-func private _1 (core.fn [(core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.title \"main\"))\n  (dfg [%0] [%1]\n    (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n    (dfg [%0] [%1]\n      (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n      (meta core.entrypoint)\n      (dfg [%2] [%3]\n        (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n        (logic.Not [%2] [%4]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))\n        (logic.Not [%4] [%3]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))))))\n"
        incoming:
          - - idx: 1
              version: 1
            - ~
      version: 1
    - value:
        value:
          Replacement:
            subgraph:
              nodes:
                - - idx: 1
                    version: 1
                  - 9
                - - idx: 2
                    version: 1
                  - 8
              inputs:
                - - - - idx: 2
                        version: 1
                      - 8
                    - index: 0
                - - - - idx: 1
                        version: 1
                      - 9
                    - index: 1
              outputs:
                - - - idx: 1
                      version: 1
                    - 9
                  - index: 0
              function_calls: []
            replacement:
              hugr: "HUGRiHJv)@[](hugr 0)\n\n(mod)\n\n(import core.adt)\n\n(import core.entrypoint)\n\n(import core.fn)\n\n(import core.meta.description)\n\n(import core.title)\n\n(declare-operation\n  logic.Xor@0.1.0\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'xor'\")))\n\n(define-func\n  private\n  _1\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.title \"main\"))\n  (dfg [%0 %1] [%2]\n    (signature\n      (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n    (dfg [%0 %1] [%2]\n      (signature\n        (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n      (meta core.entrypoint)\n      (dfg [%3 %4] [%5]\n        (signature\n          (core.fn\n            [(core.adt [[] []]) (core.adt [[] []])]\n            [(core.adt [[] []])]))\n        (logic.Xor [%3 %4] [%5]\n          (signature\n            (core.fn\n              [(core.adt [[] []]) (core.adt [[] []])]\n              [(core.adt [[] []])])))))))\n"
        incoming:
          - - idx: 1
              version: 1
            - ~
          - - idx: 2
              version: 1
            - ~
      version: 1
    - value:
        value:
          Replacement:
            subgraph:
              nodes:
                - - idx: 1
                    version: 1
                  - 7
                - - idx: 1
                    version: 1
                  - 9
              inputs:
                - - - - idx: 1
                        version: 1
                      - 7
                    - index: 0
                - - - - idx: 1
                        version: 1
                      - 9
                    - index: 1
              outputs:
                - - - idx: 1
                      version: 1
                    - 9
                  - index: 0
              function_calls: []
            replacement:
              hugr: "HUGRiHJv)@[](hugr 0)\n\n(mod)\n\n(import core.adt)\n\n(import core.entrypoint)\n\n(import core.fn)\n\n(import core.meta.description)\n\n(import core.title)\n\n(declare-operation\n  logic.Xor@0.1.0\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'xor'\")))\n\n(define-func\n  private\n  _1\n  (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.title \"main\"))\n  (dfg [%0 %1] [%2]\n    (signature\n      (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n    (dfg [%0 %1] [%2]\n      (signature\n        (core.fn [(core.adt [[] []]) (core.adt [[] []])] [(core.adt [[] []])]))\n      (meta core.entrypoint)\n      (dfg [%3 %4] [%5]\n        (signature\n          (core.fn\n            [(core.adt [[] []]) (core.adt [[] []])]\n            [(core.adt [[] []])]))\n        (logic.Xor [%3 %4] [%5]\n          (signature\n            (core.fn\n              [(core.adt [[] []]) (core.adt [[] []])]\n              [(core.adt [[] []])])))))))\n"
        incoming:
          - - idx: 1
              version: 1
            - ~
      version: 1
    - value:
        value:
          Replacement:
            subgraph:
              nodes:
                - - idx: 1
                    version: 1
                  - 8
              inputs:
                - - - - idx: 1
                        version: 1
                      - 8
                    - index: 0
              outputs:
                - - - idx: 1
                      version: 1
                    - 8
                  - index: 0
              function_calls: []
            replacement:
              hugr: "HUGRiHJv)@[](hugr 0)\n\n(mod)\n\n(import core.adt)\n\n(import core.entrypoint)\n\n(import core.fn)\n\n(import core.meta.description)\n\n(import core.title)\n\n(declare-operation\n  logic.Not@0.1.0 (core.fn [(core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.meta.description \"logical 'not'\")))\n\n(define-func private _1 (core.fn [(core.adt [[] []])] [(core.adt [[] []])])\n  (meta (core.title \"main\"))\n  (dfg [%0] [%1]\n    (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n    (dfg [%0] [%1]\n      (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n      (meta core.entrypoint)\n      (dfg [%2] [%3]\n        (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])]))\n        (logic.Not [%2] [%4]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))\n        (logic.Not [%4] [%3]\n          (signature (core.fn [(core.adt [[] []])] [(core.adt [[] []])])))))))\n"
        incoming:
          - - idx: 1
              version: 1
            - ~
      version: 1
hugrs:
  - commits:
      - idx: 1
        version: 1
      - idx: 2
        version: 1
      - idx: 3
        version: 1
  - commits:
      - idx: 1
        version: 1
      - idx: 2
        version: 1
      - idx: 3
        version: 1
      - idx: 5
        version: 1
