Documentation

Complexitylib.RationalHitting.Internal.Detection

Correctness of finite matrix tests #

The domain test uses the size-two extension f + 1: at a defined point, either f is nonzero or f + 1 is nonzero. A hitting list for both therefore contains a point in the domain of f, even if f is identically zero.

theorem Complexity.RationalHitting.Internal.evalMatrix_sound {n d : ℕ} (f : Formula n) (X : Tuple n d) {v : Mat d} (h : f.evalMatrix? X = some v) :
Evaluates f X v
theorem Complexity.RationalHitting.Internal.hits_nonzero_iff {n s : ℕ} {H : Output n} (hH : Hits s H) (f : Formula n) (hf : f.size ≤ s) :
Nonzero f ↔ ∃ X ∈ H.tuples, ∃ (v : Mat H.dimension), Evaluates f X v ∧ IsUnit v
theorem Complexity.RationalHitting.Internal.hits_admissible_iff {n s : ℕ} {H : Output n} (hH : Hits (s + 2) H) (f : Formula n) (hf : f.size ≤ s) :
Admissible f ↔ ∃ X ∈ H.tuples, ∃ (v : Mat H.dimension), Evaluates f X v