The De Morgan basis #
The basis contains Boolean constants, a structural identity gate, unary
negation, and binary conjunction and disjunction. The circuit representation
has free wire outputs; identity remains useful only when a proof explicitly
materializes an output as a final program gate. binaryCost implements the
standard gate-elimination cost model in which only the binary gates are
charged.
The De Morgan basis has six operation symbols.
Equations
- One or more equations did not get rendered due to their size.
Arity of an operation in the De Morgan basis.
Equations
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.false = 0
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.true = 0
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.id = 1
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.not = 1
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.and = 2
- Algebraic.DeMorgan.arity Algebraic.DeMorgan.Op.or = 2
Instances For
Signature of the De Morgan basis.
Equations
- Algebraic.DeMorgan.signature = { Op := Algebraic.DeMorgan.Op, Arity := Algebraic.DeMorgan.arity }
Instances For
Standard Boolean interpretation of the De Morgan basis.
Equations
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.false x_2 = false
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.true x_2 = true
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.id input = input ⟨0, Algebraic.DeMorgan.interpretation._proof_3⟩
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.not input = !input ⟨0, Algebraic.DeMorgan.interpretation._proof_4⟩
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.and input = (input ⟨0, Algebraic.DeMorgan.interpretation._proof_5⟩ && input ⟨1, Algebraic.DeMorgan.interpretation._proof_6⟩)
- Algebraic.DeMorgan.interpretation Algebraic.DeMorgan.Op.or input = (input ⟨0, Algebraic.DeMorgan.interpretation._proof_7⟩ || input ⟨1, Algebraic.DeMorgan.interpretation._proof_8⟩)
Instances For
Cost model charging exactly the binary gates. This is the convention used by the gate-elimination lower bounds, not the mass-production manuscript.
Equations
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.and = 1
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.or = 1
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.false = 0
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.true = 0
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.id = 0
- Algebraic.DeMorgan.binaryCost Algebraic.DeMorgan.Op.not = 0
Instances For
The manuscript's standard circuit-size convention: constants and structural identities are free, while NOT, AND, and OR each cost one gate.
Equations
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.false = 0
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.true = 0
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.id = 0
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.not = 1
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.and = 1
- Algebraic.DeMorgan.standardCost Algebraic.DeMorgan.Op.or = 1