Constructivist logic