Coverage Summary for Class: DefeasibleLanguageModule (it.unibo.tuprolog.argumentation.core.modules.graph.language)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| DefeasibleLanguageModule |
100%
(1/1)
|
100%
(3/3)
|
|
100%
(3/3)
|
100%
(7/7)
|
package it.unibo.tuprolog.argumentation.core.modules.graph.language
import it.unibo.tuprolog.argumentation.core.modules.PrologModule
/**
* The defeasible part of the language of ASPIC+ (module `defeasibleLanguage`, a graphLanguage of the profile
* aspic_defeasible): defeasible rules alone, facts as rules with no premise (`r : [] => a.`). It adds no premise nor
* conflict; it checks the theory has no strict rule, axiom nor premise.
*/
object DefeasibleLanguageModule : PrologModule("prolog.argumentation.language.defeasible", "defeasibleLanguage") {
override val prologRawTheory: String =
// language=Prolog
"""
%! premises(-Premises)
% None.
premises([]).
%! conflicts(-Conflicts)
% None.
conflicts([]).
%! check
% The theory has defeasible rules alone.
check :-
(parser::checkStrict(_) ; parser::premise(_, _)), !,
throw(error(domain_error(defeasible_theory, strict), 'aspic_defeasible: the theory has strict rules, axioms or premises')).
check.
""".trimIndent()
}