adaptive reasoning