higher order logic