How to work out the truth of a statement, in Wikilogic 0.2

By IainJMcCallum, November 10, 2014
Code

Every time you look at a statement in Wikilogic, it’s status is re-evaluated based on the status of every supporting argument.  This is a quick description of the evaluation process used in version 0.2 (as of writing, the current one).

Each statement has a list of supporting arguments (for) on the left and opposing arguments (against) on the right.  Every argument contains 1 or more individual statements.  As a result, the evaluation happens in two stages; evaluate the groups based on their statements, then evaluate the statement based on it’s for/against groups.

Stage 1: evaluating individual groups.  

If a group has only a single statement, the group status is equal to the statement status.  If there is more than 1 statement then the group status will only be true is every statement is true.  A single false statement in a group will cause the whole group to evaluate as false.

Stage 2: evaluating the main statement based on groups.

To have the main statement evaluate to true, at least one for group must be true and every against group must be false.  If all the for groups are false then the main statement is false, even if every against group is also false.  If any single opposing group is true then the main statement is false, even if every for group is true.

This system makes the conditions for truth very difficult, please let us know if you have any disagreements.