Coverage Summary for Class: EagerModule (it.unibo.tuprolog.argumentation.core.modules.labelling.argument)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| EagerModule |
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 eager labelling (module `eager`, an argumentLabellingMode): the maximal admissible subset of the arguments IN
* in every semi-stable labelling.
*/
object EagerModule : PrologModule("prolog.argumentation.graph.labelling.eager", "eager") {
override val prologRawTheory: String =
// language=Prolog
"""
%! locality(-Locality)
% Query mode: not directional, but the labellings of unconnected parts of the graph are independent: the label
% of an argument depends on the arguments connected to it, in either direction
locality(connected).
%! argumentLabelling
% The eager labelling has IN the maximal admissible subset of the intersection of the semi-stable extensions
argumentLabelling :-
context_active(Branch),
findall(In, (
semistable:::argumentLabelling,
findall(A, graphStore::argumentLabelById(in, A), In)
), Semistable),
utils::intersection(Semistable, Common),
admissible::maximalAdmissibleSubset(Common, Eager),
conflictfree::labelSet(Branch, Eager).
""".trimIndent()
}