Monotone circuits #
The monotone basis has the Boolean constants, binary conjunction and binary disjunction: the De
Morgan basis (Cslib.Circuits.Boolean.signature) without negation. Each of its operations is
monotone (interpretation_mono), and so is every function computed by a monotone circuit. The
depth of monotone formulas charges AND and OR gates and lets constants be free (binaryCost), as
for De Morgan formulas, and the monotone basis maps into the De Morgan basis (toDeMorgan)
keeping meanings and these costs (binaryCost_toDeMorgan).
Main definitions #
Cslib.Circuits.Monotone.signature,Cslib.Circuits.Monotone.interpretation.Cslib.Circuits.Monotone.binaryCost: the cost function charging one for each AND and OR gate.Cslib.Circuits.Monotone.andCost: the cost function charging only AND gates.Cslib.Circuits.Monotone.toDeMorgan: the monotone basis inside the De Morgan basis.
Main results #
Cslib.Circuits.Monotone.interpretation_mono: the operations are monotone.
References #
Instances For
The monotone signature: constants, binary conjunction and binary disjunction.
Instances For
The Boolean interpretation of the monotone basis.
Instances For
The cost function charging one for each AND and OR gate and nothing for constants, the
monotone counterpart of Boolean.binaryCost (binaryCost_toDeMorgan).
Instances For
An AND gate costs one level.
An OR gate costs one level.
Constants are free.
Count AND gates, with constants and OR gates free.
Instances For
The monotone basis inside the De Morgan basis #
The monotone basis is the De Morgan basis without negation.
Instances For
The monotone operations mean what their De Morgan images mean.
The De Morgan image of an operation costs what it costs in the monotone basis.
The monotone operations embed injectively into the De Morgan basis.