{"chains":[{"edge":{"id":"e-55ac75c563f7d5fb","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"euler_polynomial\",\"coefficients\":[{\"numerator\":[\"1\"],\"denominator\":[\"1\"]},{\"numerator\":[\"1\"],\"denominator\":[\"1\"]}]}"},"operation_detail":"euler_polynomial, shift 0","conclusion_id":"n-b9e1bcc0efba62aa","premise_count":1,"theorem":"Laguerre's theorem on multiplier sequences: if f is a real polynomial whose roots are all real and <= 0, then (f(k))_(k >= 0) is a multiplier sequence, so x^k -> f(k) x^k maps every real-rooted polynomial to a real-rooted polynomial or zero (Laguerre; see T. Craven and G. Csordas, Multiplier sequences for fields, Illinois J. Math. 21 (1977); Polya--Schur, Theorem 40 of P. Branden, arXiv:1410.6601: sum_k f(k) x^k / k! = f(theta) e^x = C e^x x^m prod (1 + x/a_j), a_j > 0); f(k) has one sign for k >= 0, so coefficients of one sign stay of one sign; applied to f(n, .) for each n","lean_route":null,"lean_declarations":["RealRooted.isMultiplierSequence_eval_of_roots_nonpos","RealRooted.isPFMultiplierSequence_eval_of_roots_nonpos","RealRooted.isMultiplierSequence_iff_preserves"],"certificate_hash":"30bbf68f912003e26dfeac1f74633ddb82dc840ce225dbd9c9f5c858fb7413b1","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-d938c1937a93c4df","role":"sequence","name":"Triangle of numbers T(n,k) = k!*Stirling2(n,k) read by rows (n >= 1, 1 <= 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-d938c1937a93c4df","role":"sequence","name":"Triangle of numbers T(n,k) = k!*Stirling2(n,k) read by rows (n >= 1, 1 <= 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-598b560f6729035b","operation":{"operation":"theorem_check","theorem":"ma_wang_interval"},"operation_detail":"ma_wang_interval","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"S.-M. Ma and Y. Wang, q-Eulerian polynomials and polynomials with only real zeros, Electron. J. Combin. 15 (2008) R17, Theorem 2 and Corollary 3 (arXiv:math/0611826), in the closed two-endpoint form of the RealRooted library (https://github.com/PerAlexandersson/RealRooted, RealRooted.affineEndpointStep_closed), after the change of variable x = U + (U - L) y, with the endpoint multiplicities tracked exactly through the induction","lean_route":null,"lean_declarations":["RealRooted.affineEndpointStep_closed","RealRooted.affineEndpointStep_roots_mem_Icc_iff","RealRooted.affineEndpointStep_rootMultiplicity_zero","RealRooted.affineEndpointStep_rootMultiplicity_neg_one","RealRooted.MaWang.endpointStep","RealRooted.MaWang.affineEndpointSequence","RealRooted.normalizedAffineEndpointSequence_roots_mem_Icc_iff"],"certificate_hash":"e50d200c2737ba7c5eb9bcd8ac24c976c0ae57cd968f25ea94719dd20bc2cb95","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":false,"value":"-1"},"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-e395982737c903b7","operation":{"operation":"theorem_check","theorem":"ma_wang_interval"},"operation_detail":"ma_wang_interval","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"S.-M. Ma and Y. Wang, q-Eulerian polynomials and polynomials with only real zeros, Electron. J. Combin. 15 (2008) R17, Theorem 2 and Corollary 3 (arXiv:math/0611826), in the closed two-endpoint form of the RealRooted library (https://github.com/PerAlexandersson/RealRooted, RealRooted.affineEndpointStep_closed), after the change of variable x = U + (U - L) y, with the endpoint multiplicities tracked exactly through the induction","lean_route":null,"lean_declarations":["RealRooted.affineEndpointStep_closed","RealRooted.affineEndpointStep_roots_mem_Icc_iff","RealRooted.affineEndpointStep_rootMultiplicity_zero","RealRooted.affineEndpointStep_rootMultiplicity_neg_one","RealRooted.MaWang.endpointStep","RealRooted.MaWang.affineEndpointSequence","RealRooted.normalizedAffineEndpointSequence_roots_mem_Icc_iff"],"certificate_hash":"3e2a5c3b07e3c7909c094f1400674e6ab66e8b871d77d1d4baf4ab497fed114e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":false,"value":"-1"},"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-052cfd8551fd4fcd","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"01a2a6b1073f9d5cb1464d4ae77c1939a049463178e1eaa7dec1fdc631820777","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-18af71bea607f7b1","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-d938c1937a93c4df","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":"9e6b0ef9072ce5d549abd45cd61517c72c4a680ceaecfef7570c4b684d145f76","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-76d25dafcdd8c9cc","role":"sequence","name":"shift_x_plus_one of eulerian","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-76d25dafcdd8c9cc","role":"sequence","name":"shift_x_plus_one of eulerian","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-16a5ff84df4996fb","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-76d25dafcdd8c9cc","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":"77b8886d9356024b90e28df0c128d450b1b766ae502813f370657ff3984c26cc","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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-5e056e65a98695b2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"bfde471fb1511be7293878f5b0fb4b87249b5519c2fe6b9235da40634518442d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","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-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","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-c61ecf4ef1c45372","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"4c40a3ab00f1ce67f6f473f13ba06210b6aa3b371384c2cd91b3b145372c59da","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]}]}]}]}]},{"edge":{"id":"e-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c61ecf4ef1c45372","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"4c40a3ab00f1ce67f6f473f13ba06210b6aa3b371384c2cd91b3b145372c59da","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-d8e174c0a7938dd9","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"affine\",\"slope\":\"1\",\"intercept\":\"1\"}"},"operation_detail":"affine, shift 0","conclusion_id":"n-76d25dafcdd8c9cc","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":"a0bb99ac3b157e8b63c30d59f2e07fc8a50b44437fa3d865d0fd4c8c084ea629","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"-1"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"unordered"}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-5e056e65a98695b2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"bfde471fb1511be7293878f5b0fb4b87249b5519c2fe6b9235da40634518442d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c61ecf4ef1c45372","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"4c40a3ab00f1ce67f6f473f13ba06210b6aa3b371384c2cd91b3b145372c59da","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-70dd0d9f2dae1a4c","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-76d25dafcdd8c9cc","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":"9e715a4875d394686294bef38151bae05755c5758c78d8310bc70af94db8b733","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-d938c1937a93c4df","role":"sequence","name":"Triangle of numbers T(n,k) = k!*Stirling2(n,k) read by rows (n >= 1, 1 <= 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-d938c1937a93c4df","role":"sequence","name":"Triangle of numbers T(n,k) = k!*Stirling2(n,k) read by rows (n >= 1, 1 <= 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-598b560f6729035b","operation":{"operation":"theorem_check","theorem":"ma_wang_interval"},"operation_detail":"ma_wang_interval","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"S.-M. Ma and Y. Wang, q-Eulerian polynomials and polynomials with only real zeros, Electron. J. Combin. 15 (2008) R17, Theorem 2 and Corollary 3 (arXiv:math/0611826), in the closed two-endpoint form of the RealRooted library (https://github.com/PerAlexandersson/RealRooted, RealRooted.affineEndpointStep_closed), after the change of variable x = U + (U - L) y, with the endpoint multiplicities tracked exactly through the induction","lean_route":null,"lean_declarations":["RealRooted.affineEndpointStep_closed","RealRooted.affineEndpointStep_roots_mem_Icc_iff","RealRooted.affineEndpointStep_rootMultiplicity_zero","RealRooted.affineEndpointStep_rootMultiplicity_neg_one","RealRooted.MaWang.endpointStep","RealRooted.MaWang.affineEndpointSequence","RealRooted.normalizedAffineEndpointSequence_roots_mem_Icc_iff"],"certificate_hash":"e50d200c2737ba7c5eb9bcd8ac24c976c0ae57cd968f25ea94719dd20bc2cb95","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":false,"value":"-1"},"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-e395982737c903b7","operation":{"operation":"theorem_check","theorem":"ma_wang_interval"},"operation_detail":"ma_wang_interval","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"S.-M. Ma and Y. Wang, q-Eulerian polynomials and polynomials with only real zeros, Electron. J. Combin. 15 (2008) R17, Theorem 2 and Corollary 3 (arXiv:math/0611826), in the closed two-endpoint form of the RealRooted library (https://github.com/PerAlexandersson/RealRooted, RealRooted.affineEndpointStep_closed), after the change of variable x = U + (U - L) y, with the endpoint multiplicities tracked exactly through the induction","lean_route":null,"lean_declarations":["RealRooted.affineEndpointStep_closed","RealRooted.affineEndpointStep_roots_mem_Icc_iff","RealRooted.affineEndpointStep_rootMultiplicity_zero","RealRooted.affineEndpointStep_rootMultiplicity_neg_one","RealRooted.MaWang.endpointStep","RealRooted.MaWang.affineEndpointSequence","RealRooted.normalizedAffineEndpointSequence_roots_mem_Icc_iff"],"certificate_hash":"3e2a5c3b07e3c7909c094f1400674e6ab66e8b871d77d1d4baf4ab497fed114e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":false,"value":"-1"},"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-052cfd8551fd4fcd","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"01a2a6b1073f9d5cb1464d4ae77c1939a049463178e1eaa7dec1fdc631820777","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-21846723d4cc7ea9","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d938c1937a93c4df","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 = 1 + 2 x, B = x + x^2, 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]; a linear operator preserving real-rootedness preserves the alternation of two polynomials (P. Branden, Trans. Amer. Math. Soc. 358 (2006), Corollary 2.5)","lean_route":null,"lean_declarations":[],"certificate_hash":"a3166d4fe363d9de5fb915c8a9c4cbec97e22b5a93d2b77c1a9315bc07ccdc31","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-5c89dfb3e51c341f","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"b23b475cd3efafbe7ed5a8c09489bd15eab8b6ac8b937be66e9bc5db22cbc7f0","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-8862293c2e298e35","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d938c1937a93c4df","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 = 1 + 2 x, B = x + x^2, 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]; a linear operator preserving real-rootedness preserves the alternation of two polynomials (P. Branden, Trans. Amer. Math. Soc. 358 (2006), Corollary 2.5)","lean_route":null,"lean_declarations":[],"certificate_hash":"351fdac395c52720aebdc6bd9313f767447e5f01c7dc7c42b82986f110a810de","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"premises":[]},{"edge":{"id":"e-facb0d3b0416b76b","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"d2aa886033ecf60b4dde545e05c1ce6bd91a117b291af40c6f72c06614792fc6","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-8205223e631a4605","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-d938c1937a93c4df","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":"81c9195c22d5b4c81b691075bd163164b2dc6284c7ad9a12d1d32a67a1c89845","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-5e056e65a98695b2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"bfde471fb1511be7293878f5b0fb4b87249b5519c2fe6b9235da40634518442d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c61ecf4ef1c45372","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"4c40a3ab00f1ce67f6f473f13ba06210b6aa3b371384c2cd91b3b145372c59da","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-b7f464e4dcf953bf","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-d938c1937a93c4df","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":"deef9b7db9b1b2e68023c33edc07f8403129cb891e7744464c6a6eaa4789dfac","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ff270bcb802a85af","role":"sequence","name":"eulerian","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-ab3cdcfae289b48d","operation":{"operation":"theorem_check","theorem":"liu_wang"},"operation_detail":"liu_wang","conclusion_id":"n-ff270bcb802a85af","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":"3b401216ecbf6036382b55b4f9f71f3915b47662bd6a7e242606f2c4929da12f","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":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-5e056e65a98695b2","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"bfde471fb1511be7293878f5b0fb4b87249b5519c2fe6b9235da40634518442d","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-6c46c948823f0a8c","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"9d12cd77b9ee0d013bd3da840c9003151ce5085bf526c6e28203ff8bed34becf","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-93ffa5dd2489493e","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-ff270bcb802a85af","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"4a6a15c6051d1b701d30a7646c5aa7df675eb5b3bd73d50e636bb9907199373e","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-c61ecf4ef1c45372","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-ff270bcb802a85af","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":"4c40a3ab00f1ce67f6f473f13ba06210b6aa3b371384c2cd91b3b145372c59da","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-21846723d4cc7ea9","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d938c1937a93c4df","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 = 1 + 2 x, B = x + x^2, 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]; a linear operator preserving real-rootedness preserves the alternation of two polynomials (P. Branden, Trans. Amer. Math. Soc. 358 (2006), Corollary 2.5)","lean_route":null,"lean_declarations":[],"certificate_hash":"a3166d4fe363d9de5fb915c8a9c4cbec97e22b5a93d2b77c1a9315bc07ccdc31","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-5c89dfb3e51c341f","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"b23b475cd3efafbe7ed5a8c09489bd15eab8b6ac8b937be66e9bc5db22cbc7f0","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8862293c2e298e35","operation":{"operation":"theorem_check","theorem":"iterated_preserver"},"operation_detail":"iterated_preserver","conclusion_id":"n-d938c1937a93c4df","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 = 1 + 2 x, B = x + x^2, 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]; a linear operator preserving real-rootedness preserves the alternation of two polynomials (P. Branden, Trans. Amer. Math. Soc. 358 (2006), Corollary 2.5)","lean_route":null,"lean_declarations":[],"certificate_hash":"351fdac395c52720aebdc6bd9313f767447e5f01c7dc7c42b82986f110a810de","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}},{"claim":"interlacing","from_index":2,"kind":"weak","orientation":"previous_interlaces_next"}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-facb0d3b0416b76b","operation":{"operation":"parent_provers","route":"root_domain"},"operation_detail":"root_domain","conclusion_id":"n-d938c1937a93c4df","premise_count":0,"theorem":"polytool parent provers, route root_domain: every parent row P_n, n >= 1, is zero or real-rooted with coefficients of one sign","lean_route":null,"lean_declarations":[],"certificate_hash":"d2aa886033ecf60b4dde545e05c1ce6bd91a117b291af40c6f72c06614792fc6","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[]},"repeat":true,"premises":[]},{"edge":{"id":"e-8205223e631a4605","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-d938c1937a93c4df","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":"81c9195c22d5b4c81b691075bd163164b2dc6284c7ad9a12d1d32a67a1c89845","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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-b7f464e4dcf953bf","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"mobius\",\"a\":\"1\",\"b\":\"0\",\"c\":\"1\",\"e\":\"1\",\"schedule\":{\"first_index\":1,\"first_degree\":0,\"step\":1}}"},"operation_detail":"mobius, shift 0","conclusion_id":"n-d938c1937a93c4df","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":"deef9b7db9b1b2e68023c33edc07f8403129cb891e7744464c6a6eaa4789dfac","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":1,"region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-ff270bcb802a85af","role":"sequence","name":"eulerian","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":[]}]}]}],"truncated":false,"expanded":19}
