Coverage Summary for Class: IdealModule (it.unibo.tuprolog.argumentation.core.modules.labelling.argument)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| IdealModule |
100%
(1/1)
|
100%
(3/3)
|
|
100%
(3/3)
|
100%
(7/7)
|
package it.unibo.tuprolog.argumentation.core.modules.labelling.argument
import it.unibo.tuprolog.argumentation.core.modules.PrologModule
/**
* The ideal labelling (module `ideal`, an argumentLabellingMode): the maximal admissible subset of the arguments IN
* in every preferred labelling.
*/
object IdealModule : PrologModule("prolog.argumentation.graph.labelling.ideal", "ideal") {
override val prologRawTheory: String =
// language=Prolog
"""
%! locality(-Locality)
% Query mode: the label of an argument only depends on the arguments it depends on (directionality)
locality(directional).
%! argumentLabelling
% The ideal labelling has IN the maximal admissible subset of the intersection of the preferred extensions
argumentLabelling :-
context_active(Branch),
findall(In, (
preferred:::argumentLabelling,
findall(A, graphStore::argumentLabelById(in, A), In)
), Preferred),
utils::intersection(Preferred, Common),
admissible::maximalAdmissibleSubset(Common, Ideal),
conflictfree::labelSet(Branch, Ideal).
""".trimIndent()
}