The formulas of the reduction of #1-in-SAT to #Cycle Cover #
The reduction draws, over the ordered expansion of a CNF formula, the ladder
expansion (DescriptiveComplexity.ladder) of the base graph with Valiant's
gadgets attached (DescriptiveComplexity.Site.flatAttach). This file names
the tags and writes the first-order formulas the drawing is made of, each
with its realization lemma; the drawing itself is in
DescriptiveComplexity.Problems.CycleCover.Drawing.
- A node of the attached graph is a tagged pair
(c, x): a track node, a spoke or a gadget node of the occurrence of the literal(x, s)in the clausec(the dummy occurrence ofxbeing written(x, x)), or the hub of the clausecor of the variablex(written(c, c)and(x, x)).DescriptiveComplexity.SatCover.vDomFsays which pairs are nodes of which tag,DescriptiveComplexity.SatCover.flatEntryFwhich entries the attached matrix has between them. - A level of the ladders is a tagged pair too: one level per occurrence
and index in
Fin 3, and one more, the pair of least elements. The levels are ordered lexicographically (DescriptiveComplexity.SatCover.levelLeF), and the least level, the greatest and the cover relation are first-order. - A rung is a node, a node, a level and an index below the width
(
DescriptiveComplexity.SatCover.widthF).
Tags #
The tag of an occurrence: whether it is the dummy one, and its sign.
Equations
Instances For
Dependency graph
The tags of the nodes of the base graph: track nodes and spokes of an
occurrence, and hubs, of a clause (true) or of a variable (false).
Equations
Instances For
Dependency graph
The tags of the nodes of the attached graph: base nodes, and the four gadget nodes of an occurrence.
Equations
Instances For
Dependency graph
The tags of the levels: one per occurrence and index, and one more. A definition rather than an abbreviation, so that the only order on it is the one declared here.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The extra level.
Instances For
Dependency graph
The level of an occurrence tag and an index.
Instances For
Dependency graph
The tags of the drawing: the nodes of the attached graph, and the rungs, tagged by their two nodes, their level and their index.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Occurrences and nodes #
x is a variable of the formula, as a formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
(c, x) is an occurrence of tag (d, s): the dummy occurrence (x, x)
of a variable x when d, the occurrence of (x, s) in the clause c
otherwise.
Equations
Instances For
Dependency graph
(c, x) is a node of the base graph of tag t.
Equations
- DescriptiveComplexity.SatCover.nodeDomF (Sum.inl (d, s)) c x = DescriptiveComplexity.SatCover.occDomF d s c x
- DescriptiveComplexity.SatCover.nodeDomF (Sum.inr (Sum.inl (d, s))) c x = DescriptiveComplexity.SatCover.occDomF d s c x
- DescriptiveComplexity.SatCover.nodeDomF (Sum.inr (Sum.inr true)) c x = DescriptiveComplexity.SatOcc.clF c ⊓ DescriptiveComplexity.SatOcc.eqF x c
- DescriptiveComplexity.SatCover.nodeDomF (Sum.inr (Sum.inr false)) c x = DescriptiveComplexity.SatCover.satOccF c ⊓ DescriptiveComplexity.SatOcc.eqF x c
Instances For
Dependency graph
(c, x) is a node of the attached graph of tag t.
Equations
- DescriptiveComplexity.SatCover.vDomF (Sum.inl t_2) c x = DescriptiveComplexity.SatCover.nodeDomF t_2 c x
- DescriptiveComplexity.SatCover.vDomF (Sum.inr ((d, s), snd)) c x = DescriptiveComplexity.SatCover.occDomF d s c x
Instances For
Dependency graph
c is the least element, as a formula.
Equations
Instances For
Dependency graph
(c, x) is a level of tag t: an occurrence, or the pair of least
elements.
Equations
Instances For
Dependency graph
The base edges and the entries of the attached matrix #
(c', x) is the occurrence of the literal (x, s) next after (c, x),
cyclically, the dummy occurrence first: the four cases according to whether
each is the dummy one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The base edge from the node (c, x) of tag t to the node (c', x') of
tag t'.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.SatCover.baseEdgeF t t' c x c' x' = ⊥
Instances For
Dependency graph
The entry of the attached matrix between the node (c, x) of tag t and
the node (c', x') of tag t' is v, for v ≠ 0.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.SatCover.flatEntryF v (Sum.inl t_2) (Sum.inl t'_2) c x c' x' = if v = 1 then DescriptiveComplexity.SatCover.baseEdgeF t_2 t'_2 c x c' x' else ⊥
Instances For
Dependency graph
The order of the levels #
The level (c, x) of tag t is at most the level (c', x') of tag t',
in the lexicographic order: the tags are compared statically.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Strictly below, among the levels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The level (c, x) of tag t is the least level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The level (c, x) of tag t is the greatest level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The level (c', x') of tag t' is the one next after the level (c, x)
of tag t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The widths #
The index j is below the width, at the level (c'', x'') of tag l,
of the ladder from the node (c, x) of tag t to the node (c', x') of
tag t': two rungs at every level for an entry -1, the entry at the
least level and one rung elsewhere otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Semantics of the tags #
The pair (c, x) is an occurrence of tag (d, s).
Equations
- DescriptiveComplexity.SatCover.OccDom d s c x = if d = true then c = x ∧ DescriptiveComplexity.SatOccurs A x else DescriptiveComplexity.SatOcc.OccIn c x s
Instances For
Dependency graph
The clause of an occurrence of tag d: ⊥ for the dummy one.
Instances For
Dependency graph
The occurrence a tagged pair denotes.
Equations
- DescriptiveComplexity.SatCover.occOf d s c x h = ⟨(DescriptiveComplexity.SatCover.occC d c, x, s), ⋯⟩
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The tag of an occurrence.
Equations
- DescriptiveComplexity.SatCover.occTag o = (WithBot.recBotCoe true (fun (x : A) => false) o.c, o.s)
Instances For
Dependency graph
The pair an occurrence is drawn as: (x, x) for a dummy one.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The pair (c, x) is a node of the base graph of tag t.
Equations
- DescriptiveComplexity.SatCover.NodeDom (Sum.inl (d, s)) c x = DescriptiveComplexity.SatCover.OccDom d s c x
- DescriptiveComplexity.SatCover.NodeDom (Sum.inr (Sum.inl (d, s))) c x = DescriptiveComplexity.SatCover.OccDom d s c x
- DescriptiveComplexity.SatCover.NodeDom (Sum.inr (Sum.inr true)) c x = (DescriptiveComplexity.SatOcc.IsCl c ∧ x = c)
- DescriptiveComplexity.SatCover.NodeDom (Sum.inr (Sum.inr false)) c x = (DescriptiveComplexity.SatOccurs A c ∧ x = c)
Instances For
Dependency graph
The node a tagged pair denotes.
Equations
- DescriptiveComplexity.SatCover.nodeOf (Sum.inl (d, s)) c x h_2 = DescriptiveComplexity.SatCover.trk (DescriptiveComplexity.SatCover.occOf d s c x h_2)
- DescriptiveComplexity.SatCover.nodeOf (Sum.inr (Sum.inl (d, s))) c x h_2 = DescriptiveComplexity.SatCover.spk (DescriptiveComplexity.SatCover.occOf d s c x h_2)
- DescriptiveComplexity.SatCover.nodeOf (Sum.inr (Sum.inr true)) c x h_2 = DescriptiveComplexity.SatCover.hub (Sum.inl ⟨c, ⋯⟩)
- DescriptiveComplexity.SatCover.nodeOf (Sum.inr (Sum.inr false)) c x h_2 = DescriptiveComplexity.SatCover.hub (Sum.inr ⟨c, ⋯⟩)
Instances For
Dependency graph
The tag of a node.
Equations
- DescriptiveComplexity.SatCover.nodeTag (Sum.inl o) = Sum.inl (DescriptiveComplexity.SatCover.occTag o)
- DescriptiveComplexity.SatCover.nodeTag (Sum.inr (Sum.inl o)) = Sum.inr (Sum.inl (DescriptiveComplexity.SatCover.occTag o))
- DescriptiveComplexity.SatCover.nodeTag (Sum.inr (Sum.inr (Sum.inl val))) = Sum.inr (Sum.inr true)
- DescriptiveComplexity.SatCover.nodeTag (Sum.inr (Sum.inr (Sum.inr val))) = Sum.inr (Sum.inr false)
Instances For
Dependency graph
The pair a node is drawn as.
Equations
- DescriptiveComplexity.SatCover.nodePair (Sum.inl o) = DescriptiveComplexity.SatCover.occPair o
- DescriptiveComplexity.SatCover.nodePair (Sum.inr (Sum.inl o)) = DescriptiveComplexity.SatCover.occPair o
- DescriptiveComplexity.SatCover.nodePair (Sum.inr (Sum.inr (Sum.inl val))) = (↑val, ↑val)
- DescriptiveComplexity.SatCover.nodePair (Sum.inr (Sum.inr (Sum.inr val))) = (↑val, ↑val)
Instances For
Dependency graph
The nodes of the attached graph.
Equations
Instances For
Dependency graph
The pair (c, x) is a node of the attached graph of tag t.
Equations
- DescriptiveComplexity.SatCover.VDom (Sum.inl t_2) c x = DescriptiveComplexity.SatCover.NodeDom t_2 c x
- DescriptiveComplexity.SatCover.VDom (Sum.inr ((d, s), snd)) c x = DescriptiveComplexity.SatCover.OccDom d s c x
Instances For
Dependency graph
The node of the attached graph a tagged pair denotes.
Equations
- DescriptiveComplexity.SatCover.vOf (Sum.inl t_2) c x h_2 = Sum.inl (DescriptiveComplexity.SatCover.nodeOf t_2 c x h_2)
- DescriptiveComplexity.SatCover.vOf (Sum.inr ((d, s), j)) c x h_2 = Sum.inr (DescriptiveComplexity.SatCover.occOf d s c x h_2, j)
Instances For
Dependency graph
The tag of a node of the attached graph.
Equations
Instances For
Dependency graph
The pair a node of the attached graph is drawn as.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The pair (c, x) is a level of tag t.
Equations
Instances For
Dependency graph
Realization #
Dependency graph
Dependency graph
The next occurrence #
The base edges #
The kind of a node: track node, spoke or hub.
Equations
Instances For
Dependency graph
The kind of a node tag.
Equations
Instances For
Dependency graph
Dependency graph
The entries of the attached matrix #
The attached matrix: the base matrix with Valiant's gadget attached at every site, on the flat node type.
Equations
Instances For
Dependency graph
The entries of the attached matrix are between -1 and 3.
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The levels #
The levels of the ladders, as a relativized interpretation into the empty vocabulary: the number of levels is then a definable cardinality.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The levels: the universe of the interpretation of the levels, ordered lexicographically.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
A level, from its tag and its pair.