BasicRule_Generic
Circular Reasoning
#421
Merged
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.
Description
Unlike most puzzles' basic/direct rules, the rules for short truth tables are either direct or indirect subclasses of an abstract class called
BasicRule_Generic
. This rule happened to have a self-justification bug, which happened to affect every single basic rule in STT.Prof. Bram noticed the one that affected
BasicRuleAtomic
(#417), but that was one of many.For example, using biconditional elimination:
...and a less obvious example using or elimination:
Although this transition is invalid, this bug is the reason that one of those cells is validated even though they're both equally part of the problem.
TLDR: Many STT basic rules have been bugged, possibly since its creation. I tried it on my build of Legup from LMS back from last year's intro to logic course, and I was able to reproduce the same behavior
Closes #417
Type of change
How Has This Been Tested?
Checklist: