Cooperative problem-solving using assumption-based truth maintenance