{"chains":[{"edge":{"id":"e-a1fa34e479f265c3","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-22dc599684e9805b","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"041882410a167e9ea0539b91e254108ddf92aecb2da5b6d4bdcd447758645b03","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-41442279a7af7481","role":"sequence","name":"basis_map_A008277 of Cube of lower triangular normalized binomial matrix.","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-41442279a7af7481","role":"sequence","name":"basis_map_A008277 of Cube of lower triangular normalized binomial matrix.","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-4d676db04b94b837","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-41442279a7af7481","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"23d3f80b10c47ca8885291425afaecb7b4a6a2c46f1316dbf30d1cfe346f0fb1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-40f55dba6bf772b4","role":"sequence","name":"basis_map_A008277 of Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-40f55dba6bf772b4","role":"sequence","name":"basis_map_A008277 of Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-6023e6cdb89bb376","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-40f55dba6bf772b4","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"781b68e141b84322e2c52fc482733532a602fdb841277237ac867e24a810c6bf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-c514ba2a1328f4f7","role":"sequence","name":"basis_map_A008277 of binomial","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-c514ba2a1328f4f7","role":"sequence","name":"basis_map_A008277 of binomial","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-63d258a3014acdf4","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-c514ba2a1328f4f7","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":"55a8861add9a462afe8cffcf25971a1fb9af26a867636f5441f9408676c7063c","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-0990b5be9f344750","role":"sequence","name":"Triangle read by rows: matrix product of the Stirling numbers of the second kind with the binomial coefficients.","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-0990b5be9f344750","role":"sequence","name":"Triangle read by rows: matrix product of the Stirling numbers of the second kind with the binomial coefficients.","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-0c08584d383e1215","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-0990b5be9f344750","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"b532e0a153f5a262553a988c00d7ace9621aacb8ebcbc6fcbeaeddc66d8a5427","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-731030331130850b","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-0990b5be9f344750","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 = A + B D + C D^2 with A = 2 + x, B = x, C = 0: Branden's Weyl step: T = A + B D + C D^2 maps every real-rooted polynomial to a real-rooted polynomial when (i) B^2 - 4 A C >= 0 on the real line, (ii) A strictly interlaces B (deg B = deg A + 1) or strictly alternates left of B (deg B = deg A), with leading coefficients of the same sign when deg A >= 1, and (iii) T(x^k) has degree deg A + k with leading coefficients of one sign for every k >= 0 (P. Branden, Linear transformations preserving the Polya frequency property, Trans. Amer. Math. Soc. 358 (2006), Corollary 3.5); (i) is necessary for a real-rootedness preserver (J. Borcea and P. Branden, Proc. London Math. Soc. 101 (2010), Theorem 1.3); with coefficients of one sign T also keeps every root in (-inf, 0]; 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":[],"certificate_hash":"e23a5492fbf49d7073f49c51c24708fca539ed591f4dd5eac02d2cececc03242","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-aa05da6d4af40b0a","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-0990b5be9f344750","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":"2dd3ed40bf9731d9f7cbf0a5a1dd4477c46eac52237bd930348fed6bb3bb2619","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-c514ba2a1328f4f7","role":"sequence","name":"basis_map_A008277 of binomial","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-c514ba2a1328f4f7","role":"sequence","name":"basis_map_A008277 of binomial","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-933a0d2bbc279fa2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-c514ba2a1328f4f7","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"756fc84db7df2e411f56152a169ff604be1ba86fbf963e207e0c4acb8b1084b5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-f3c2281829f25122","role":"sequence","name":"basis_map_A008277 of a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-f3c2281829f25122","role":"sequence","name":"basis_map_A008277 of a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-7b7980dbcf1b9283","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-f3c2281829f25122","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"387696dca11fda656c0967bb280d9b7d802ad26a254e1942a860ad6c5ece4d2a","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-e65f982fa1b436c5","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","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-e65f982fa1b436c5","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","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-48a5add9e29a7d57","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-e65f982fa1b436c5","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 = phi(n, D) = 1 + (1) D: Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"f30e9f15cd9e4f01a1fecdee47dc5c2865721895d90840c3727f36ecf9ddad4a","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-857a86cbb6c7881e","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-e65f982fa1b436c5","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"5dbea33f5f1b028325c49d7d9ae2cd84bbfd7f9c5bc20d4f0e3680abe026117a","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-50902364601606aa","role":"sequence","name":"basis-map coefficients of Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"1"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 1]"}]},"premises":[{"premise":{"position":0,"node_id":"n-50902364601606aa","role":"sequence","name":"basis-map coefficients of Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"1"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 1]"},"chains":[{"edge":{"id":"e-0ba23af98afc4615","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"-1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-50902364601606aa","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":"18b4c3b6a4e87b03c98f5564b8fbdd357b3fcc57e386e69270a7727bb4edb9f7","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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-1991a148b9538b93","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-cdb0db4ad473ee28","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"8cf856a836985e96bd407ce4af801578ea18373bd96c64891a6ad18f0bd7c29e","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-51515ec3828e72c6","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-cdb0db4ad473ee28","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"c7e3b02e1174428d487f2e94194926b23d9ebc09b1aa07ae72bbf115162aed16","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-12303ad0e0b9f8eb","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":2}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-cdb0db4ad473ee28","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"dd20f68543ec96b80fc61a9099ece7e9f6f16d4d392531db688c5b0c3cd77272","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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-1991a148b9538b93","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-cdb0db4ad473ee28","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"8cf856a836985e96bd407ce4af801578ea18373bd96c64891a6ad18f0bd7c29e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-51515ec3828e72c6","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-cdb0db4ad473ee28","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"c7e3b02e1174428d487f2e94194926b23d9ebc09b1aa07ae72bbf115162aed16","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","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-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-8c1f314a0c6d10ae","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"-1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-50902364601606aa","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":"0c4093da31c37b47441f336727b68340051bc0655e43dcba5658fba3689b9a74","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-ad13a5d17ca116d8","operation":{"index_shift":1,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 1","conclusion_id":"n-e65f982fa1b436c5","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":"4dc5c386685816e48283447cb1f87d6cee9b7690e717cc363e9b46c8b0f30a0d","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-4ee613bf6b082e7d","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n, n-k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 1, is zero or real-rooted with all roots in (-inf, 0]"}]},"premises":[{"premise":{"position":0,"node_id":"n-4ee613bf6b082e7d","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n, n-k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 1, is zero or real-rooted with all roots in (-inf, 0]"},"chains":[{"edge":{"id":"e-2ab1dfe057e84c9d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-4ee613bf6b082e7d","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"0e8fde597188e1780a2d629caea14add9735e4599c61c2383ab7a662aaae9493","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-1689c546bc4590e7","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-4ee613bf6b082e7d","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 = phi(n, D) = 1 + (1) D: Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n; 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 - 2 (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.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"3854dd7d7578c2edb2d0b77484f8de635cbd85ff2106b549ae8da6663f27cf53","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"premises":[]}]}]}]}]},{"edge":{"id":"e-a0124912f154a3df","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-f3c2281829f25122","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"d690960b19b92b228cea4518cd99ec8d6b524d2f85737fc7c48642bc6d459bb6","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-e65f982fa1b436c5","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","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-e65f982fa1b436c5","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","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-48a5add9e29a7d57","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-e65f982fa1b436c5","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 = phi(n, D) = 1 + (1) D: Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"f30e9f15cd9e4f01a1fecdee47dc5c2865721895d90840c3727f36ecf9ddad4a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-857a86cbb6c7881e","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-e65f982fa1b436c5","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"5dbea33f5f1b028325c49d7d9ae2cd84bbfd7f9c5bc20d4f0e3680abe026117a","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-50902364601606aa","role":"sequence","name":"basis-map coefficients of Triangle of Stirling numbers of 2nd kind, S(n,k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"1"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 1]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-ad13a5d17ca116d8","operation":{"index_shift":1,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 1","conclusion_id":"n-e65f982fa1b436c5","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":"4dc5c386685816e48283447cb1f87d6cee9b7690e717cc363e9b46c8b0f30a0d","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-4ee613bf6b082e7d","role":"sequence","name":"Triangle of Stirling numbers of 2nd kind, S(n, n-k), n >= 0, 0 <= k <= n.","uses":{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 1, is zero or real-rooted with all roots in (-inf, 0]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-f923f3a2f8b8c5a1","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-f3c2281829f25122","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"37c0db359f5f921d2ad8e58873eb8854aaf7f501e26a1943dad8a39e8295603c","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-a499c43746a8b06c","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-c514ba2a1328f4f7","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":"8355920af3792d7dc4444cad073512c46fc2dfef31d2ea5db1f0e91c9f6c8d8c","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-0990b5be9f344750","role":"sequence","name":"Triangle read by rows: matrix product of the Stirling numbers of the second kind with the binomial coefficients.","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-0990b5be9f344750","role":"sequence","name":"Triangle read by rows: matrix product of the Stirling numbers of the second kind with the binomial coefficients.","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-0c08584d383e1215","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-0990b5be9f344750","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"b532e0a153f5a262553a988c00d7ace9621aacb8ebcbc6fcbeaeddc66d8a5427","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-731030331130850b","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-0990b5be9f344750","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 = A + B D + C D^2 with A = 2 + x, B = x, C = 0: Branden's Weyl step: T = A + B D + C D^2 maps every real-rooted polynomial to a real-rooted polynomial when (i) B^2 - 4 A C >= 0 on the real line, (ii) A strictly interlaces B (deg B = deg A + 1) or strictly alternates left of B (deg B = deg A), with leading coefficients of the same sign when deg A >= 1, and (iii) T(x^k) has degree deg A + k with leading coefficients of one sign for every k >= 0 (P. Branden, Linear transformations preserving the Polya frequency property, Trans. Amer. Math. Soc. 358 (2006), Corollary 3.5); (i) is necessary for a real-rootedness preserver (J. Borcea and P. Branden, Proc. London Math. Soc. 101 (2010), Theorem 1.3); with coefficients of one sign T also keeps every root in (-inf, 0]; 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":[],"certificate_hash":"e23a5492fbf49d7073f49c51c24708fca539ed591f4dd5eac02d2cececc03242","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-e5e1692a171d5da6","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-c514ba2a1328f4f7","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"5162d1dd3611470127e236e9deae689c072d1c5a37b0c88f2285950a40c2267f","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-317eb4ccca60c6ac","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"9f0fe4767c925152fdb0cdc3db4dca6a32f07707ff9c0fa25bbc0cdc142a3915","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-c5fbed723aeff5ee","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"4999a3b0ac8757ef0efc9861ef7aa415109be40f68ba31ef44104174e5a08d3a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-033cf842aad3bdf7","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-c8c19eba9d68881f","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":"5b84b266a8340ea3b9af4bdc2f36920da27fc68d3c93fcf0b801f8d75ccfe5f3","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-317eb4ccca60c6ac","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"9f0fe4767c925152fdb0cdc3db4dca6a32f07707ff9c0fa25bbc0cdc142a3915","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c5fbed723aeff5ee","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"4999a3b0ac8757ef0efc9861ef7aa415109be40f68ba31ef44104174e5a08d3a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-095baa2a9dfe188f","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"05446ba52f33fa49b6e1de7dedb11b2753869f8d6d869e6e382f0b89318c03c6","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-13983862a411779c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"89cf0eec729df06ed8b9074d50aae1a6f657c639097d1ed4289a547b1594b124","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-8d3b5f6c97250d50","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c8c19eba9d68881f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"d2825cb485b9c1c673d7517c3d4ae13e13624e00b02b02c82f1fd8a48ddbaadc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-989c95e5c893fce9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":2,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"fe0952a1e8803038090752e62fdbdc75a15aedecbe144c96df1b84e0cbf1eb64","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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-b62074ba45057e82","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-7717563017cb9e5f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"f7581f61483da9ffd4619875bf41af3fb971859f4fc30687b035649694d0d69c","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-d5ae8d20711d3490","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-7717563017cb9e5f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"ed44f69789d4c765daa92dc01c830ee893d10fe7aed599f87be7bed3cc65d09f","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-de1e09039faed494","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-7717563017cb9e5f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"db092f7834ea1f29f9326d393d5b267e69b55a7f6341ad2612a48a6710c3a79a","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-c76adc2a99cd3dea","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"b98af8bbfaa3379e26cc694264adf88ae2a876ed394528917c325395a49f7419","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-0e058c428dfdfeb6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":2}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-b30e7a5b4198051a","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":"8f1bf0f64df2374f94bb1a027341e46e0a4b8c73b7f7f4e1b570a09e1152edff","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-2ca1a57389573f4a","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-b30e7a5b4198051a","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"09a3f361383fb6666912545c12c8d79419e1eb98525badce7e5cabf8898a2d9a","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-d82c9b48e4b31a6b","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-b30e7a5b4198051a","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"50c92cd11c82745cd226eff6f5cf3c2d06e6efe799693091d6d9f5393995ecfb","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-2ca1a57389573f4a","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-b30e7a5b4198051a","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"09a3f361383fb6666912545c12c8d79419e1eb98525badce7e5cabf8898a2d9a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-d82c9b48e4b31a6b","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-b30e7a5b4198051a","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"50c92cd11c82745cd226eff6f5cf3c2d06e6efe799693091d6d9f5393995ecfb","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-3a52de7742ed9314","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"148819fa946f716310a720c14d838d300808a292b27ac878364ec23f7fc33579","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-095baa2a9dfe188f","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"05446ba52f33fa49b6e1de7dedb11b2753869f8d6d869e6e382f0b89318c03c6","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-13983862a411779c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"89cf0eec729df06ed8b9074d50aae1a6f657c639097d1ed4289a547b1594b124","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8d3b5f6c97250d50","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c8c19eba9d68881f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"d2825cb485b9c1c673d7517c3d4ae13e13624e00b02b02c82f1fd8a48ddbaadc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-989c95e5c893fce9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":2,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"fe0952a1e8803038090752e62fdbdc75a15aedecbe144c96df1b84e0cbf1eb64","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-c76adc2a99cd3dea","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"b98af8bbfaa3379e26cc694264adf88ae2a876ed394528917c325395a49f7419","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-3a52de7742ed9314","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"148819fa946f716310a720c14d838d300808a292b27ac878364ec23f7fc33579","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]}]}]},{"edge":{"id":"e-933a0d2bbc279fa2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"derivative_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-c514ba2a1328f4f7","premise_count":1,"theorem":"Laguerre's theorem on differential operators: if phi is a real polynomial with only real roots, then phi(D) maps every real-rooted polynomial to a real-rooted polynomial or zero (write phi(D) = C D^j prod (1 + c_i D); D preserves real-rootedness by Rolle's theorem and p + c p' is real-rooted for every real c by Rolle's theorem applied to e^(x/c) p; Polya--Schur 1914); when the coefficients of phi have one sign, coefficients of one sign stay of one sign; applied to phi(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.splits_add_C_mul_derivative_all","RealRooted.splits_C_mul_add_derivative","Polynomial.Splits.derivative"],"certificate_hash":"756fc84db7df2e411f56152a169ff604be1ba86fbf963e207e0c4acb8b1084b5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-f3c2281829f25122","role":"sequence","name":"basis_map_A008277 of a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-a499c43746a8b06c","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-c514ba2a1328f4f7","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":"8355920af3792d7dc4444cad073512c46fc2dfef31d2ea5db1f0e91c9f6c8d8c","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-0990b5be9f344750","role":"sequence","name":"Triangle read by rows: matrix product of the Stirling numbers of the second kind with the binomial coefficients.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-e5e1692a171d5da6","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-c514ba2a1328f4f7","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"5162d1dd3611470127e236e9deae689c072d1c5a37b0c88f2285950a40c2267f","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-74a6e78fdd5274b8","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-40f55dba6bf772b4","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"126ec106a73e3db4edcf490364780711b9eedc114498fba5d3f36a56f2ecb636","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-0d085d05819c04f2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"38aea70b2fe0d66de829f596c7d98f7a3e0005c83dfa354761bd9dbfa43d404c","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-53fc2f730af8c549","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"1dbf3d636e6fab518fa1b9ec5039a5a9b988f58242e63443d4165f664713c5e9","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-045f9d56b54ceaf2","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-af754f07daf65b5e","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":"a5749d525a08cfb9181c5967a828b6f09f998317e0e0a942ca3fe2e2084b5022","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-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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-8892e1eec1744b32","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"5531efecc9407ea1a7d80efa2fce8127d02246baa0461538f4f6cd4d001cbbe3","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-a6866143cc223753","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"7b681f24e9f7e2d88448e7cfc2272017b765354c4f2575d1bdce5048d0b84794","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-41b2234a78052e4f","operation":{"map":"A013609","operation":"basis_map"},"operation_detail":"A013609","conclusion_id":"n-71965e79e47a4526","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"d1e9ca8b31c1c977fb36a800403c5a4d78e887fbfedbd1f0ea84d65dd40593d7","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-4c4f74d9ba733cff","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-71965e79e47a4526","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"26c7c2bc659eb913df6fa559691ea5fa84713a59e1fdc4c8aa3043e5511fb0a0","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-d3c3090977105807","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-d3c3090977105807","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-5ec22502b867f3ab","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d3c3090977105807","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"9b3cf5eb8c99bbcac212cf7478880f17278a3b4df0af16cef693175dc87678cc","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-611a289e0ae3c45e","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":2}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-d3c3090977105807","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":"f21e32d91fc6cea32d1943d6f187318050225c1e5eab6473674741cb5e99e609","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-d3c3090977105807","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-d3c3090977105807","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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-5ec22502b867f3ab","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d3c3090977105807","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"9b3cf5eb8c99bbcac212cf7478880f17278a3b4df0af16cef693175dc87678cc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-eab26daf7024ea74","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-d3c3090977105807","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"eea8c28b12fe36025ef313a8852af60a097c0a2dcb14f1a70bb95893b7f5f57c","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-eab26daf7024ea74","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-d3c3090977105807","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"eea8c28b12fe36025ef313a8852af60a097c0a2dcb14f1a70bb95893b7f5f57c","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-6d15baf5e54583ee","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-71965e79e47a4526","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":"3df2663dfe40f62ad637847290ffb2b489c4172568e9b145e35f36177f650814","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-0d085d05819c04f2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"38aea70b2fe0d66de829f596c7d98f7a3e0005c83dfa354761bd9dbfa43d404c","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-53fc2f730af8c549","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"1dbf3d636e6fab518fa1b9ec5039a5a9b988f58242e63443d4165f664713c5e9","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-1697ba43e31b7729","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"0869ec5ffec48a0ad09ee9fb1b8defc36d0fe2b66301b883fbdbf86d399ce50d","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-4608a916413bc814","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-af754f07daf65b5e","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"0191d67677c2b1a29407093e9df3dc215476e73f540c9573e2ce7a88d851fd71","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-317eb4ccca60c6ac","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"9f0fe4767c925152fdb0cdc3db4dca6a32f07707ff9c0fa25bbc0cdc142a3915","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c5fbed723aeff5ee","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"4999a3b0ac8757ef0efc9861ef7aa415109be40f68ba31ef44104174e5a08d3a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-033cf842aad3bdf7","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-c8c19eba9d68881f","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":"5b84b266a8340ea3b9af4bdc2f36920da27fc68d3c93fcf0b801f8d75ccfe5f3","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-095baa2a9dfe188f","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"05446ba52f33fa49b6e1de7dedb11b2753869f8d6d869e6e382f0b89318c03c6","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-13983862a411779c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"89cf0eec729df06ed8b9074d50aae1a6f657c639097d1ed4289a547b1594b124","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8d3b5f6c97250d50","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c8c19eba9d68881f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"d2825cb485b9c1c673d7517c3d4ae13e13624e00b02b02c82f1fd8a48ddbaadc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-989c95e5c893fce9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":2,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"fe0952a1e8803038090752e62fdbdc75a15aedecbe144c96df1b84e0cbf1eb64","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-c76adc2a99cd3dea","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"b98af8bbfaa3379e26cc694264adf88ae2a876ed394528917c325395a49f7419","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-3a52de7742ed9314","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"148819fa946f716310a720c14d838d300808a292b27ac878364ec23f7fc33579","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-eea5922b24ea2f3f","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-af754f07daf65b5e","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"1dfca29d3b4001c28c71f0353243b197c9251281cb85f4ffb19607f460669be6","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-17c52917511dc051","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-af754f07daf65b5e","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":"05fddca10fbc13a93d6b9f815f3c8aeaac37d299a1f4b80bf5666624ec3bdbc5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-317eb4ccca60c6ac","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"9f0fe4767c925152fdb0cdc3db4dca6a32f07707ff9c0fa25bbc0cdc142a3915","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c5fbed723aeff5ee","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"4999a3b0ac8757ef0efc9861ef7aa415109be40f68ba31ef44104174e5a08d3a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-033cf842aad3bdf7","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-c8c19eba9d68881f","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":"5b84b266a8340ea3b9af4bdc2f36920da27fc68d3c93fcf0b801f8d75ccfe5f3","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-095baa2a9dfe188f","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"05446ba52f33fa49b6e1de7dedb11b2753869f8d6d869e6e382f0b89318c03c6","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-13983862a411779c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"89cf0eec729df06ed8b9074d50aae1a6f657c639097d1ed4289a547b1594b124","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8d3b5f6c97250d50","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c8c19eba9d68881f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"d2825cb485b9c1c673d7517c3d4ae13e13624e00b02b02c82f1fd8a48ddbaadc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-989c95e5c893fce9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":2,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"fe0952a1e8803038090752e62fdbdc75a15aedecbe144c96df1b84e0cbf1eb64","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-c76adc2a99cd3dea","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"b98af8bbfaa3379e26cc694264adf88ae2a876ed394528917c325395a49f7419","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-3a52de7742ed9314","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"148819fa946f716310a720c14d838d300808a292b27ac878364ec23f7fc33579","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-d08b7f9df01d4f3c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"ec9d80f121a86b6a74a22bf472619e629ed1f65be471b41a04baf131b595cd4a","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-f761c6f60b5a5177","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-71965e79e47a4526","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"93b33c573176129ddcadb7584018d23e91d0259247fc3684c4c23c3cb9a1b81d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-2c323256b27180b8","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-71965e79e47a4526","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"3ca54f3469d34db6f4b389f4a1e14d00b85cfc0815e96fd7ab39f86a7c62cf83","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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-317eb4ccca60c6ac","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"9f0fe4767c925152fdb0cdc3db4dca6a32f07707ff9c0fa25bbc0cdc142a3915","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c5fbed723aeff5ee","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"4999a3b0ac8757ef0efc9861ef7aa415109be40f68ba31ef44104174e5a08d3a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-033cf842aad3bdf7","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-c8c19eba9d68881f","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":"5b84b266a8340ea3b9af4bdc2f36920da27fc68d3c93fcf0b801f8d75ccfe5f3","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-095baa2a9dfe188f","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"05446ba52f33fa49b6e1de7dedb11b2753869f8d6d869e6e382f0b89318c03c6","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-13983862a411779c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-c8c19eba9d68881f","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"89cf0eec729df06ed8b9074d50aae1a6f657c639097d1ed4289a547b1594b124","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8d3b5f6c97250d50","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-c8c19eba9d68881f","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"d2825cb485b9c1c673d7517c3d4ae13e13624e00b02b02c82f1fd8a48ddbaadc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-989c95e5c893fce9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":2,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"fe0952a1e8803038090752e62fdbdc75a15aedecbe144c96df1b84e0cbf1eb64","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-7717563017cb9e5f","role":"sequence","name":"Riordan array (1-x,x/(1-x)).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-c76adc2a99cd3dea","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-c8c19eba9d68881f","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"b98af8bbfaa3379e26cc694264adf88ae2a876ed394528917c325395a49f7419","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-b30e7a5b4198051a","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-3/2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-3a52de7742ed9314","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-c8c19eba9d68881f","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":"148819fa946f716310a720c14d838d300808a292b27ac878364ec23f7fc33579","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-1697ba43e31b7729","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"0869ec5ffec48a0ad09ee9fb1b8defc36d0fe2b66301b883fbdbf86d399ce50d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-4608a916413bc814","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-af754f07daf65b5e","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"0191d67677c2b1a29407093e9df3dc215476e73f540c9573e2ce7a88d851fd71","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-eea5922b24ea2f3f","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-af754f07daf65b5e","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"1dfca29d3b4001c28c71f0353243b197c9251281cb85f4ffb19607f460669be6","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-17c52917511dc051","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-af754f07daf65b5e","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":"05fddca10fbc13a93d6b9f815f3c8aeaac37d299a1f4b80bf5666624ec3bdbc5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-6d94a10ae1f2ed2c","operation":{"map":"A008277","operation":"basis_map"},"operation_detail":"A008277","conclusion_id":"n-41442279a7af7481","premise_count":1,"theorem":"ray basis maps: for L f = (a + b t) f + kappa (t - h) f', b > 0, kappa >= 0, and g real-rooted with every root <= h, of multiplicity m at h, T(u^k) = L^k g sends every real polynomial with all roots in S to one with all roots in (-inf, h] if and only if S lies in (-inf, a + b h + kappa m] (RealRooted rayBasisMap_maps_realRootedIn_iff; the step is Ma and Wang, EJC 15 (2008) R17, Theorem 2)","lean_route":null,"lean_declarations":[],"certificate_hash":"03e935a4964d871ff059b8c73a52d18307fa871f30432eb2f37af16130a3363c","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-8d887bfc40d036b9","role":"sequence","name":"Cube of lower triangular normalized binomial matrix.","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-8d887bfc40d036b9","role":"sequence","name":"Cube of lower triangular normalized binomial matrix.","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-2786234a932620b2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"7f15c73a96f929ce8462bfef9f545c8a2c20520475117624d785438dfbd9a266","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-60ac3fcd619ee7be","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"b4650e613fa842366b940531176be07d8569d44422b719bcb070ac26e9b9cf35","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-090c65763405a203","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-8d887bfc40d036b9","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":"16ec521548951cbc776cf0761f867dbdf13bd96ada154b62eb7255fc014014a4","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-6a5af5e1168bb679","role":"sequence","name":"Triangle of coefficients in expansion of (1+3*x)^n.","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-6a5af5e1168bb679","role":"sequence","name":"Triangle of coefficients in expansion of (1+3*x)^n.","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-035d18f235569c81","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-6a5af5e1168bb679","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"4f8dab0a867d1ee0a947750c569b98a183f691353dcab9933d0e524e74cc0e08","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-2768998ce8fdf7c1","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-6a5af5e1168bb679","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"a4c8f34e2d5ea85a4ce514dd153b6dc64caf5cccbde13e7e8f47ed2e2fb843ba","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"premises":[]},{"edge":{"id":"e-404109e50a21afd4","operation":{"map":"A013610","operation":"basis_map"},"operation_detail":"A013610","conclusion_id":"n-6a5af5e1168bb679","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"edc5082fe1f50541bff18f0c35b8edc80fcb765f441d78e4a3322fea811a5812","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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-06e4036009691da2","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6fea5aff4f44fa54","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"7c912ab923c9452960fd948e2fd8c52d90d69cab55f4c9bc2b8f8cdc969cc005","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-292206ad4ae86d2d","operation":{"index_shift":0,"modulus":2,"operation":"veronese_section","residue":0},"operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-6fea5aff4f44fa54","premise_count":1,"theorem":"Veronese sections of Polya frequency sequences (Aissen--Schoenberg--Whitney--Edrei): if P is real-rooted with coefficients of one sign, equivalently nonzero with all roots in (-inf, 0], every section V_(r,j)(P) is zero or real-rooted with roots in (-inf, 0]","lean_route":null,"lean_declarations":[],"certificate_hash":"c465820f18c46c973a857042716eb1aaf6aa6c14f8138fb65e09d43ac3468670","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-cdb0db4ad473ee28","role":"sequence","name":"basis-map coefficients of Irregular triangle read by rows formed by taking every other row of the Delannoy array (A008288) regarded as a triangle. shifted by x -> -x + 0","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-b7eca039219a7f53","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6fea5aff4f44fa54","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"28b0677de51356622004bdee49b3e32263cbcbf0992e57af7cdf296451825f68","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7e44b66e04c497d6","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6fea5aff4f44fa54","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"29fd5ce083ab0ea9777d2838738405a218d7a71aee67f7d82621aeb4d52fb9a1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-960446a231db7fff","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-6a5af5e1168bb679","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"2c960ad45b4366153fe3c1b825e809fb04e313b00e479a66c7d358567e093231","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-b03bb7746bf562de","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-6a5af5e1168bb679","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":"8c982d42c69e6c40e4093ad833b798fa4603a933a7a7096c58d7d6e7832f3d2d","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-8d887bfc40d036b9","role":"sequence","name":"Cube of lower triangular normalized binomial matrix.","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-8d887bfc40d036b9","role":"sequence","name":"Cube of lower triangular normalized binomial matrix.","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-2786234a932620b2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"7f15c73a96f929ce8462bfef9f545c8a2c20520475117624d785438dfbd9a266","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-60ac3fcd619ee7be","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"b4650e613fa842366b940531176be07d8569d44422b719bcb070ac26e9b9cf35","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-58678fea8a24dd74","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"1201408f22bf428eb672ae86817049aa4b391ed164eb56a5b64bcccf1567d422","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-7b97c40e19745577","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-8d887bfc40d036b9","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"ca4413ff99fe94b834b0ccb0346cbdfd308f65a0ac6122141eabf56cdea0a24f","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-0d085d05819c04f2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"38aea70b2fe0d66de829f596c7d98f7a3e0005c83dfa354761bd9dbfa43d404c","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-53fc2f730af8c549","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"1dbf3d636e6fab518fa1b9ec5039a5a9b988f58242e63443d4165f664713c5e9","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-045f9d56b54ceaf2","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-af754f07daf65b5e","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":"a5749d525a08cfb9181c5967a828b6f09f998317e0e0a942ca3fe2e2084b5022","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-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-1697ba43e31b7729","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"0869ec5ffec48a0ad09ee9fb1b8defc36d0fe2b66301b883fbdbf86d399ce50d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-4608a916413bc814","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-af754f07daf65b5e","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"0191d67677c2b1a29407093e9df3dc215476e73f540c9573e2ce7a88d851fd71","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-eea5922b24ea2f3f","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-af754f07daf65b5e","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"1dfca29d3b4001c28c71f0353243b197c9251281cb85f4ffb19607f460669be6","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-17c52917511dc051","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-af754f07daf65b5e","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":"05fddca10fbc13a93d6b9f815f3c8aeaac37d299a1f4b80bf5666624ec3bdbc5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]}]}]},{"edge":{"id":"e-e95a6c267ee7e5e8","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-8d887bfc40d036b9","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"a5f2c26ab04873f824ed4b034013f510ddf4c34afc4c03dd5f68dbb1450fc069","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-4b09f87a5a93f62b","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-8d887bfc40d036b9","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":"0e2bc69de65d0b8e6edbae4a3e1cb571cdec307c1c668a4808f090a8918e8742","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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-0d085d05819c04f2","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"38aea70b2fe0d66de829f596c7d98f7a3e0005c83dfa354761bd9dbfa43d404c","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-53fc2f730af8c549","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"1dbf3d636e6fab518fa1b9ec5039a5a9b988f58242e63443d4165f664713c5e9","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-045f9d56b54ceaf2","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-af754f07daf65b5e","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":"a5749d525a08cfb9181c5967a828b6f09f998317e0e0a942ca3fe2e2084b5022","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-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-1697ba43e31b7729","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-af754f07daf65b5e","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"0869ec5ffec48a0ad09ee9fb1b8defc36d0fe2b66301b883fbdbf86d399ce50d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-4608a916413bc814","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-af754f07daf65b5e","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"0191d67677c2b1a29407093e9df3dc215476e73f540c9573e2ce7a88d851fd71","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-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-eea5922b24ea2f3f","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-af754f07daf65b5e","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"1dfca29d3b4001c28c71f0353243b197c9251281cb85f4ffb19607f460669be6","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-17c52917511dc051","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-af754f07daf65b5e","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":"05fddca10fbc13a93d6b9f815f3c8aeaac37d299a1f4b80bf5666624ec3bdbc5","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-bd3566bc3465f71b","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-6a5af5e1168bb679","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"3355687902e66175b89f5c2774503f94e1e226e794e7522aa0c287e4f95551be","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-33c9dd76a325511a","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-6a5af5e1168bb679","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"3795fea8d7520729133fa030de633b0d8a5fee1ac6232093aeca7ba800b1d635","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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-71965e79e47a4526","role":"sequence","name":"Triangle of coefficients in expansion of (1+2*x)^n.","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-8892e1eec1744b32","operation":{"operation":"theorem_check","theorem":"hypergeometric_row"},"operation_detail":"hypergeometric_row","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"Row-hypergeometric rows: an exact row relation p(n, k) [x^k] P_n + q(n, k) [x^(k-1)] P_n = 0, proved for every n by an invariant row-annihilator system of the rule, writes every row as U_0(n) x^v (or its reversal) times the image of (1 + x)^M(n) under a product of nonnegative multiplier sequences: C^k (C > 0); k -> M'!/(M' - k)!, whose exponential generating function is (1 + x)^M' (Polya--Schur, Theorem 7.1 (3) => (1) of P. Branden, Unimodality, log-concavity, real-rootedness and beyond, arXiv:1410.6601: a sequence is a multiplier sequence when G(x) = sum_k lambda_k x^k / k! or G(-x) can be written C x^m e^(a x) prod_k (1 + alpha_k x) with a >= 0, alpha_k >= 0); k -> phi(k) for a polynomial phi with only real roots, all <= 0 (Laguerre's theorem, RealRooted isPFMultiplierSequence_eval_of_roots_nonpos); k -> 1/(alpha)_k for alpha > 0 (RealRooted isPFMultiplierSequence_inv_ascPochhammer, via the generalized Laguerre polynomials); products of PF multiplier sequences are PF multiplier sequences (RealRooted IsPFMultiplierSequence.mul) and map real-rooted polynomials with nonnegative coefficients to such polynomials (IsPFMultiplierSequence.diagonalOperator_isPF)","lean_route":null,"lean_declarations":["RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_inv_ascPochhammer","RealRooted.IsPFMultiplierSequence.mul","RealRooted.IsPFMultiplierSequence.diagonalOperator_isPF"],"certificate_hash":"5531efecc9407ea1a7d80efa2fce8127d02246baa0461538f4f6cd4d001cbbe3","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-a6866143cc223753","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with g = f' (as in their Corollary 2.4), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":null,"lean_declarations":[],"certificate_hash":"7b681f24e9f7e2d88448e7cfc2272017b765354c4f2575d1bdce5048d0b84794","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-41b2234a78052e4f","operation":{"map":"A013609","operation":"basis_map"},"operation_detail":"A013609","conclusion_id":"n-71965e79e47a4526","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"d1e9ca8b31c1c977fb36a800403c5a4d78e887fbfedbd1f0ea84d65dd40593d7","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-6fea5aff4f44fa54","role":"sequence","name":"a(n) = 1 if n is of the form m(m+3)/2, otherwise 0.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-4c4f74d9ba733cff","operation":{"index_shift":0,"operation":"gamma_polynomial","scale":"1"},"operation_detail":"scale 1, shift 0","conclusion_id":"n-71965e79e47a4526","premise_count":1,"theorem":"gamma criterion (RealRooted IsGammaExpansion.isRealRooted_and_hasRootsNonpos_iff): if P = sum_j gamma_j x^j (1 + x)^(d - 2j) with deg Gamma <= d/2, then P is nonzero and real-rooted with roots in (-inf, 0] if and only if Gamma(z) = sum_j gamma_j z^j is; Gamma(c z) with c != 0 has the roots of Gamma divided by c","lean_route":null,"lean_declarations":[],"certificate_hash":"26c7c2bc659eb913df6fa559691ea5fa84713a59e1fdc4c8aa3043e5511fb0a0","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-d3c3090977105807","role":"sequence","name":"Triangle read by rows, T(n,k) = GegenbauerC(m,-n,-2) where m = k if k<n else 2*n-k, for n>=0 and 0<=k<=2n.","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-6d15baf5e54583ee","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-71965e79e47a4526","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":"3df2663dfe40f62ad637847290ffb2b489c4172568e9b145e35f36177f650814","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-d08b7f9df01d4f3c","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-71965e79e47a4526","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"ec9d80f121a86b6a74a22bf472619e629ed1f65be471b41a04baf131b595cd4a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-f761c6f60b5a5177","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-71965e79e47a4526","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"93b33c573176129ddcadb7584018d23e91d0259247fc3684c4c23c3cb9a1b81d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-2c323256b27180b8","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-71965e79e47a4526","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":"fTransform","lean_declarations":["RealRooted.splits_fPolynomial"],"certificate_hash":"3ca54f3469d34db6f4b389f4a1e14d00b85cfc0815e96fd7ab39f86a7c62cf83","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-c8c19eba9d68881f","role":"sequence","name":"binomial","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]"}]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-58678fea8a24dd74","operation":{"operation":"parent_provers","route":"periodic_product"},"operation_detail":"periodic_product","conclusion_id":"n-8d887bfc40d036b9","premise_count":0,"theorem":"polytool parent provers, route periodic_product: every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"1201408f22bf428eb672ae86817049aa4b391ed164eb56a5b64bcccf1567d422","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-7b97c40e19745577","operation":{"map":"A007318","operation":"basis_map"},"operation_detail":"A007318","conclusion_id":"n-8d887bfc40d036b9","premise_count":1,"theorem":"geometric family P_k = g(t) (a + d t)^k: T(p) = g(t) p(a + d t), so the roots of T(p) are those of g and the points (r - a)/d for the roots r of p (elementary)","lean_route":null,"lean_declarations":[],"certificate_hash":"ca4413ff99fe94b834b0ccb0346cbdfd308f65a0ac6122141eabf56cdea0a24f","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-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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]"}]},"repeat":true,"premises":[]},{"edge":{"id":"e-e95a6c267ee7e5e8","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-8d887bfc40d036b9","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; here S_n is the identity","lean_route":null,"lean_declarations":[],"certificate_hash":"a5f2c26ab04873f824ed4b034013f510ddf4c34afc4c03dd5f68dbb1450fc069","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-4b09f87a5a93f62b","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-8d887bfc40d036b9","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":"0e2bc69de65d0b8e6edbae4a3e1cb571cdec307c1c668a4808f090a8918e8742","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":1,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-af754f07daf65b5e","role":"sequence","name":"Triangle whose (i,j)-th entry is binomial(i,j)*2^(i-j).","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]"}]},"repeat":true,"premises":[]}]}]}]}]}],"truncated":false,"expanded":76}
