Display contradiction proofs on the search results page#170
Merged
Conversation
e712f3e to
c63c481
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On the category search results page, there was already a check to determine whether the satisfied and unsatisfied properties are consistent. However, in the case of an inconsistency, it was not explained why the requirements were contradictory. This PR now computes and displays the corresponding deduction, allowing users to understand the reason of the contradiction.
More precisely, when a contradiction occurs, a shortest deduction is generated showing that one of the specified unsatisfied properties follows from the specified satisfied properties. Internally, the deduction is computed using a breadth-first search on the implication hypergraph, ensuring that the generated contradiction has minimal length.
Examples
Thoughts
This feature does more than merely check whether a set of properties is consistent. It computes a shortest proof of$p_1 \wedge \cdots \wedge p_n \to q$ whenever such a proof exists. This may be useful in future work for extending the search functionality or improving the deduction system.