Closed fiveham closed 8 years ago
Also, if any Fact is affected under a WhatIf such that that Fact has only false Claims, an exception should be thrown.
Intersections between the assumed-true and concluded-false sets now throw an exception. Illegal empty facts now throw an exception.
An exception should be thrown in assumeTrue() if a Claim to be assumed true is already known to be false as a consequence of an (or some) other Claim(s) assumed to be true.
To expedite such a check, Claims should be partitioned, for example in a Map<Boolean,Set> paired with a reverse Map<Claim,Boolean> to quickly check for the Claim's status.