def f(index, key): return XP.XBuffer(self, index, tags, args)
'ic': lambda x: ST.STNumConstant(*x), 'is': lambda x: ST.STIndexSize(*x), 'bs': lambda x: ST.STByteSize(*x), 'fo': lambda x: ST.STFieldOffset(*x), 'aa': lambda x: ST.STArgAddressedValue(*x), 'at': lambda x: ST.STArgNullTerminatorPos(*x), 'st': lambda x: ST.STArgSizeOfType(*x), 'ax': lambda x: ST.STArithmeticExpr(*x), 'fs': lambda x: ST.STFormattedOutputSize(*x), 'rt': lambda x: ST.STRuntimeValue(*x) } xpredicate_constructors = { 'ab': lambda x: XP.XAllocationBase(*x), 'bw': lambda x: XP.XBlockWrite(*x), 'b': lambda x: XP.XBuffer(*x), 'c': lambda x: XP.XConstTerm(*x), 'cr': lambda x: XP.XControlledResource(*x), 'f': lambda x: XP.XFalse(*x), 'fi': lambda x: XP.XFormattedInput(*x), 'fr': lambda x: XP.XFreed(*x), 'fn': lambda x: XP.XFunctional(*x), 'ga': lambda x: XP.XGlobalAddress(*x), 'ha': lambda x: XP.XHeapAddress(*x), 'i': lambda x: XP.XInitialized(*x), 'ir': lambda x: XP.XInitializedRange(*x), 'iv': lambda x: XP.XInvalidated(*x), 'ifs': lambda x: XP.XInputFormatString(*x), 'nm': lambda x: XP.XNewMemory(*x), 'no': lambda x: XP.XNoOverlap(*x), 'nn': lambda x: XP.XNotNull(*x),