Coverage Summary for Class: NessOriginalIntervention (it.unibo.tuprolog.argumentation.causality.primitives)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| NessOriginalIntervention |
100%
(1/1)
|
100%
(2/2)
|
|
100%
(5/5)
|
100%
(45/45)
|
package it.unibo.tuprolog.argumentation.causality.primitives
import it.unibo.tuprolog.argumentation.causality.runtime.CausalityAnalysis
import it.unibo.tuprolog.argumentation.core.primitives.PrimitiveWithSignature
import it.unibo.tuprolog.solve.ExecutionContext
import it.unibo.tuprolog.solve.Signature
import it.unibo.tuprolog.solve.primitive.Solve
/**
* ness_original_intervention(+Intervention, +Effect): Intervention, a list of statements, meets the NESS condition for
* Effect as published (ICAIL 2025): it refutes an explanation of Effect, and no part of it does.
*/
internal class NessOriginalIntervention(
private val analysis: CausalityAnalysis,
) : PrimitiveWithSignature {
override val signature = Signature("ness_original_intervention", 2)
override fun solve(request: Solve.Request<ExecutionContext>): Sequence<Solve.Response> {
val (intervention, effect) = request.arguments
return sequenceOf(request.replyWith(analysis.nessOriginal(request, intervention.castToList(), effect)))
}
}