Binary certificates for relation environments #
List each relation's truth table in context order, using the same tuple order as
the structure encoder. The universe size and arities are supplied externally,
so the certificate needs no header or delimiters. Its length is exactly the sum
of card ^ arity. Every string of that length represents one environment.
These are the guessed relation tables in Immerman's Descriptive Complexity, Section 7.1, Proposition 7.6. The functions are computable; their machine time bounds are a separate obligation.
A cell in one of the relation-variable truth tables.
Equations
Instances For
Certificate cells in relation-context order, then canonical tuple order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The certificate-length polynomial for a fixed list of relation arities.
Equations
- Complexity.DescriptiveComplexity.DecREnv.encodingPolynomial rctx = (List.map (fun (k : ℕ) => Polynomial.X ^ k) rctx).sum
Instances For
Concatenate the supplied relation truth tables without headers or padding.
Equations
- ρ.encode = List.map (fun (site : Complexity.DescriptiveComplexity.DecREnv.EncodingSite card rctx) => ρ site.fst site.snd) (Complexity.DescriptiveComplexity.DecREnv.encodingSites card rctx)
Instances For
Read a relation environment, defaulting missing entries to false.
Equations
- Complexity.DescriptiveComplexity.DecREnv.read card rctx bits r args = bits[List.idxOf ⟨r, args⟩ (Complexity.DescriptiveComplexity.DecREnv.encodingSites card rctx)]?.getD false