logical refinements