OAI/AlgebraicGeometry/PlaneCurves/LineObstructions.lean
34 declarations, 0 contain sorry, 0 declared as axioms
Restriction and obstruction along projective lines
- theorem
OAI.Nagata.W04.ReducibleSquare.cycle_products_neline 38Source documentation
The two positive integral cycle products have different positive powers.
theorem cycle_products_ne {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 0 < k) (ht : 0 < t) : (((k : K) + 2) * 3) ^ t ≠ (((k : K) + 3) * 2) ^ t := by … - theorem
OAI.Nagata.W04.ReducibleSquare.cycle_coefficients_zeroline 50Source documentation
Three node equations force every scalar on the triangle to vanish.
theorem cycle_coefficients_zero {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 0 < k) (ht : 0 < t) (c₀ c₁ c₂ : K) (h₀₁ : c₀ * ((k : K) + 2) ^ t = c₁ * 2 ^ t) (h₁₂ : c₁ = c₂) (h₂₀ : c₂ * 3 ^ t = c₀ * ((k : K) + 3) ^ t) : c₀ = 0 ∧ c₁ = 0 ∧ c₂ = 0 := by … - theorem
OAI.Nagata.W04.ReducibleSquare.polynomial_triangle_zeroline 74Source documentation
Node gluing for the explicit common-tail polynomials forces the triangle to vanish.
theorem polynomial_triangle_zero {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 0 < k) (ht : 0 < t) (T : K[X]) (hT₁ : T.eval 1 ≠ 0) (hT₂ : T.eval 2 ≠ 0) (hT₃ : T.eval 3 ≠ 0) (c₀ c₁ c₂ : K) (h₀₁ : (C c₀ * ((X + C ((k : K) + 1)) * T) ^ t).eval 1 = (C c₁ * ((X + C 1) * T) ^ t).eval 1) (h₁₂ : (C c₁ * ((X + C 1) * T) ^ t).eval 3 = (C c₂ * ((X + C 1) * T) ^ t).eval 3) (h₂₀ : (C c₂ * ((X + C 1) * T) ^ t).eval 2 = (C c₀ * ((X + C ((k : K) + 1)) * T) ^ t).eval 2) : c₀ = 0 ∧ c₁ = 0 ∧ c₂ = 0 := by … - theorem
OAI.Nagata.W04.ReducibleSquare.polynomial_shape_of_mark_divisibilityline 100Source documentation
Equality in the degree bound gives scalar-times-full-mark-product.
theorem polynomial_shape_of_mark_divisibility {K : Type*} [Field K] (f P : K[X]) (k t : ℕ) (hP : P.Monic) (hdegree : P.natDegree = k) (hfdegree : f.natDegree ≤ k * t) (hdiv : P ^ t ∣ f) : f = C f.leadingCoeff * P ^ t := by … - theorem
OAI.Nagata.W04.Dimension.polynomial_height_le_oneline 123 - theorem
OAI.Nagata.W04.Dimension.prime_height_eq_one_of_le_oneline 147 - def
OAI.Nagata.W04.Dimension.lastVariableEquivline 167 - theorem
OAI.Nagata.W04.Dimension.lastVariableEquiv_symm_Cline 172 - theorem
OAI.Nagata.W04.Dimension.height_le_one_of_independent_quotientline 183 - theorem
OAI.Nagata.W04.Dimension.height_eq_one_of_independent_quotientline 212 - def
OAI.Nagata.W04.ReducibleSquare.lineSubstitutionline 234Source documentation
Homogeneous coordinates on Y=i²-iU in the affine parameter U.
def lineSubstitution (i : K) : Fin 3 → Polynomial K := …
- def
OAI.Nagata.W04.ReducibleSquare.lineRestrictionline 238Source documentation
The actual polynomial restriction homomorphism from plane forms to component i.
def lineRestriction (i : K) : MvPolynomial (Fin 3) K →+* Polynomial K := …
- theorem
OAI.Nagata.W04.ReducibleSquare.lineRestriction_node_gluingline 242Source documentation
Actual ambient forms automatically glue at each pairwise node.
theorem lineRestriction_node_gluing (F : MvPolynomial (Fin 3) K) (i j : K) : (lineRestriction i F).eval (i + j) = (lineRestriction j F).eval (i + j) := by … - def
OAI.Nagata.W04.ReducibleSquare.lineEquationline 255Source documentation
The affine equation of component i.
def lineEquation (i x y : K) : K := y + i * x - i ^ 2
- theorem
OAI.Nagata.W04.ReducibleSquare.lineEquation_on_componentline 258Source documentation
Restricting another line equation to component i gives the node factor.
theorem lineEquation_on_component (i j x : K) : lineEquation j x (i ^ 2 - i * x) = (j - i) * (x - i - j) := by … - theorem
OAI.Nagata.W04.ReducibleSquare.marked_point_avoids_other_lineline 264Source documentation
Negative integer marked coordinates avoid every other component.
theorem marked_point_avoids_other_line [CharZero K] (i j v : ℕ) (hij : i ≠ j) (hv : 0 < v) : lineEquation (j : K) (-(v : K)) ((i : K) ^ 2 - (i : K) * (-(v : K))) ≠ 0 := by … - def
OAI.Nagata.W04.ReducibleSquare.markTailline 288Source documentation
The common marks with affine x-coordinates 2,...,k, in the parameter U=-x.
def markTail {K : Type*} [CommSemiring K] (k : ℕ) : K[X] := … - def
OAI.Nagata.W04.ReducibleSquare.firstMarkline 292Source documentation
First marked x-coordinate: k+1 on component zero and 1 on all others.
def firstMark (k i : ℕ) : ℕ := if i = 0 then k + 1 else 1
- def
OAI.Nagata.W04.ReducibleSquare.markPolynomialline 295Source documentation
Actual polynomial vanishing at the k chosen marks on component i.
def markPolynomial {K : Type*} [CommSemiring K] (k i : ℕ) : K[X] := … - theorem
OAI.Nagata.W04.ReducibleSquare.markTail_monicline 300 - theorem
OAI.Nagata.W04.ReducibleSquare.markTail_natDegreeline 303 - theorem
OAI.Nagata.W04.ReducibleSquare.markPolynomial_monicline 309 - theorem
OAI.Nagata.W04.ReducibleSquare.markPolynomial_natDegreeline 312 - theorem
OAI.Nagata.W04.ReducibleSquare.markTail_eval_nat_ne_zeroline 321 - theorem
OAI.Nagata.W04.ReducibleSquare.firstMark_posline 329 - theorem
OAI.Nagata.W04.ReducibleSquare.markPolynomial_eval_nat_ne_zeroline 333 - theorem
OAI.Nagata.W04.ReducibleSquare.marked_linear_factors_coprimeline 340 - theorem
OAI.Nagata.W04.ReducibleSquare.firstMark_ne_tailline 349 - theorem
OAI.Nagata.W04.ReducibleSquare.markPolynomial_pow_dvdline 354Source documentation
Ordinary marked-point factor divisibility gives the full k-mark product power.
theorem markPolynomial_pow_dvd (k i t : ℕ) (f : K[X]) (hfirst : (X + C ((firstMark k i : ℕ) : K)) ^ t ∣ f) (htail : ∀ j < k - 1, (X + C ((j + 2 : ℕ) : K)) ^ t ∣ f) : (markPolynomial k i : K[X]) ^ t ∣ f := by …Mentions: OAI.Nagata.W04.ReducibleSquare.firstMark, OAI.Nagata.W04.ReducibleSquare.markPolynomial
- theorem
OAI.Nagata.W04.ReducibleSquare.marked_restriction_shapeline 375Source documentation
Equality-degree restrictions have the exact shape required by node gluing.
theorem marked_restriction_shape (k i t : ℕ) (hk : 0 < k) (f : K[X]) (hdeg : f.natDegree ≤ k * t) (hfirst : (X + C ((firstMark k i : ℕ) : K)) ^ t ∣ f) (htail : ∀ j < k - 1, (X + C ((j + 2 : ℕ) : K)) ^ t ∣ f) : f = C f.leadingCoeff * (markPolynomial k i : K[X]) ^ t := by …Mentions: OAI.Nagata.W04.ReducibleSquare.firstMark, OAI.Nagata.W04.ReducibleSquare.markPolynomial
- theorem
OAI.Nagata.W04.ReducibleSquare.line_family_zeroline 396Source documentation
No nonzero family of equality-degree marked restrictions can glue at all nodes.
theorem line_family_zero {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 3 ≤ k) (ht : 0 < t) (f : ℕ → K[X]) (hdeg : ∀ i < k, (f i).natDegree ≤ k * t) (hdiv : ∀ i < k, (markPolynomial k i : K[X]) ^ t ∣ f i) (hglue : ∀ i < k, ∀ j < k, (f i).eval ((i + j : ℕ) : K) = (f j).eval ((i + j : ℕ) : K)) : ∀ i < k, f i = 0 := by … - theorem
OAI.Nagata.W04.ReducibleSquare.line_family_zero_of_marked_factorsline 435Source documentation
The same obstruction directly from multiplicity-factor conditions at each mark.
theorem line_family_zero_of_marked_factors {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 3 ≤ k) (ht : 0 < t) (f : ℕ → K[X]) (hdeg : ∀ i < k, (f i).natDegree ≤ k * t) (hfirst : ∀ i < k, (X + C ((firstMark k i : ℕ) : K)) ^ t ∣ f i) (htail : ∀ i < k, ∀ j < k - 1, (X + C ((j + 2 : ℕ) : K)) ^ t ∣ f i) (hglue : ∀ i < k, ∀ j < k, (f i).eval ((i + j : ℕ) : K) = (f j).eval ((i + j : ℕ) : K)) : ∀ i < k, f i = 0 := by …Mentions: OAI.Nagata.W04.ReducibleSquare.firstMark
- theorem
OAI.Nagata.W04.ReducibleSquare.ambient_restrictions_zeroline 461Source documentation
Every component restriction vanishes, with gluing discharged for ambient forms.
theorem ambient_restrictions_zero {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 3 ≤ k) (ht : 0 < t) (F : MvPolynomial (Fin 3) K) (hdeg : ∀ i < k, (lineRestriction (i : K) F).natDegree ≤ k * t) (hfirst : ∀ i < k, (X + C ((firstMark k i : ℕ) : K)) ^ t ∣ lineRestriction (i : K) F) (htail : ∀ i < k, ∀ j < k - 1, (X + C ((j + 2 : ℕ) : K)) ^ t ∣ lineRestriction (i : K) F) : ∀ i < k, lineRestriction (i : K) F = 0 := by …Mentions: OAI.Nagata.W04.ReducibleSquare.lineRestriction, OAI.Nagata.W04.ReducibleSquare.firstMark
- theorem
OAI.Nagata.W04.ReducibleSquare.ambient_nonzero_restriction_obstructionline 474Source documentation
An actual nonzero component restriction contradicts all the marked degree bounds.
theorem ambient_nonzero_restriction_obstruction {K : Type*} [Field K] [CharZero K] (k t : ℕ) (hk : 3 ≤ k) (ht : 0 < t) (F : MvPolynomial (Fin 3) K) (hdeg : ∀ i < k, (lineRestriction (i : K) F).natDegree ≤ k * t) (hfirst : ∀ i < k, (X + C ((firstMark k i : ℕ) : K)) ^ t ∣ lineRestriction (i : K) F) (htail : ∀ i < k, ∀ j < k - 1, (X + C ((j + 2 : ℕ) : K)) ^ t ∣ lineRestriction (i : K) F) (hNonzero : ∃ i < k, lineRestriction (i : K) F ≠ 0) : False := by …Mentions: OAI.Nagata.W04.ReducibleSquare.lineRestriction, OAI.Nagata.W04.ReducibleSquare.firstMark