logical complete