OAI/Computability/RationalHitting/Affine.lean
48 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.RationalHitting.Affine.Formline 10 - def
OAI.RationalHitting.Affine.constantline 11 - def
OAI.RationalHitting.Affine.varFormline 12 - def
OAI.RationalHitting.Affine.evalline 14 - lemma
OAI.RationalHitting.Affine.eval_constantline 21 - lemma
OAI.RationalHitting.Affine.eval_variableline 23 - def
OAI.RationalHitting.Affine.constMatrixline 26 - lemma
OAI.RationalHitting.Affine.eval_constMatrixline 27 - def
OAI.RationalHitting.Formula.Indexline 37 - instance
OAI.RationalHitting.Formula.indexFintypeline 42 - instance
OAI.RationalHitting.Formula.indexDecidableEqline 47 - lemma
OAI.RationalHitting.Formula.card_indexline 52 - def
OAI.RationalHitting.Formula.rowline 72 - def
OAI.RationalHitting.Formula.colline 77 - def
OAI.RationalHitting.Formula.pencilline 83 - abbrev
OAI.RationalHitting.Formula.realizedline 91 - abbrev
OAI.RationalHitting.Formula.rowRline 92 - abbrev
OAI.RationalHitting.Formula.colRline 93 - abbrev
OAI.RationalHitting.Formula.scalarline 94 - lemma
OAI.RationalHitting.Formula.realized_addline 96 - lemma
OAI.RationalHitting.Formula.realized_mulline 101 - lemma
OAI.RationalHitting.Formula.realized_invline 107 - lemma
OAI.RationalHitting.Formula.rowR_addline 113 - lemma
OAI.RationalHitting.Formula.colR_addline 116 - lemma
OAI.RationalHitting.Formula.rowR_mulline 119 - lemma
OAI.RationalHitting.Formula.colR_mulline 123 - lemma
OAI.RationalHitting.Formula.rowR_invline 127 - lemma
OAI.RationalHitting.Formula.colR_invline 131 - lemma
OAI.RationalHitting.Formula.leaf_realizationline 136 - theorem
OAI.RationalHitting.Formula.Eval.realizationline 150Source documentation
Exact affine realization of every defined original subtree.
theorem Eval.realization {f : Formula n} {a : R} (ha : Eval c X f a) : ∃ M : Matrix f.Index f.Index R, realized c X f * M = 1 ∧ M * realized c X f = 1 ∧ rowR c f * M * colR c f = scalar a := by …Mentions: OAI.RationalHitting.Formula, OAI.RationalHitting.Formula.Eval, OAI.RationalHitting.Formula.realized, OAI.RationalHitting.Formula.rowR, OAI.RationalHitting.Formula.colR, OAI.RationalHitting.Formula.scalar
- def
OAI.RationalHitting.Formula.inverseNodesline 234Source documentation
The list retains occurrences, not just distinct subexpressions.
def inverseNodes : Formula n → List (Formula n) | .var _ | .const _ => [] | .add f g | .mul f g => inverseNodes f ++ inverseNodes g | .inv f => .inv f :: inverseNodes f /-- `.inv f` here denotes the root augmentation pencil, not a new counted gate. -/
Mentions: OAI.RationalHitting.Formula, OAI.RationalHitting.Formula.pencil
- def
OAI.RationalHitting.Formula.certificatesline 240Source documentation
.inv fhere denotes the root augmentation pencil, not a new counted gate.def certificates (f : Formula n) := inverseNodes f ++ [.inv f]
Mentions: OAI.RationalHitting.Formula, OAI.RationalHitting.Formula.inverseNodes
- lemma
OAI.RationalHitting.Formula.Eval.pencil_isUnitline 242 - lemma
OAI.RationalHitting.Formula.Eval.augmented_isUnit_iffline 247 - lemma
OAI.RationalHitting.Formula.Eval.inverseNodes_unitsline 255 - lemma
OAI.RationalHitting.Formula.eval_of_inverseNodes_unitsline 268 - theorem
OAI.RationalHitting.Formula.certificates_iffline 290Source documentation
Full original-tree definedness and invertible final value are equivalent to all affine-pencil certificates. No rational cancellation is performed.
theorem certificates_iff (f : Formula n) : (∀ h ∈ certificates f, IsUnit (realized c X h)) ↔ ∃ a, Eval c X f a ∧ IsUnit a := by …Mentions: OAI.RationalHitting.Formula, OAI.RationalHitting.Formula.certificates, OAI.RationalHitting.Formula.realized, OAI.RationalHitting.Formula.Eval
- lemma
OAI.RationalHitting.Formula.inverseNodes_lengthline 305 - lemma
OAI.RationalHitting.Formula.size_le_of_mem_inverseNodesline 308 - lemma
OAI.RationalHitting.Formula.certificate_boundsline 326 - def
OAI.RationalHitting.Affine.coeffline 352 - def
OAI.RationalHitting.Affine.homogeneousline 354 - lemma
OAI.RationalHitting.Affine.homogeneous_oneline 357 - lemma
OAI.RationalHitting.Affine.normalizedline 361 - lemma
OAI.RationalHitting.Affine.normalized_pencilline 376 - lemma
OAI.RationalHitting.Affine.normalized_pencil_unitline 386 - lemma
OAI.RationalHitting.Affine.eval_reindexline 398Source documentation
Reindexing a pencil's coefficients does not alter its matrix evaluation.
lemma eval_reindex.{v_2, v_3, v_4, v_5} {n : ℕ} {K : Type v_2} [Field K] [CharZero K] {ι : Type v_3} {κ : Type v_4} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (L : Matrix ι ι (RationalHitting.Affine.Form n)) (X : Fin n → Matrix κ κ K) {ι' : Type v_5} (e : ι ≃ ι') : ((Matrix.reindex e e) L).map ⇑(RationalHitting.Affine.eval (algebraMap ℚ (Matrix κ κ K)) X) = (Matrix.reindex e e) (L.map ⇑(RationalHitting.Affine.eval (algebraMap ℚ (Matrix κ κ K)) X)) := rflMentions: OAI.RationalHitting.Affine.Form, OAI.RationalHitting.Affine.eval
- lemma
OAI.RationalHitting.Affine.homogeneous_flatline 406Source documentation
Homogeneous affine coefficients give exactly the ordinary Kronecker pencil.
lemma homogeneous_flat.{v_2, v_3, v_4} {n : ℕ} {K : Type v_2} [Field K] [CharZero K] {ι : Type v_3} {κ : Type v_4} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (L : Matrix ι ι (RationalHitting.Affine.Form n)) (Z : Fin (n + 1) → Matrix κ κ K) : (Matrix.compRingEquiv ι κ K) (L.map (RationalHitting.Affine.homogeneous (algebraMap ℚ (Matrix κ κ K)) Z)) = fun a b => ∑ r, (algebraMap ℚ K) (RationalHitting.Affine.coeff (L a.1 b.1) r) * Z r a.2 b.2 := by …Mentions: OAI.RationalHitting.Affine.Form, OAI.RationalHitting.Affine.homogeneous, OAI.RationalHitting.Affine.coeff