A base that is never a singleton #
Every track of the EXPSPACE machine is an element of the base universe, so the
whole construction needs two of them (DescriptiveComplexity.Draw.Env.hzo,
DescriptiveComplexity.Draw.Table.zero_ne_one) – and a reduction has to be
correct at one-element structures too. The fix is to run the machinery not at the
instance but at a doubled universe, which is never a singleton, and which is
an ordinary first-order interpretation of the instance so that nothing is lost:
- the universe is
Bool × (Fin 1 → A), i.e., two copies ofA; - the copy tagged
falsecarries the instance's own relations, and is marked by theoldsymbol ofDescriptiveComplexity.newLang; - the copy tagged
trueis junk: no relation of the vocabulary touches it.
So the doubled universe is the extended universe of value invention
(DescriptiveComplexity.SecondOrderNew) with |A| invented values, and
DescriptiveComplexity.relativizeTo is what reads a formula about the instance
inside it. What the reduction then has to do – and what
DescriptiveComplexity.Problems.Wide.RelExpansion does – is relativize the
expansion the same way, so that its points are still the instance's.
The interpretation is plain (not relativized) and one-dimensional, so composing
it under the wide interpretation multiplies the dimension by one and the tags by
Bool ^ dd: the composite is again a tagged-tuple interpretation of the
instance, with the same dimension.
The interpretation #
A relation of the instance's vocabulary, inside the extended one: named,
because a raw Sum.inl is not recognized at the transparency rw matches at.
Equations
Instances For
Dependency graph
The mark of the original elements, named for the same reason.
Instances For
Dependency graph
The doubled universe, as an interpretation: the false copy carries the
instance and is marked old, the true copy is junk.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The point of the doubled universe carried by a tag and an element.
Instances For
Dependency graph
Dependency graph
Dependency graph
A point of the doubled universe is its tag and its single coordinate.
Dependency graph
A relation of the instance's vocabulary holds in the doubled universe exactly on the marked copy, of the elements it carries.
Dependency graph
The mark holds exactly on the copy that carries the instance.
Dependency graph
The doubled universe is never a singleton: that is the whole point.
Dependency graph
An environment to name constants in #
The rule-definability discharge (DescriptiveComplexity.Draw.Data.uRulesDefinable_progOf)
asks for one DescriptiveComplexity.Draw.Env, and only to name the gate
dispatch's default tag – a nonemptiness of a type the instance does not
mention, so any environment will do. The two-element one below is the cheapest:
the structure in which nothing holds.
The two-element environment over a relational vocabulary: the structure in which nothing holds, with the two Booleans as its designated elements.
Equations
- One or more equations did not get rendered due to their size.