The monotone Boolean CLIQUE function #
This file fixes a concrete, one-variable-per-undirected-edge encoding of
CLIQUE. Edges are ordered pairs (u,v) with u < v; the noncomputable
equivalence with Fin (Fintype.card (Edge n)) is only the boundary required
by Circuit's Fin-indexed input interface.
Two finite test families are provided for the approximation argument:
CliqueSet n k, thek-subsets of the vertex set, represented by their minimal positive graphs; andColoring n r, whose assignments are completer-partite graphs.
For r = k - 1, every coloring assignment is a negative CLIQUE input. This
is the pigeonhole separation used in Razborov's monotone approximation
method.
Equations
- Algebraic.Monotone.Clique.instFintypeEdge = Fintype.subtype {edge : Fin n × Fin n | edge.1 < edge.2} ⋯
The number of undirected edges in the chosen encoding.
Instances For
Equations
- Algebraic.Monotone.Clique.instDecidableInside edge vertices = id inferInstance
The family of k-element vertex sets.
Equations
Instances For
The family of vertex colorings with r colors.
Equations
- Algebraic.Monotone.Clique.Coloring n r = (Fin n → Fin r)
Instances For
The minimal positive graph consisting exactly of the edges induced by a vertex set.
Equations
- Algebraic.Monotone.Clique.cliqueAssignment vertices input = decide (((Algebraic.Monotone.Clique.edgeEquiv n).symm input).Inside vertices)
Instances For
The complete multipartite graph induced by a coloring: vertices are adjacent exactly when they receive different colors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An assignment contains every edge induced by vertices.
Equations
- Algebraic.Monotone.Clique.Contains assignment vertices = ∀ (edge : Algebraic.Monotone.Clique.Edge n), edge.Inside vertices → assignment ((Algebraic.Monotone.Clique.edgeEquiv n) edge) = true
Instances For
Containing the clique on a vertex set implies containing every smaller clique.
On a minimal clique graph, every contained vertex set of size at least two lies inside the generating clique.
Equations
- Algebraic.Monotone.Clique.instDecidableContains assignment vertices = Fintype.decidableForallFintype
The ordinary monotone Boolean k-CLIQUE function on n vertices.
Equations
- Algebraic.Monotone.Clique.function n k assignment = decide (∃ (vertices : Algebraic.Monotone.Clique.CliqueSet n k), Algebraic.Monotone.Clique.Contains assignment ↑vertices)
Instances For
The minimal graph of a k-set is a positive CLIQUE input.
If a coloring graph contains a clique on vertices, then the coloring is
injective on those vertices.
A complete r-partite graph has no clique larger than its color set.
Every complete (k-1)-partite graph is a negative k-CLIQUE input.
CLIQUE is monotone in its edge variables.