OAI/Computability/RationalHitting/Generator.lean
50 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.RationalHitting.Generator.Dline 10 - def
OAI.RationalHitting.Generator.regularline 13Source documentation
Entrywise regular representation, flattening and fixed row-major reindexing.
def regular (e : ℕ) : Matrix (ZMod (CyclotomicRing.dimension e)) (ZMod (CyclotomicRing.dimension e)) (CyclotomicRing.R e) →+* Mat (D e) := …Mentions: OAI.RationalHitting.CyclotomicRing.dimension, OAI.RationalHitting.CyclotomicRing.R, OAI.RationalHitting.Mat, OAI.RationalHitting.Generator.D
- def
OAI.RationalHitting.Generator.gridline 20Source documentation
The fixed lexicographic three-dimensional integer grid, encoded by Fin H.
def grid (H : ℕ) : List (Fin 3 → Fin H) := …
- lemma
OAI.RationalHitting.Generator.mem_gridline 24 - lemma
OAI.RationalHitting.Generator.grid_lengthline 30 - def
OAI.RationalHitting.Generator.Zringline 34Source documentation
The polynomial lift is evaluated over the exact rational quotient.
def Zring (n N e : ℕ) (x : Fin 3 → ℕ) (i : Fin (n+1)) : Matrix (ZMod (CyclotomicRing.dimension e)) (ZMod (CyclotomicRing.dimension e)) (CyclotomicRing.R e) := …Mentions: OAI.RationalHitting.CyclotomicRing.dimension, OAI.RationalHitting.CyclotomicRing.R
- def
OAI.RationalHitting.Generator.Zline 39 - def
OAI.RationalHitting.Generator.tupleAtline 41 - def
OAI.RationalHitting.Generator.atPointline 45Source documentation
The filtering step tests only Z_0, and receives no formula.
def atPoint (n N e : ℕ) (x : Fin 3 → ℕ) : Option (Tuple n (D e)) := …
Mentions: OAI.RationalHitting.Tuple, OAI.RationalHitting.Generator.D
- def
OAI.RationalHitting.Generator.outputline 48 - lemma
OAI.RationalHitting.Generator.length_output_leline 53 - lemma
OAI.RationalHitting.Generator.transferline 58Source documentation
The actual emitted rational normalization is the homomorphic image of the quotient normalization. Consequently every original inverse occurrence is kept.
lemma transfer {n N e : ℕ} (x : Fin 3 → ℕ) (f : Formula n) (z : (Matrix (ZMod (CyclotomicRing.dimension e)) (ZMod (CyclotomicRing.dimension e)) (CyclotomicRing.R e))ˣ) (hz : (z : Matrix _ _ _) = Zring n N e x 0) (v : Matrix (ZMod (CyclotomicRing.dimension e)) (ZMod (CyclotomicRing.dimension e)) (CyclotomicRing.R e)) (hf : f.Eval (algebraMap ℚ _) (fun i => (↑z⁻¹ : Matrix _ _ _) * Zring n N e x i.succ) v) (hu : IsUnit v) : ∃ a, Evaluates f (tupleAt n N e x) a ∧ IsUnit a := by …Mentions: OAI.RationalHitting.Formula, OAI.RationalHitting.CyclotomicRing.dimension, OAI.RationalHitting.CyclotomicRing.R, OAI.RationalHitting.Generator.Zring, OAI.RationalHitting.Evaluates, OAI.RationalHitting.Generator.tupleAt
- lemma
OAI.RationalHitting.Generator.emittedline 78 - abbrev
OAI.RationalHitting.Generator.WitnessFieldline 95 - instance
OAI.RationalHitting.Generator.witnessCharZeroline 96 - def
OAI.RationalHitting.Generator.witnessEmbeddingline 100 - def
OAI.RationalHitting.Generator.finPencilline 103 - lemma
OAI.RationalHitting.Generator.finPencil_unitline 107 - def
OAI.RationalHitting.Generator.onePencilline 116 - def
OAI.RationalHitting.Generator.conditionsline 118 - lemma
OAI.RationalHitting.Generator.condition_nonzeroline 122 - lemma
OAI.RationalHitting.Generator.condition_degreeline 155 - lemma
OAI.RationalHitting.Generator.integer_gridline 167 - lemma
OAI.RationalHitting.Generator.specialized_unitline 188 - lemma
OAI.RationalHitting.Generator.onePencil_unitline 201 - theorem
OAI.RationalHitting.Generator.output_hitsline 216Source documentation
The finite formula-independent list hits every admissible nonzero formula at a defined and invertible original-tree value.
theorem output_hits {n s N e H : ℕ} (hs : 1 ≤ s) (hN : 1 ≤ N) (hMN : CyclotomicRing.dimension e = N+2*(n+1)^3*(2*s+1)) (hM : (2*s+1)*(2*(n+1)^3*(2*s+1)) < CyclotomicRing.dimension e) (hH : (s+2)*(3*(2*s+1)*(CyclotomicRing.dimension e)^2) < H) : Hits s (output n N e H) := by …Mentions: OAI.RationalHitting.CyclotomicRing.dimension, OAI.RationalHitting.Hits, OAI.RationalHitting.Generator.output
- def
OAI.RationalHitting.Parameters.wline 248Source documentation
The parameters, with M the least power of two strictly above BΔ.
def w (n : ℕ) := n+1
- def
OAI.RationalHitting.Parameters.Bline 249 - def
OAI.RationalHitting.Parameters.deltaline 250 - def
OAI.RationalHitting.Parameters.exponentline 251 - def
OAI.RationalHitting.Parameters.Mline 252 - def
OAI.RationalHitting.Parameters.Nline 253 - def
OAI.RationalHitting.Parameters.Hline 254 - theorem
OAI.RationalHitting.Parameters.threshold_posline 256 - theorem
OAI.RationalHitting.Parameters.threshold_ltline 260 - theorem
OAI.RationalHitting.Parameters.M_leline 263 - theorem
OAI.RationalHitting.Parameters.M_minimalline 270 - theorem
OAI.RationalHitting.Parameters.N_posline 274 - theorem
OAI.RationalHitting.Parameters.M_eqline 281 - theorem
OAI.RationalHitting.Parameters.grid_largeline 286 - theorem
OAI.RationalHitting.Parameters.w_boundline 292 - theorem
OAI.RationalHitting.Parameters.B_boundline 294 - theorem
OAI.RationalHitting.Parameters.delta_boundline 296 - theorem
OAI.RationalHitting.Parameters.polynomial_Mline 304 - theorem
OAI.RationalHitting.Parameters.polynomial_Hline 312 - def
OAI.RationalHitting.Generator.listline 331Source documentation
The list with all parameters fixed by the unary inputs.
def list (n s : ℕ) : Output n := …
Mentions: OAI.RationalHitting.Output
- theorem
OAI.RationalHitting.Generator.list_hitsline 334 - theorem
OAI.RationalHitting.Generator.list_dimension_boundline 341 - theorem
OAI.RationalHitting.Generator.list_length_boundline 350 - theorem
OAI.RationalHitting.Generator.algebraic_generatorline 358Source documentation
The algebraic hitting property and the polynomial list-cardinality bound.
theorem algebraic_generator : ∃ G : (n s : ℕ) → Output n, ∀ n s, 1 ≤ n → 1 ≤ s → (G n s).dimension ≤ 256*(n+s+1)^10 ∧ (G n s).tuples.length ≤ 24577^3*(n+s+1)^51 ∧ Hits s (G n s) := by …Mentions: OAI.RationalHitting.Output, OAI.RationalHitting.Hits