higher-order logic