Evaluating a `BooleanPolynomial`
When we cannot determine which variable will be determined by a constant,
I use a list to store variables, but the BooleanPolynomialRing
does not
support change the BooleanPolynomial
by variables in list.
It seems that it can only be changed by using the variable name; but when we encounter this situation, is there another way to solve this problem?
sage: from sage.crypto.boolean_function import BooleanFunction
sage: R = BooleanPolynomialRing(4, "a, b, c, d")
sage: R.inject_variables()
Defining a, b, c, d
sage: S = R.gens()
sage: print(S)
(a, b, c, d)
sage: f = a*b + b*c
sage: print(f(a=1))
b*c + b
sage: print(f(S[0]=1))
File "<ipython-input-9-504c2572fec0>", line 1
print(f(S[Integer(0)]=Integer(1)))
^
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?