Monotone circuits constructing sets #
The existing monotone signature acts on sets by intersection and union. Its constants denote
the empty and full sets. Native Program and Circuit supply the syntax, evaluation and costs;
the interpretation does not require decidable membership or a finite ambient type.
Mathlib's Boolean characteristic functions turn pointwise membership into an interpretation homomorphism. Constructing a tuple of sets is equivalent to computing its membership functions from those of the supplied sets, using exactly the same circuit. Thus arbitrary operation weights, sharing, unused gates and all designated outputs are preserved. The characteristic functions are noncomputable for arbitrary sets; this is a semantic correspondence.
Main definitions #
Cslib.Circuits.Monotone.setInterpretation: sets as an interpretation of the monotone basis.Cslib.Circuits.Monotone.membershipHomomorphism: pointwise Boolean membership.
Main results #
Cslib.Circuits.Monotone.eval_set_iff_computesFrom: set construction is pointwise computation.Cslib.Circuits.Monotone.eval_setOf_iff_computesFrom: the interface for Boolean source families.Cslib.Circuits.Monotone.ecomplexityFrom_boolIndicator: equality of weighted complexities.
References #
- Adapted from Basis/AndOr.lean in S. Schlesinger, Algebraic circuit formalizations in Complexitylib, extending its binary AND/OR interpretation to the existing basis with constants. The pointwise interface adapts LowerBound/Fusion/Boolean.lean from the same source.
Interpret conjunction and disjunction as intersection and union, with empty/full constants.
Instances For
Every set operation is monotone in its arguments.
Membership at a point commutes with all operations, including the empty/full constants.
Instances For
Constructing all target sets is equivalent to computing their characteristic functions from those of the supplied sets. This retains the circuit and every designated output.
Boolean source families may be given directly as ordinary functions, with their true sets as the set-valued inputs. In particular, sources may include positive and negative literals.
Pointwise Boolean computation and constructing the fixed tuple of sets have equal minimum cost for every operation weight, including infinity when no circuit exists.