Superquadratic sensitivity separation: recursive definitions #
This file defines one level of the recursive construction. Next-level inputs are indexed by
(Fin k × Fin r) × I: a row i : Fin k, a column c : Fin r and a child coordinate. Given a
tournament T, an edge labeling label and a family F of h + 1 child predicates whose last
member is the target predicate, the clause of row i at index q : Fin h asks that every child of
row i satisfies the target predicate and that, for each out-neighbour j of i, the child
(j, label i j) is rejected by the gate predicate F (gateIndex q). The next-level predicate at
q is the disjunction of these clauses.
Main definitions #
recursiveChild: the child input at rowjand columncof a next-level input.gateIndex: the order-reversing embeddingFin h → Fin (h + 1)selecting gate predicates.rowClause: the clause of rowiat indexq.recursiveFamily: the next-level family, the disjunction of all row clauses.
Main results #
recursiveFamily_eq_true_iff: a next-level predicate accepts iff some row clause holds.recursiveFamily_nested: the construction preserves nested families.recursiveFamily_zero: if0 < rand every child predicate rejects the all-false input, so does every next-level predicate.recursive_coordinates_card: the next level hask * r * Fintype.card Iinput coordinates.
References #
A clause uses every target in its own row and one labeled gate per outgoing edge.
Instances For
The next-level predicate is the disjunction of the literal row clauses.
Instances For
The clause of row i at index q holds iff F (Fin.last h) accepts every child (i, c) and
F (gateIndex q) rejects the child (j, label i j) for every out-neighbour j of i.
The next-level predicate at index q accepts x iff some row clause holds at x.
The next-level predicate at index q rejects x iff every row clause fails at x.
For a nested family F and q ≤ q', the clause of row i at index q' implies the clause of
row i at index q.
If F is a nested family, then so is recursiveFamily T label F.
If 0 < r and every member of F rejects the all-false input, then every next-level predicate
rejects the all-false input.
The coordinate type (Fin k × Fin r) × I has k * r * Fintype.card I elements.