add functional/equiv

fix is_bind_expression
add polymorphic version not1, not2