OAI/Combinatorics/HoneycombChords/Interlacing.lean
122 declarations, 0 contain sorry, 0 declared as axioms
Moment pencils and positive root interlacing
Formalized from Critical honeycomb chords with prescribed boundary endpoints (OpenAI, September 26, 2026).
- def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencilline 15 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_prefixline 18 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_transposeline 20 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_pairingline 26 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_kernel_last_neline 44 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_monic_left_kernelline 73 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_sturmline 95Source documentation
Exact signed-border identity with positive factors at every real root. This proves the Sturm sign needed for the second oblique comparison.
theorem flagPencil_sturm {n : ℕ} (F G : ℕ → ℝ → ℝ) (w : ℝ → ℝ) (r : ℝ) (hz : (flagPencil (n+1) F G w r).det=0) (hF : PositiveFlag F (n+2)) (hG : PositiveFlag G (n+2)) (hFc : ∀ i : Fin (n+2),Continuous (F i)) (hGc : ∀ i : Fin (n+2),Continuous (G i)) (hw : ∀ p,0 < p → 0 < w p) (hi : ∀ i j : Fin (n+2),IntegrableOn (fun p=>(p^2-r)*F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) : 0 < r ∧ ∃ L R : ℝ,0 < L ∧ 0 < R ∧ (flagPencil (n+2) F G w r).det= -(flagPencil n F G w r).det*L*R := by …Mentions: OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.w, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveFlag
- def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.generalizedCharpolyline 157 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.generalizedCharpoly_monicline 159 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.generalizedCharpoly_natDegreeline 161 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.generalizedCharpoly_evalline 163 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.generalizedCharpoly_eval_zero_iffline 173 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagGramline 188 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristicline 190 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_affineline 192 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_integrableline 205 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagGram_det_posline 217 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_zero_det_posline 221 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic_evalline 240 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic_eval_zero_iffline 247 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic_zero_signline 253 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.monic_eq_root_productline 276 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.product_cut_signline 283 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.interlacing_product_signline 304 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.strictMono_lastCases_realline 321 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.continuous_root_betweenline 330 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.root_between_eachline 337 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.alternating_sign_oppositeline 347 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.polynomial_sturm_intervalsline 359Source documentation
A polynomial with the Sturm signs at a positive ordered node vector has a root in each intervening interval, including the first and last.
theorem polynomial_sturm_intervals {n : ℕ} (p : ℝ[X]) (r : Fin n → ℝ) (hr : StrictMono r) (hr0 : ∀ i,0<r i) (hrootSigns : ∀ j,0 < (-1:ℝ)^(n-j.val)*p.eval (r j)) (hzero : 0 < (-1:ℝ)^(n+1)*p.eval 0) (htop : Tendsto (fun x=>p.eval x) atTop atTop) : ∃ s : Fin (n+1) → ℝ,StrictMono s ∧ (∀ i,0<s i) ∧ (∀ i,p.eval (s i)=0) ∧ (∀ i,s i.castSucc<r i ∧ r i<s i.succ) := by … - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveInterlacingline 410Source documentation
Strict positive interlacing, with the exact characteristic factorization.
def PositiveInterlacing (p q : ℝ[X]) (n : ℕ) : Prop := …
- lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.monic_polynomial_tendstoline 415 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.polynomial_sturm_chainline 422Source documentation
The sign relation for a one-dimensional oblique extension implies real, simple, positive, interlacing roots for every finite prefix.
theorem polynomial_sturm_chain {N : ℕ} (p : ℕ → ℝ[X]) (hm : ∀ k,k ≤ N → (p k).Monic) (hd : ∀ k,k ≤ N → (p k).natDegree=k) (hzero : ∀ k,k ≤ N → 0 < (-1:ℝ)^k*(p k).eval 0) (hstep : ∀ k,k+2 ≤ N → ∀ x,(p (k+1)).eval x=0 → ∃ C : ℝ,0<C ∧ (p (k+2)).eval x= -C*(p k).eval x) : ∀ n,n+1 ≤ N → PositiveInterlacing (p n) (p (n+1)) n := by …Mentions: OAI.CriticalHoneycomb.FiniteFunctional.C, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveInterlacing
- lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.positive_fraction_monoline 470 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.interlacing_product_ratioline 474 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.polynomial_product_negative_ratioline 503 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.positive_interlacing_ratioline 510 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic_sturmline 525 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic_interlacesline 559Source documentation
Finite moment pencils of two positive flags have real, strictly positive, interlacing roots.
theorem flagCharacteristic_interlaces {N : ℕ} (F G : ℕ → ℝ → ℝ) (w : ℝ → ℝ) (hF : PositiveFlag F N) (hG : PositiveFlag G N) (hFc : ∀ i : Fin N,Continuous (F i)) (hGc : ∀ i : Fin N,Continuous (G i)) (hw : ∀ p,0<p → 0<w p) (hi : ∀ i j : Fin N,IntegrableOn (fun p=>F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) (h2 : ∀ i j : Fin N,IntegrableOn (fun p=>p^2*F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) : ∀ n,n+1 ≤ N → PositiveInterlacing (flagCharacteristic n F G w) (flagCharacteristic (n+1) F G w) n := by …Mentions: OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.w, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveFlag, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveInterlacing, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagCharacteristic
- lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_ratioline 586 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_one_stepline 597Source documentation
A one-dimensional determinant comparison for oblique chains with positive Chebyshev extensions.
theorem flagPencil_one_step {n : ℕ} (F G : ℕ → ℝ → ℝ) (w : ℝ → ℝ) (hF : PositiveFlag F (n+1)) (hG : PositiveFlag G (n+1)) (hFc : ∀ i : Fin (n+1),Continuous (F i)) (hGc : ∀ i : Fin (n+1),Continuous (G i)) (hw : ∀ p,0<p → 0<w p) (hi : ∀ i j : Fin (n+1),IntegrableOn (fun p=>F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) (h2 : ∀ i j : Fin (n+1),IntegrableOn (fun p=>p^2*F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) {A B : ℝ} (hA : 0<A) (hAB : A<B) : (A/B)*((flagPencil n F G w (-A)).det/(flagPencil n F G w (-B)).det) ≤ (flagPencil (n+1) F G w (-A)).det/(flagPencil (n+1) F G w (-B)).det ∧ (flagPencil (n+1) F G w (-A)).det/(flagPencil (n+1) F G w (-B)).det ≤ (flagPencil n F G w (-A)).det/(flagPencil n F G w (-B)).det := by …Mentions: OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.w, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.PositiveFlag, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.A, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil
- theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil_two_stepsline 614 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.NonvanishingFlagline 643Source documentation
For the actual second oblique chain, the bases are reordered relative to the sorted complete jets. The orientation is immaterial for a pencil ratio.
def NonvanishingFlag (F : ℕ → ℝ → ℝ) (N : ℕ) : Prop := …
- def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagAnchorline 646 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagOrientationline 648 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.orientedFlagline 649 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagAnchor_ne_zeroline 650 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.evaluation_det_same_signline 658 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagOrientation_productline 702 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.orientedFlag_positiveline 714 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.moveLastline 743Source documentation
Move one selected row to the end, preserving the order of the rest.
def moveLast (n : ℕ) (p : Fin (n+1)) : Equiv.Perm (Fin (n+1)) := …
- lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.moveLast_castSuccline 745 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.moveLast_lastline 748 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftLastPermline 749 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftLastPerm_castSuccline 751 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftLastPerm_lastline 754 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftFirstPermline 756 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftFirstPerm_zeroline 758 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.liftFirstPerm_succline 759 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.evaluation_perm_det_ne_zeroline 762 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.constant_row_subtraction_detline 767 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.cons_zeroJet_detline 775 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.prepend_permuted_det_ne_zeroline 779 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.append_permuted_det_ne_zeroline 789 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.constant_to_last_det_ne_zeroline 799 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.cons_lastCases_swapline 809 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.constant_to_penultimate_det_ne_zeroline 822 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_beforeline 841 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_order_beforeline 843 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zero_extended_beforeline 850 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_monotoneline 854 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_nonnegline 865 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_boundline 870 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedKnot_firstline 876 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zeroInsertionline 877 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zero_insertion_reorderline 878 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zero_interior_appended_det_ne_zeroline 891 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zero_extended_splitline 900 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeft_top_det_ne_zeroline 908 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.scalar_familyPencil_detline 930 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.orientedFlagPencil_ratioline 944 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.orientedFlag_integrableline 954 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.unorientedPencil_two_stepsline 964Source documentation
A two-step determinant comparison for Chebyshev families.
theorem unorientedPencil_two_steps {n : ℕ} (F G : ℕ → ℝ → ℝ) (w : ℝ → ℝ) (hF : NonvanishingFlag F (n+2)) (hG : NonvanishingFlag G (n+2)) (hFc : ∀ i : Fin (n+2),Continuous (F i)) (hGc : ∀ i : Fin (n+2),Continuous (G i)) (hw : ∀ p,0<p → 0<w p) (hi : ∀ i j : Fin (n+2),IntegrableOn (fun p=>F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) (h2 : ∀ i j : Fin (n+2),IntegrableOn (fun p=>p^2*F i (p^2)*G j (p^2)*w p) (Set.Ioi 0)) {A B : ℝ} (hA : 0<A) (hAB : A<B) : (A/B)^2*((flagPencil n F G w (-A)).det/(flagPencil n F G w (-B)).det) ≤ (flagPencil (n+2) F G w (-A)).det/(flagPencil (n+2) F G w (-B)).det ∧ (flagPencil (n+2) F G w (-A)).det/(flagPencil (n+2) F G w (-B)).det ≤ (flagPencil n F G w (-A)).det/(flagPencil n F G w (-B)).det := by …Mentions: OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.w, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.NonvanishingFlag, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.A, OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.flagPencil
- lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRight_middle_det_ne_zeroline 997 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRight_top_det_ne_zeroline 1004 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.appendTwoline 1015 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.appendTwo_prefixline 1017 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.appendTwo_middleline 1021 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.appendTwo_topline 1027 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeftFlagline 1033 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRightFlagline 1036 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zero_twoKnot_nonvanishingline 1038 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeft_nonvanishingline 1042 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRight_nonvanishingline 1057 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.stripKernelSpanline 1080 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.kernel_mem_stripSpanline 1082 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.one_mem_stripSpanline 1084 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.zeroJet_mem_stripSpanline 1090 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.stripSpan_continuousline 1100 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.stripSpan_pair_integrableline 1106 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeft_memline 1140 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRight_memline 1150 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.permutationFactorline 1165 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.permutationFactor_ne_zeroline 1166 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.evaluation_perm_factorline 1169 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.evaluation_append_perm_factorline 1174 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.evaluation_prepend_perm_factorline 1183 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.constant_to_penultimate_factorline 1192 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.familyGram_evaluation_factorsline 1202 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.stripSpan_pair_pencil_integrableline 1220 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeftFactorline 1237 - def
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRightFactorline 1239 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeftFactor_ne_zeroline 1241 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRightFactor_ne_zeroline 1243 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondLeft_evaluation_factorline 1245 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondRight_evaluation_factorline 1253 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.extendedZero_memline 1266 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.interiorRaw_memline 1268 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondChain_pencil_factorline 1271 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondChain_bottom_pencilline 1308 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondChain_pencil_ratioline 1314 - lemma
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondOblique_comparison_auxline 1322 - theorem
OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.secondObliqueCharacteristicComparisonline 1342Source documentation
The second oblique characteristic comparison follows from complete jet positivity and finite moments.
theorem secondObliqueCharacteristicComparison : SecondObliqueCharacteristicComparison := by …
Mentions: OAI.CriticalHoneycomb.FiniteFunctional.StripAsymptotic.SecondObliqueCharacteristicComparison