Intermediate Logic P door David Bostock