defeasiblePref

Graph extensions · Kotlin object DefeasiblePrefModule · library prolog.argumentation.graph.preferences.defeasible

The preferences between rules as conclusions of the theory (module defeasiblePref, a graphExtension): an argument for sup(Rule, Other) makes the attacks that preference invalidates fail, as long as it stands.

Each attack it may invalidate becomes an argument for attack(Type, Attacker, Attacked, On) (top rule attack), supported by the attacker and attacking in its place; the arguments for the preferences invalidating it attack it (attacks of type pref).

PredicateDescription
modifyArgumentationGraph/0The attacks the preferences may invalidate, as arguments, attacked by the arguments for the preferences
assertAllSup/0The preferences concluded by the arguments, as sup/2 facts of the context (see the module superiority): the superiorities computed with the previous ones are forgotten
filterSupRelatedAttacks/2Invalid are the attacks among Attacks that the preferences invalidate
invalid/5The attack of A on B (on C) is invalidated by the preferences Preferences, C being superior to A: each justification of the superiority in turn (see superiority::superiorArgument/3)
convertAttacks/1Each attack becomes an argument for it: an attack of A on B becomes the argument X for attack(T, A, B, B), supported by A and attacking B
attackArgument/5AttackArgument is the saved argument for the attack attack(Type, A, B, C)
buildPrefAttacks/0The arguments for the preferences invalidating an attack, by any of its justifications, attack its argument (and so what it supports)
queryDependencies/2The preferences between the rules of Argument are themselves conclusions (sup/2)
queryDependants/2An argument for a preference relates the arguments built on its rules

modifyArgumentationGraph/0

modifyArgumentationGraph

The attacks the preferences may invalidate, as arguments, attacked by the arguments for the preferences.

assertAllSup/0

assertAllSup

The preferences concluded by the arguments, as sup/2 facts of the context (see the module superiority): the superiorities computed with the previous ones are forgotten.

filterSupRelatedAttacks/2

filterSupRelatedAttacks(+Attacks, -Invalid)

Invalid are the attacks among Attacks that the preferences invalidate. Those invalid whatever the preferences (C superior to A with none) are removed, as standardPref does: no argument could save them.

invalid/5

invalid(+Type, +A, +B, +C, -Preferences)

The attack of A on B (on C) is invalidated by the preferences Preferences, C being superior to A: each justification of the superiority in turn (see superiority::superiorArgument/3).

convertAttacks/1

convertAttacks(+Attacks)

Each attack becomes an argument for it: an attack of A on B becomes the argument X for attack(T, A, B, B), supported by A and attacking B. If A attacks B through C, a sub-argument of B, the argument for the attack on C attacks B, as the attacks on C extend to the arguments built on it (see the module graphStore).

attackArgument/5

attackArgument(?AttackArgument, ?Type, ?A, ?B, ?C)

AttackArgument is the saved argument for the attack attack(Type, A, B, C).

buildPrefAttacks/0

buildPrefAttacks

The arguments for the preferences invalidating an attack, by any of its justifications, attack its argument (and so what it supports).

queryDependencies/2

queryDependencies(+Argument, -Statement)

The preferences between the rules of Argument are themselves conclusions (sup/2).

queryDependants/2

queryDependants(+Argument, -Statement)

An argument for a preference relates the arguments built on its rules.