kdrag.utils.curry_arrays

kdrag.utils.curry_arrays(e: ExprRef) ExprRef

Curry all selects and lambdas into single argument versions. >>> f = smt.Array(“f”, smt.IntSort(), smt.RealSort(), smt.BoolSort()) >>> curry_arrays(smt.Select(f, smt.IntVal(3), smt.RealVal(2.0))) f[3][2] >>> x,y,z = smt.Ints(“x y z”) >>> curry_arrays(smt.Lambda([x,y], x + y)[2,3]) Lambda(x, Lambda(y, x + y))[2][3]

Parameters:

e (ExprRef)

Return type:

ExprRef