Combinational circuit category #
References #
- [Ghica, Kaye, and Sprunger, A Complete Theory of Sequential Digital Circuits][Ghica2025]
Homomorphism.
Equations
- Circuit.CombinationalCircuitCategory.Hom V I O = { f : Circuit.Wires V I.obj → Circuit.Wires V O.obj // Monotone f }
Instances For
The underlying identity wire-function.
Equations
Instances For
The identity morphism.
Instances For
Equations
- One or more equations did not get rendered due to their size.
The wire-function that duplicates its single input wire.
Equations
Instances For
The wire-function that joins two input wires by taking their supremum.
Equations
Instances For
The monoidal product of two objects, adding their wire counts.
Instances For
Equations
- One or more equations did not get rendered due to their size.
The underlying wire-function of the monoidal product of two morphisms.
Equations
- Circuit.CombinationalCircuitCategory.tensorHomVal f g v = Vector.append (↑f (Vector.cast ⋯ (Vector.take v X₁.obj))) (↑g (Vector.cast ⋯ (Vector.drop v X₁.obj)))
Instances For
The monoidal product of two morphisms.
Equations
Instances For
The underlying wire-function of the forward direction of a wire-count isomorphism.
Equations
Instances For
The forward direction of a wire-count isomorphism.
Equations
Instances For
The underlying wire-function of the inverse direction of a wire-count isomorphism.
Equations
Instances For
The inverse direction of a wire-count isomorphism.
Equations
Instances For
The isomorphism between objects with equal wire counts.
Equations
- Circuit.CombinationalCircuitCategory.iso h = { hom := Circuit.CombinationalCircuitCategory.isoHom h, inv := Circuit.CombinationalCircuitCategory.isoInv h, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Left whiskering of a morphism by a fixed object.
Equations
Instances For
Right whiskering of a morphism by a fixed object.
Equations
Instances For
The monoidal unit, the object with no wires.
Equations
Instances For
The associator isomorphism of the monoidal structure.
Equations
Instances For
The left unitor isomorphism of the monoidal structure.
Equations
Instances For
The right unitor isomorphism of the monoidal structure.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
The underlying wire-function of the braiding, swapping two blocks of wires.
Equations
- X.braidingHomVal Y v = Vector.cast ⋯ ((Vector.drop v X.obj).append (Vector.take v X.obj))
Instances For
The braiding morphism, swapping two blocks of wires.
Equations
- X.braidingHom Y = ⟨X.braidingHomVal Y, ⋯⟩
Instances For
The braiding isomorphism of the symmetric monoidal structure.
Equations
- X.braiding Y = { hom := X.braidingHom Y, inv := Y.braidingHom X, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.