{"chains":[{"edge":{"id":"e-877a388157eeafea","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-e2d562c238cc12f3","premise_count":1,"theorem":"a real affine substitution x -> a x + b (a != 0), the reversal x^d p(1/x) (d >= deg p) and a real Mobius map (c x + e)^d p((a x + b)/(c x + e)) (a e - b c != 0, d >= deg p) map real roots to real roots: a root r of p gives the root (r - b)/a, 1/r (and 0) or (e r - b)/(a - c r) (and -e/c); for an input row that is a polynomial the degree condition holds automatically","lean_route":null,"lean_declarations":["Polynomial.Splits.comp_of_degree_le_one"],"certificate_hash":"1f8075da111b5edead96c4ac67e8ac567af157955eee867d9ba91dfff826b143","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}}],"premises":[{"position":0,"node_id":"n-c856ca922af03076","role":"sequence","name":"Triangle read by rows: T(n,k) = T(n-1,k-1) + k^2*T(n-1,k), 1 < k <= n, T(n,1) = 1.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"}]},"premises":[{"premise":{"position":0,"node_id":"n-c856ca922af03076","role":"sequence","name":"Triangle read by rows: T(n,k) = T(n-1,k-1) + k^2*T(n-1,k), 1 < k <= n, T(n,1) = 1.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"},"chains":[{"edge":{"id":"e-4ef3f191042aa775","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c856ca922af03076","premise_count":1,"theorem":"a real affine substitution x -> a x + b (a != 0), the reversal x^d p(1/x) (d >= deg p) and a real Mobius map (c x + e)^d p((a x + b)/(c x + e)) (a e - b c != 0, d >= deg p) map real roots to real roots: a root r of p gives the root (r - b)/a, 1/r (and 0) or (e r - b)/(a - c r) (and -e/c); for an input row that is a polynomial the degree condition holds automatically","lean_route":"reversed","lean_declarations":["RealRooted.X_pow_mul_reverse_eq_zero_or_splits","RealRooted.reflect_eq_zero_or_splits"],"certificate_hash":"36db504832c53ecc3e61c592f4f5f201d780a2042bb071e970dab3cd2b1ad598","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-c23f36ab5968876b","role":"sequence","name":"Triangle of central factorial numbers T(2*n,2*n-2*k), k >= 0, n >= 1 (in Riordan's notation).","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"}]},"premises":[{"premise":{"position":0,"node_id":"n-c23f36ab5968876b","role":"sequence","name":"Triangle of central factorial numbers T(2*n,2*n-2*k), k >= 0, n >= 1 (in Riordan's notation).","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"},"chains":[{"edge":{"id":"e-55b0b69d551da627","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c23f36ab5968876b","premise_count":0,"theorem":"Iterated real-rootedness preservers (induction on n): if P_m is nonzero and real-rooted with every root in a closed region R and, for every n > m, P_n = a_n(x) S_n(P_(n-1)) where S_n maps every polynomial that is zero or real-rooted with every root in R to zero or a real-rooted polynomial with every root in R and a_n is real-rooted with every root in R, then every P_n is real-rooted with every root in R (the roots of a product are the roots of its factors); an exact degree step keeps every row nonzero; S_n = kappa (theta + a)(theta + b) + x (u + v theta) with kappa (t + a)(t + b) = 1 + (2) t + (1) t^2 and u + v theta = 1: The degree-local Euler step: T = kappa (theta + a)(theta + b) + x (u + v theta), theta = x D, with kappa, a, b > 0, u + v k > 0 for every k <= d and a negative comparison defect kappa (a b - (a + b + 1)^2/4) + (u - (a + b + 1) v/2) s - v^2 s^2/(4 kappa) < 0 for every s <= 0, maps every polynomial of degree <= d with nonnegative coefficients and only real roots to such a polynomial (RealRooted IsPFPolynomial.generalStep_of_natDegree_le, a half-line theorem: the symbol of T has discriminant -4 kappa s^2 times the comparison defect at s, so its real-rootedness is required for s <= 0 only, and the hypothesis (i) of P. Branden, Linear transformations preserving the Polya frequency property, Trans. Amer. Math. Soc. 358 (2006), Corollary 3.5, for every real s, is not needed); here d = deg P_(n-1), so u(n) + v(n) k > 0 is required for 0 <= k <= deg P_(n-1) only (both ends, the condition being linear in k); by linearity a row with nonpositive coefficients is handled through its negative; the induction runs on the rows Q_n = x^(d_n) P_n(1/x) at the nominal degree d_n, with d_(n-L) = n - 1 (an upper bound of deg P_(n-L)) (exact coordinate change of the rule; the rows P_n have every root in (-inf, 0] when the rows Q_n have every root in (-inf, 0])","lean_route":null,"lean_declarations":["RealRooted.IsPFPolynomial.generalStep_of_natDegree_le","RealRooted.EulerBidiagonal.generalStep","RealRooted.EulerBidiagonal.comparisonDefect","RealRooted.EulerBidiagonal.generalRowsDep_spec"],"certificate_hash":"e5b10c8d1dda7e46fa13ed6f063f8322195051075bdccc06ee993314c844484b","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-a2bce3e0bfc0231d","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c23f36ab5968876b","premise_count":1,"theorem":"a real affine substitution x -> a x + b (a != 0), the reversal x^d p(1/x) (d >= deg p) and a real Mobius map (c x + e)^d p((a x + b)/(c x + e)) (a e - b c != 0, d >= deg p) map real roots to real roots: a root r of p gives the root (r - b)/a, 1/r (and 0) or (e r - b)/(a - c r) (and -e/c); for an input row that is a polynomial the degree condition holds automatically","lean_route":"reversed","lean_declarations":["RealRooted.X_pow_mul_reverse_eq_zero_or_splits","RealRooted.reflect_eq_zero_or_splits"],"certificate_hash":"908e1f34b1ca5dc0964dccb832bf5a762337cfe726701fc2e2332b3d7ea3ddfa","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-c856ca922af03076","role":"sequence","name":"Triangle read by rows: T(n,k) = T(n-1,k-1) + k^2*T(n-1,k), 1 < k <= n, T(n,1) = 1.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"}]},"premises":[{"premise":{"position":0,"node_id":"n-c856ca922af03076","role":"sequence","name":"Triangle read by rows: T(n,k) = T(n-1,k-1) + k^2*T(n-1,k), 1 < k <= n, T(n,1) = 1.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"},"chains":[{"edge":{"id":"e-a0e4716facd171db","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c856ca922af03076","premise_count":0,"theorem":"Iterated real-rootedness preservers (induction on n): if P_m is nonzero and real-rooted with every root in a closed region R and, for every n > m, P_n = a_n(x) S_n(P_(n-1)) where S_n maps every polynomial that is zero or real-rooted with every root in R to zero or a real-rooted polynomial with every root in R and a_n is real-rooted with every root in R, then every P_n is real-rooted with every root in R (the roots of a product are the roots of its factors); an exact degree step keeps every row nonzero; S_n = kappa (theta + a)(theta + b) + x (u + v theta) with kappa (t + a)(t + b) = 1 + (2) t + (1) t^2 and u + v theta = 1: The degree-local Euler step: T = kappa (theta + a)(theta + b) + x (u + v theta), theta = x D, with kappa, a, b > 0, u + v k > 0 for every k <= d and a negative comparison defect kappa (a b - (a + b + 1)^2/4) + (u - (a + b + 1) v/2) s - v^2 s^2/(4 kappa) < 0 for every s <= 0, maps every polynomial of degree <= d with nonnegative coefficients and only real roots to such a polynomial (RealRooted IsPFPolynomial.generalStep_of_natDegree_le, a half-line theorem: the symbol of T has discriminant -4 kappa s^2 times the comparison defect at s, so its real-rootedness is required for s <= 0 only, and the hypothesis (i) of P. Branden, Linear transformations preserving the Polya frequency property, Trans. Amer. Math. Soc. 358 (2006), Corollary 3.5, for every real s, is not needed); here d = deg P_(n-1), so u(n) + v(n) k > 0 is required for 0 <= k <= deg P_(n-1) only (both ends, the condition being linear in k); by linearity a row with nonpositive coefficients is handled through its negative","lean_route":null,"lean_declarations":["RealRooted.IsPFPolynomial.generalStep_of_natDegree_le","RealRooted.EulerBidiagonal.generalStep","RealRooted.EulerBidiagonal.comparisonDefect","RealRooted.EulerBidiagonal.generalRowsDep_spec"],"certificate_hash":"964415256a8640a97cc3b4934e8ae4f4b89939510f3a60833d96076b821ea632","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"premises":[]}]}]}]}]},{"edge":{"id":"e-a0e4716facd171db","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c856ca922af03076","premise_count":0,"theorem":"Iterated real-rootedness preservers (induction on n): if P_m is nonzero and real-rooted with every root in a closed region R and, for every n > m, P_n = a_n(x) S_n(P_(n-1)) where S_n maps every polynomial that is zero or real-rooted with every root in R to zero or a real-rooted polynomial with every root in R and a_n is real-rooted with every root in R, then every P_n is real-rooted with every root in R (the roots of a product are the roots of its factors); an exact degree step keeps every row nonzero; S_n = kappa (theta + a)(theta + b) + x (u + v theta) with kappa (t + a)(t + b) = 1 + (2) t + (1) t^2 and u + v theta = 1: The degree-local Euler step: T = kappa (theta + a)(theta + b) + x (u + v theta), theta = x D, with kappa, a, b > 0, u + v k > 0 for every k <= d and a negative comparison defect kappa (a b - (a + b + 1)^2/4) + (u - (a + b + 1) v/2) s - v^2 s^2/(4 kappa) < 0 for every s <= 0, maps every polynomial of degree <= d with nonnegative coefficients and only real roots to such a polynomial (RealRooted IsPFPolynomial.generalStep_of_natDegree_le, a half-line theorem: the symbol of T has discriminant -4 kappa s^2 times the comparison defect at s, so its real-rootedness is required for s <= 0 only, and the hypothesis (i) of P. Branden, Linear transformations preserving the Polya frequency property, Trans. Amer. Math. Soc. 358 (2006), Corollary 3.5, for every real s, is not needed); here d = deg P_(n-1), so u(n) + v(n) k > 0 is required for 0 <= k <= deg P_(n-1) only (both ends, the condition being linear in k); by linearity a row with nonpositive coefficients is handled through its negative","lean_route":null,"lean_declarations":["RealRooted.IsPFPolynomial.generalStep_of_natDegree_le","RealRooted.EulerBidiagonal.generalStep","RealRooted.EulerBidiagonal.comparisonDefect","RealRooted.EulerBidiagonal.generalRowsDep_spec"],"certificate_hash":"964415256a8640a97cc3b4934e8ae4f4b89939510f3a60833d96076b821ea632","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]}],"truncated":false,"expanded":5}
