{"certification":{"candidate":{"gauge":{"kind":"none"},"index_shift":0,"operator":{"a":"1","b":"0","c":"1","e":"1","schedule":{"first_degree":0,"first_index":0,"step":1},"shape":"mobius"},"parent":{"first_index":0,"initial_polynomials":[["1"],["1","1"]],"recurrence":{"terms":[{"coeff":{"coeffs":[["1","1"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","2"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"parent_name":"Pascal-(1,2,1) array read by antidiagonals."},"identifying_rows":1,"identity":{"certificate":{"certificate":{"dividend_relation":{"terms":[{"coeff":{"coeffs":[["-1","4","-5","0","5","-4","1"],["1","-4","5","0","-5","4","-1"],["-3","15","-30","30","-15","3","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["0","-15","72","-135","120","-45","0","3"],["1","5","-39","85","-85","39","-5","-1"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","-1","-5","39","-85","85","-39","5","1"]]},"deriv_order":2,"shift":0},{"coeff":{"coeffs":[["1","-5","10","-10","5","-1"],["1","-5","10","-10","5","-1"]]},"deriv_order":0,"shift":1}]},"exceptional_bases":[],"gauge":{"kind":"none"},"identifying_indices":[0],"index_shift":0,"input":{"first_index":0,"initial_polynomials":[["1"]],"recurrence":{"denominator":{"coeffs":[["0","0","0","0"],["1","3","3","1"]]},"terms":[{"coeff":{"coeffs":[["6","54","180","300","270","126","24"],["-9","-77","-255","-429","-392","-186","-36"],["4","28","84","136","124","60","12"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["1","35","208","550","785","631","270","48"],["-1","-18","-98","-256","-369","-302","-132","-24"]]},"deriv_order":1,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","1","17","82","190","245","181","72","12"]]},"deriv_order":2,"offset":1,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"input_valid_from_base":0,"multiplier":["1","1"],"operator":{"a":"1","b":"0","c":"1","e":"1","schedule":{"first_degree":0,"first_index":0,"step":1},"shape":"mobius"},"parent":{"first_index":0,"initial_polynomials":[["1"],["1","1"]],"recurrence":{"terms":[{"coeff":{"coeffs":[["1","1"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","2"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"parent_leader_shift":2,"parent_valid_from_base":0,"quotients":[],"row_annihilation":{"kind":"system","system":{"generators":[{"annihilator":{"terms":[{"coeff":{"coeffs":[["-1","-1"],["1","1"],["-3","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["0","-15","-3"],["1","10","1"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","-1","-10","-1"]]},"deriv_order":2,"shift":0},{"coeff":{"coeffs":[["1"],["1"]]},"deriv_order":0,"shift":1}]},"quotient":[{"coeff":{"coeffs":[["1","-5","10","-10","5","-1"],["1","-5","10","-10","5","-1"]]},"deriv_order":0}],"step_multiplier":{"coeffs":[["0","0","0","-1","-27","-216","-240","1998","-1998","240","216","27","1"],["0","0","0","-3","-81","-648","-720","5994","-5994","720","648","81","3"],["0","0","0","-3","-81","-648","-720","5994","-5994","720","648","81","3"],["0","0","0","-1","-27","-216","-240","1998","-1998","240","216","27","1"]]},"step_quotients":[[{"coeff":{"coeffs":[["0","0","0","1","25","162","-192","-2478","5994","-4236","264","405","53","2"],["0","0","0","6","156","1134","144","-13428","23976","-13428","144","1134","156","6"],["0","0","0","12","318","2430","1584","-25416","35964","-14868","-1152","972","150","6"],["0","0","0","10","268","2106","1968","-20460","23976","-6396","-1680","162","44","2"],["0","0","0","3","81","648","720","-5994","5994","-720","-648","-81","-3","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","-1","-22","-79","894","3630","-11508","6234","3012","-1533","-566","-59","-2"],["0","0","0","-3","-81","-645","-639","6642","-5274","-5274","6642","-639","-645","-81","-3"],["0","0","0","-3","-96","-1053","-3960","2394","23976","-29250","4248","3321","408","15","0"],["0","0","0","-1","-37","-487","-2427","-618","17742","-17742","618","2427","487","37","1"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","1","37","487","2427","618","-17742","17742","-618","-2427","-487","-37","-1"],["0","0","0","0","2","74","974","4854","1236","-35484","35484","-1236","-4854","-974","-74","-2"],["0","0","0","0","1","37","487","2427","618","-17742","17742","-618","-2427","-487","-37","-1"]]},"deriv_order":2}],[{"coeff":{"coeffs":[["0","0","0","-1","-21","-42","1398","6540","-6540","-1398","42","21","1"],["0","0","0","-6","-147","-858","2742","24162","-21072","-4926","42","60","3"],["0","0","0","-12","-315","-2322","-162","33246","-23976","-6390","-126","54","3"],["0","0","0","-10","-273","-2238","-2958","20166","-10896","-3594","-210","12","1"],["0","0","0","-3","-84","-732","-1452","4542","-1452","-732","-84","-3","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","1","22","63","-1356","-7938","0","7938","1356","-63","-22","-1"],["0","0","0","3","82","651","240","-12306","-14172","19446","5664","399","-6","-1"],["0","0","0","3","98","1113","4548","-798","-28344","15078","7260","987","54","1"],["0","0","0","1","38","525","2952","3570","-14172","3570","2952","525","38","1"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","-1","-38","-525","-2952","-3570","14172","-3570","-2952","-525","-38","-1"],["0","0","0","0","-2","-76","-1050","-5904","-7140","28344","-7140","-5904","-1050","-76","-2"],["0","0","0","0","-1","-38","-525","-2952","-3570","14172","-3570","-2952","-525","-38","-1"]]},"deriv_order":2}]]},{"annihilator":{"terms":[{"coeff":{"coeffs":[["0","0","0"],["2","5","-1"],["-3","3","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["0","-16","2","2"],["1","9","-9","-1"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","-1","-9","9","1"]]},"deriv_order":2,"shift":0}]},"quotient":[],"step_multiplier":{"coeffs":[["0","0","0","-1","-27","-216","-240","1998","-1998","240","216","27","1"],["0","0","0","-3","-81","-648","-720","5994","-5994","720","648","81","3"],["0","0","0","-3","-81","-648","-720","5994","-5994","720","648","81","3"],["0","0","0","-1","-27","-216","-240","1998","-1998","240","216","27","1"]]},"step_quotients":[[{"coeff":{"coeffs":[["0","0","0","1","19","1","-1461","-3702","18222","-18222","3702","1461","-1","-19","-1"],["0","0","0","6","135","570","-4311","-17820","66654","-61380","11178","4950","75","-54","-3"],["0","0","0","12","291","1704","-4167","-31248","90630","-74808","11322","6084","231","-48","-3"],["0","0","0","10","253","1702","-1245","-23844","54186","-38364","3918","3162","233","-10","-1"],["0","0","0","3","78","567","72","-6714","11988","-6714","72","567","78","3","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","-1","-20","-20","1460","5163","-14520","0","14520","-5163","-1460","20","20","1"],["0","0","0","-3","-76","-490","980","12135","-10680","-35484","47400","-8517","-4860","-410","4","1"],["0","0","0","-3","-92","-920","-2420","8781","22200","-70968","51240","-1545","-5340","-880","-52","-1"],["0","0","0","-1","-36","-450","-1940","1809","18360","-35484","18360","1809","-1940","-450","-36","-1"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","1","36","450","1940","-1809","-18360","35484","-18360","-1809","1940","450","36","1"],["0","0","0","0","2","72","900","3880","-3618","-36720","70968","-36720","-3618","3880","900","72","2"],["0","0","0","0","1","36","450","1940","-1809","-18360","35484","-18360","-1809","1940","450","36","1"]]},"deriv_order":2}],[{"coeff":{"coeffs":[["0","0","0","-1","-15","120","2688","7806","-20166","6048","3144","363","13"],["0","0","0","-6","-126","-288","7344","29412","-66492","18864","10080","1170","42"],["0","0","0","-12","-288","-1584","5904","41400","-78480","20304","11376","1332","48"],["0","0","0","-10","-258","-1824","528","25788","-38148","8208","5088","606","22"],["0","0","0","-3","-81","-648","-720","5994","-5994","720","648","81","3"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","1","20","3","-1944","-9534","4368","22110","-10152","-4371","-484","-17","0"],["0","0","0","3","77","493","-1461","-18450","-9006","61962","-20922","-11169","-1455","-71","-1"],["0","0","0","3","94","977","2910","-8298","-31116","57594","-11388","-9225","-1458","-91","-2"],["0","0","0","1","37","487","2427","618","-17742","17742","-618","-2427","-487","-37","-1"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","-1","-37","-487","-2427","-618","17742","-17742","618","2427","487","37","1"],["0","0","0","0","-2","-74","-974","-4854","-1236","35484","-35484","1236","4854","974","74","2"],["0","0","0","0","-1","-37","-487","-2427","-618","17742","-17742","618","2427","487","37","1"]]},"deriv_order":2}]]}],"restart_bases":[],"row_multiplier":{"coeffs":[["1"]]},"start_base":0}},"shifted_parent_relation":{"terms":[{"coeff":{"coeffs":[["0","-2"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["-1","-1"]]},"deriv_order":0,"shift":1},{"coeff":{"coeffs":[["1"]]},"deriv_order":0,"shift":2}]},"statement":"w(n) E = sum_nu H_nu S^nu L' (with any remainder removed by row annihilators of the parent), where L' is the parent rule at P'_n = P_(n+0) (valid from base 0) and E the input rule gauged by lambda(n)/delta(n) and composed with (or conjugated through) T = ((1) x + (1))^(d_n) P(((1) x + (0))/((1) x + (1))), d_n = 0 + 1 (n - 0); so the candidate rows satisfy the input rule at every base n >= 0 (the exceptional bases checked exactly), and agreement on the 1 identifying rows gives Q_n = lambda(n) T_n(P_(n+0)) for every n >= 0"},"method":"operator_division"},"status":"certified"},"input_first_index":0,"interlacing":{"reason":"the schedule d_n depends on n","status":"none"},"lean_declarations":["RealRooted.splits_fPolynomial"],"lean_route":"fTransform","lift_summary":{"hypotheses":[{"evidence":"lambda(n) = 1","name":"gauge_finite_nonzero","statement":"lambda(n) is finite and nonzero for every n >= n0","status":{"kind":"verified"}}],"identity":{"method":"forward_division","status":"certified"},"input_first_index":0,"input_interlacing":{"reason":"the schedule d_n depends on n","status":"not_proved"},"lean_replay":"not_attempted","operation":{"description":"((1) x + (1))^(d_n) P(((1) x + (0))/((1) x + (1))), d_n = 0 + 1 (n - 0)","kind":"preserver_image","operator":{"a":"1","b":"0","c":"1","e":"1","schedule":{"first_degree":0,"first_index":0,"step":1},"shape":"mobius"}},"parent":{"gauge":{"kind":"none"},"index_shift":0,"recurrence":{"first_index":0,"initial_polynomials":[["1"],["1","1"]],"recurrence":{"terms":[{"coeff":{"coeffs":[["1","1"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","2"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"relation":"Q_n = lambda(n) T_n(P_(n+0)) with T = ((1) x + (1))^(d_n) P(((1) x + (0))/((1) x + (1))), d_n = 0 + 1 (n - 0), for every n >= 0"},"parent_proof":{"route":"liu_wang_derivative_lag","statement":"every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","status":"proved"},"root_transfer":{"input_conclusion":"every Q_n, n >= 0, is zero or real-rooted with roots in [-1, 0]","input_root_region":{"lower":{"closed":true,"value":"-1"},"upper":{"closed":true,"value":"0"}},"parent_hypothesis":"every parent row used is zero or real-rooted with all roots in (-inf, 0] (coefficients of one sign)","parent_root_region":{"upper":{"closed":true,"value":"0"}},"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"},"verdict":"proved"},"notes":["the division remainder is removed by row annihilators of the shifted parent"],"parent_interlacing_report":{"conclusion":{"first_index":0,"interlacing":"strict","interlacing_from":1,"root_region":{"upper":{"closed":false,"value":"0"}},"simple_roots":true,"statement":"every P_n, n >= 0, is nonzero and real-rooted with every root in (-inf, 0) (so its coefficients have one sign); for n >= 1, P_n has simple roots and P_(n-1) strictly interlaces P_n (no common root), and deg P_n = deg P_(n-1) + 1 for n >= 2"},"hypotheses":[{"evidence":"checked exactly","name":"seed_roots_negative","statement":"P_0 and P_1 are nonzero and real-rooted with every root < 0","status":{"kind":"verified"}},{"evidence":"degrees 0 and 1, leading coefficients of one sign","name":"seed_degree_step","statement":"deg P_1 = deg P_0 + 1, with leading coefficients of one sign","status":{"kind":"verified"}},{"evidence":"Bezout test, exact","name":"seed_strict_interlacing","statement":"P_0 strictly interlaces P_1 (simple real roots, no common root)","status":{"kind":"verified"}},{"evidence":"lambda_n = 1 > 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of lambda_n = 1 at n = 2 + u have one sign)","name":"degree_step_positive","sign_decision":{"certificate":{"condition":"positive","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["1"]},"numerator":["1"],"range":{"first":"2","last":null}},"decision":"holds"},"statement":"lambda_n = [x^1] A_n + (deg P_(n-1)) [x^2] V_n > 0 for every n >= 2 (deg P_n = deg P_(n-1) + 1 with leading coefficients of one sign)","status":{"kind":"verified"}},{"evidence":"[x^0] c_1 and [x^0] c_2 are zero polynomials","name":"multipliers_vanish_at_zero","statement":"V_n(0) = 0 and W_n(0) = 0 for every n >= 2","status":{"kind":"verified"}},{"evidence":"A_n(0) = 1 > 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of A_n(0) = 1 at n = 2 + u have one sign)","name":"constant_term_positive","sign_decision":{"certificate":{"condition":"positive","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["1"]},"numerator":["1"],"range":{"first":"2","last":null}},"decision":"holds"},"statement":"A_n(0) > 0 for every n >= 2","status":{"kind":"verified"}},{"evidence":"V_n = 0","name":"derivative_coefficient_nonpositive","statement":"V_n(x) <= 0 for every x < 0 and every n >= 2","status":{"kind":"verified"}},{"evidence":"W_n(x) = gamma(n) w(x) / f(n) with w(x) = 2 x, which is negative on (-inf, 0) (no root there, exact): gamma(n)/f(n) = 1 >= 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of gamma(n)/f(n) = 1 at n = 2 + u have one sign)","name":"lag_coefficient_nonpositive","sign_decision":{"certificate":{"condition":"nonnegative","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["1"]},"numerator":["1"],"range":{"first":"2","last":null}},"decision":"holds"},"statement":"W_n(x) <= 0 for every x < 0 and every n >= 2","status":{"kind":"verified"}},{"evidence":"W_n(x) = gamma(n) w(x) / f(n) with w(x) = 2 x, which is negative on (-inf, 0) (no root there, exact): gamma(n)/f(n) = 1 > 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of gamma(n)/f(n) = 1 at n = 2 + u have one sign)","name":"derivative_or_lag_coefficient_negative","sign_decision":{"certificate":{"condition":"positive","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["1"]},"numerator":["1"],"range":{"first":"2","last":null}},"decision":"holds"},"statement":"for every n >= 2 and x < 0, V_n(x) < 0 or W_n(x) < 0 (V_n < 0 on (-inf, 0) for every n, or W_n < 0 there for every n)","status":{"kind":"verified"}}],"lean_declarations":["RealRooted.threeTerm_interlaces_of_nonnegCoeffs","RealRooted.LiuWang.strictInterl_nonpos_lag_sequence"],"lean_replay":"not_attempted","lean_route":"sign","normal_form":"P_n = A_n(x) P_(n-1) + V_n(x) P'_(n-1) + W_n(x) P_(n-2) for n >= 2, with A_n(x) = (1) + (1) x, V_n(x) = 0, W_n(x) = (2) x","recurrence":{"first_index":0,"initial_polynomials":[["1"],["1","1"]],"recurrence":{"terms":[{"coeff":{"coeffs":[["1","1"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","2"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"reference":"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 the interlacers f' and the lag row (strict form, as in the derivative-lag theorems of the RealRooted library, https://github.com/PerAlexandersson/RealRooted), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","schema":"polytool.recurrence-real-rootedness-theorem.v1","status":"proved","theorem":"liu_wang_derivative_lag"},"parent_proof":{"attempts":[{"detail":"the rule is not P_(n+k) = c(x) P_n with c free of n","route":"periodic_product","success":false,"variant":"P_(n+k) = c(x) P_n"},{"detail":"no theorem matched (weighted_renewal_window: support must satisfy offset = 1 + ell * t_degree; fixed_delay_predecessor_window: more than one weighted lag)","route":"paper_theorem","success":false,"variant":"match_recurrence_theorems"},{"detail":"not applicable: c_2(n, x) = gamma(n) w(x) with w neither constant nor a constant times a square (x + v_0)^2","route":"three_term_recurrence","success":false,"variant":"three_term_recurrence"},{"detail":"not applicable: the rule is not f(n) P_n = c_0(n, x) P_(n-1) + c_1(n, x) P'_(n-1)","route":"liu_wang","success":false,"variant":"liu_wang"},{"detail":"P_n = A_n(x) P_(n-1) + V_n(x) P'_(n-1) + W_n(x) P_(n-2) for n >= 2, with A_n(x) = (1) + (1) x, V_n(x) = 0, W_n(x) = (2) x: every P_n, n >= 0, is nonzero and real-rooted with every root in (-inf, 0) (so its coefficients have one sign); for n >= 1, P_n has simple roots and P_(n-1) strictly interlaces P_n (no common root), and deg P_n = deg P_(n-1) + 1 for n >= 2","route":"liu_wang_derivative_lag","success":true,"variant":"liu_wang_derivative_lag"}],"conditional_on":[],"interlacing":{"from_index":1,"justification":{"premises":["every hypothesis of the theorem is verified exactly for every index: P_n = A_n(x) P_(n-1) + V_n(x) P'_(n-1) + W_n(x) P_(n-2) for n >= 2, with A_n(x) = (1) + (1) x, V_n(x) = 0, W_n(x) = (2) x","every P_n, n >= 0, is nonzero and real-rooted with every root in (-inf, 0) (so its coefficients have one sign); for n >= 1, P_n has simple roots and P_(n-1) strictly interlaces P_n (no common root), and deg P_n = deg P_(n-1) + 1 for n >= 2"],"theorem":"liu_wang_derivative_lag: 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 the interlacers f' and the lag row (strict form, as in the derivative-lag theorems of the RealRooted library, https://github.com/PerAlexandersson/RealRooted), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)"},"kind":"strict","orientation":"previous_interlaces_next"},"route":"liu_wang_derivative_lag","rows_checked":10,"statement":"every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign","status":"proved"},"rows_compared":16,"schema":"polytool.recurrence-preserver-image.v1","statement":"proved: Q_n = lambda(n) T_n(P_(n+0)) with T = ((1) x + (1))^(d_n) P(((1) x + (0))/((1) x + (1))), d_n = 0 + 1 (n - 0) for every n >= 0, the side conditions hold for every n, and every parent row P_n, n >= 0, is zero or real-rooted with coefficients of one sign; so every Q_n, n >= 0, is zero or real-rooted with roots in [-1, 0]"},"kind":"preserver_image"}
