{"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","-1"],["0","1"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"parent_name":"Triangle read by rows: T(n,k) is the number of k-matchings of the corona K'(n) of the complete graph K(n) and the complete graph K(1); in other words, K'(n) is the graph constructed from K(n) by adding for each vertex v a new vertex v' and the edge vv'."},"identifying_rows":1,"identity":{"certificate":{"certificate":{"dividend_relation":{"terms":[{"coeff":{"coeffs":[["-2","8","-10","0","10","-8","2"],["-1","7","-20","30","-25","11","-2"],["-1","5","-10","10","-5","1","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["2","-16","48","-70","50","-12","-4","2"],["0","4","-20","40","-40","20","-4","0"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","0","-4","20","-40","40","-20","4"]]},"deriv_order":2,"shift":0},{"coeff":{"coeffs":[["2","-10","20","-20","10","-2"]]},"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":[["2","4","2"]]},"terms":[{"coeff":{"coeffs":[["0","12","42","56","34","8"],["1","-11","-51","-77","-50","-12"],["1","7","19","25","16","4"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["-2","0","38","110","132","74","16"],["0","-4","-24","-56","-64","-36","-8"]]},"deriv_order":1,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","0","4","20","40","40","20","4"]]},"deriv_order":2,"offset":1,"sign":"none"}]},"schema":"polytool.recurrence.v1"},"input_valid_from_base":0,"multiplier":["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","-1"],["0","1"]]},"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":[["-2","-2"],["-1","2"],["-1","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["2","-6","-2"],["0","4","0"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","0","-4"]]},"deriv_order":2,"shift":0},{"coeff":{"coeffs":[["2"]]},"deriv_order":0,"shift":1}]},"quotient":[{"coeff":{"coeffs":[["2","-10","20","-20","10","-2"]]},"deriv_order":0}],"step_multiplier":{"coeffs":[["0","0","0","0","0","0","-512","1536","-1536","512"]]},"step_quotients":[[{"coeff":{"coeffs":[["0","0","0","0","0","0","512","-2048","3072","-2048","512"],["0","0","0","0","0","0","768","-2816","3840","-2304","512"],["0","0","0","0","0","0","256","-768","768","-256","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","0","0","0","-512","2048","-2560","512","1024","-512"],["0","0","0","0","0","0","0","-1024","3072","-3072","1024","0"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","0","0","0","0","1024","-3072","3072","-1024"]]},"deriv_order":2}],[{"coeff":{"coeffs":[["0","0","0","0","0","0","-512","2048","-2048","512"],["0","0","0","0","0","0","-768","2560","-2304","512"],["0","0","0","0","0","0","-256","512","-256","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","0","0","0","512","-1536","0","1536","-512"],["0","0","0","0","0","0","0","1024","-2048","1024","0"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","0","0","0","0","-1024","2048","-1024"]]},"deriv_order":2}]]},{"annihilator":{"terms":[{"coeff":{"coeffs":[["0","0","0"],["-1","5","-2"],["-1","1","0"]]},"deriv_order":0,"shift":0},{"coeff":{"coeffs":[["2","-8","0","2"],["0","4","-4","0"]]},"deriv_order":1,"shift":0},{"coeff":{"coeffs":[["0","0","-4","4"]]},"deriv_order":2,"shift":0}]},"quotient":[],"step_multiplier":{"coeffs":[["0","0","0","0","0","0","-512","1536","-1536","512"]]},"step_quotients":[[{"coeff":{"coeffs":[["0","0","0","0","0","0","512","-3072","6656","-6656","3072","-512"],["0","0","0","0","0","0","768","-4096","8192","-7680","3328","-512"],["0","0","0","0","0","0","256","-1024","1536","-1024","256","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","0","0","0","-512","2560","-3584","0","3584","-2560","512"],["0","0","0","0","0","0","0","-1024","4096","-6144","4096","-1024","0"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","0","0","0","0","1024","-4096","6144","-4096","1024"]]},"deriv_order":2}],[{"coeff":{"coeffs":[["0","0","0","0","0","0","-512","3072","-5120","3072","-512"],["0","0","0","0","0","0","-768","3840","-5888","3328","-512"],["0","0","0","0","0","0","-256","768","-768","256","0"]]},"deriv_order":0},{"coeff":{"coeffs":[["0","0","0","0","0","0","512","-2048","512","3584","-3072","512"],["0","0","0","0","0","0","0","1024","-3072","3072","-1024","0"]]},"deriv_order":1},{"coeff":{"coeffs":[["0","0","0","0","0","0","0","0","-1024","3072","-3072","1024"]]},"deriv_order":2}]]}],"restart_bases":[],"row_multiplier":{"coeffs":[["2"]]},"start_base":0}},"shifted_parent_relation":{"terms":[{"coeff":{"coeffs":[["0","-1"],["0","-1"]]},"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","-1"],["0","1"]]},"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) = -x, which is positive on (-inf, 0) (no root there, exact): gamma(n)/f(n) = -n + 1 <= 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of gamma(n)/f(n) = -n + 1 at n = 2 + u have one sign)","name":"lag_coefficient_nonpositive","sign_decision":{"certificate":{"condition":"nonpositive","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["-1","-1"]},"numerator":["1","-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) = -x, which is positive on (-inf, 0) (no root there, exact): gamma(n)/f(n) = -n + 1 < 0 for every integer n in [2, +inf) (exact; Taylor shift: the coefficients of gamma(n)/f(n) = -n + 1 at n = 2 + u have one sign)","name":"derivative_or_lag_coefficient_negative","sign_decision":{"certificate":{"condition":"negative","denominator":["1"],"method":{"kind":"taylor_shift","shifted_denominator":["1"],"shifted_numerator":["-1","-1"]},"numerator":["1","-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) = (n - 1) 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","-1"],["0","1"]]},"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: coefficients must be index-independent; 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) = (n - 1) 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) = (n - 1) 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"}
