Formula and skew circuit properties
Lax461425.CircuitProperties · concepts/Lax461425/CircuitProperties.lean · lax-461425
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
Additional predicates on the existing circuit data.
Concept map
Lean source view on GitHub
| 1 | import Lax461425.Circuits |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Formula and skew circuit properties |
| 6 | type: definition |
| 7 | --- |
| 8 | Additional predicates on the existing circuit data. |
| 9 | -/ |
| 10 | |
| 11 | namespace Lax461425.CircuitProperties |
| 12 | |
| 13 | open Circuits |
| 14 | |
| 15 | open scoped Classical |
| 16 | |
| 17 | /-- A formula has no parallel wires and may share inputs, while each noninput gate has |
| 18 | at most one outgoing wire. -/ |
| 19 | def IsFormula {V K : Type*} (C : Circuit V K) : Prop := |
| 20 | (∀ g h, C.wire g h ≤ 1) ∧ |
| 21 | ∀ g, ¬ (C.label g).IsInput → ∑ h, C.wire h g ≤ 1 |
| 22 | |
| 23 | /-- At most one incoming wire of a product gate comes from a noninput gate. -/ |
| 24 | def IsSkew {V K : Type*} (C : Circuit V K) : Prop := |
| 25 | ∀ g, C.label g = .mul → ∑ h, (if (C.label h).IsInput then 0 else C.wire g h) ≤ 1 |
| 26 | |
| 27 | end Lax461425.CircuitProperties |
| 28 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments