def apply(n, k, A=None): j = Symbol.j(domain=Interval(0, k, integer=True)) if A is None: x = Symbol.x(shape=(oo, ), dtype=dtype.integer, finite=True) i = Symbol.i(integer=True) s1_quote = Symbol("s'_1", definition=Stirling.conditionset(n, k + 1, x)) x_quote = Symbol("x'", definition=LAMBDA[i:k + 1](Piecewise( ({n} | x[i], Equality(i, j)), (x[i], True)))) A = Symbol.A(definition=LAMBDA[j](UNION[x[:k + 1]:s1_quote] ({x_quote.set_comprehension()}))) return Equality(abs(UNION[j](A[j])), Sum[j](abs(A[j])))
def apply(n, k, s2=None, A=None): j = Symbol.j(domain=Interval(0, k, integer=True)) if s2 is None: x = Symbol.x(shape=(oo, ), dtype=dtype.integer, finite=True) s2 = Symbol.s2( definition=UNION[x[:k + 1]:Stirling.conditionset(n + 1, k + 1, x)]( x[:k + 1].set_comprehension().set)) e = Symbol.e(**s2.element_type.dict) if A is None: x = s2.definition.variable.base i = Symbol.i(integer=True) s1_quote = Symbol("s'_1", definition=Stirling.conditionset(n, k + 1, x)) x_quote = Symbol("x'", definition=LAMBDA[i:k + 1](Piecewise( ({n} | x[i], Equality(i, j)), (x[i], True)))) A = Symbol.A(definition=LAMBDA[j](UNION[x[:k + 1]:s1_quote] ({x_quote.set_comprehension()}))) return Equality(conditionset(e, NotContains({n}, e), s2), UNION[j](A[j]))