@tuprolog/arg2p 0.11.4 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/arg2p-core.js CHANGED
@@ -80,15 +80,15 @@
80
80
  var matchAny = kotlin_it_unibo_tuprolog_dsl_unify.$_$.a;
81
81
  var unifyAny = kotlin_it_unibo_tuprolog_dsl_unify.$_$.c;
82
82
  var solverOf = kotlin_it_unibo_tuprolog_dsl_solve.$_$.a;
83
- var LogicProgrammingScopeWithOperators = kotlin_it_unibo_tuprolog_dsl_core.$_$.w1;
84
- var LogicProgrammingScopeWithPrologStandardLibrary = kotlin_it_unibo_tuprolog_dsl_core.$_$.h4;
85
83
  var Scope = kotlin_it_unibo_tuprolog_core.$_$.r1;
84
+ var LogicProgrammingScopeWithPrologStandardLibrary = kotlin_it_unibo_tuprolog_dsl_core.$_$.h4;
86
85
  var MinimalLogicProgrammingScope = kotlin_it_unibo_tuprolog_dsl_core.$_$.c5;
87
- var LogicProgrammingScopeWithSubstitutions = kotlin_it_unibo_tuprolog_dsl_core.$_$.o4;
86
+ var LogicProgrammingScopeWithUnification = kotlin_it_unibo_tuprolog_dsl_unify.$_$.j;
87
+ var LogicProgrammingScopeWithTheories = kotlin_it_unibo_tuprolog_dsl_theory.$_$.h;
88
88
  var BaseLogicProgrammingScope = kotlin_it_unibo_tuprolog_dsl_core.$_$.e;
89
+ var LogicProgrammingScopeWithOperators = kotlin_it_unibo_tuprolog_dsl_core.$_$.w1;
89
90
  var LogicProgrammingScopeWithResolution = kotlin_it_unibo_tuprolog_dsl_solve.$_$.c;
90
- var LogicProgrammingScopeWithTheories = kotlin_it_unibo_tuprolog_dsl_theory.$_$.h;
91
- var LogicProgrammingScopeWithUnification = kotlin_it_unibo_tuprolog_dsl_unify.$_$.j;
91
+ var LogicProgrammingScopeWithSubstitutions = kotlin_it_unibo_tuprolog_dsl_core.$_$.o4;
92
92
  var Companion_getInstance_0 = kotlin_it_unibo_tuprolog_core.$_$.i;
93
93
  var lazy = kotlin_kotlin.$_$.ra;
94
94
  var KProperty1 = kotlin_kotlin.$_$.g7;
@@ -122,13 +122,14 @@
122
122
  var isInterface = kotlin_kotlin.$_$.e6;
123
123
  var Expected_CALLABLE_getInstance = kotlin_it_unibo_tuprolog_solve.$_$.a;
124
124
  var Struct = kotlin_it_unibo_tuprolog_core.$_$.s1;
125
- var Companion_instance_4 = kotlin_it_unibo_tuprolog_solve.$_$.v;
126
- var Companion_instance_5 = kotlin_it_unibo_tuprolog_solve.$_$.w;
127
- var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.d;
128
125
  var logicProgramming = kotlin_it_unibo_tuprolog_dsl_core.$_$.d5;
129
126
  var Specifier_XFX_getInstance = kotlin_it_unibo_tuprolog_core.$_$.a;
130
127
  var Operator = kotlin_it_unibo_tuprolog_core.$_$.e1;
131
128
  var OperatorSet_init_$Create$ = kotlin_it_unibo_tuprolog_core.$_$.f;
129
+ var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.f;
130
+ var Companion_instance_4 = kotlin_it_unibo_tuprolog_solve.$_$.v;
131
+ var Companion_instance_5 = kotlin_it_unibo_tuprolog_solve.$_$.w;
132
+ var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.d;
132
133
  var Companion_getInstance_6 = kotlin_it_unibo_tuprolog_core.$_$.l;
133
134
  var parseClause = kotlin_it_unibo_tuprolog_parser_core.$_$.c;
134
135
  var Companion_getInstance_7 = kotlin_it_unibo_tuprolog_core.$_$.u;
@@ -219,7 +220,7 @@
219
220
  initMetadataForClass(Arg2pSolver$Companion$of$1, VOID, VOID, VOID, [Arg2pSolver]);
220
221
  initMetadataForCompanion(Companion);
221
222
  initMetadataForObject(Arg2pSolverFactory, 'Arg2pSolverFactory');
222
- initMetadataForClass(PrologWithArgumentationImpl, 'PrologWithArgumentationImpl', PrologWithArgumentationImpl, VOID, [LogicProgrammingScopeWithOperators, LogicProgrammingScopeWithPrologStandardLibrary, Scope, MinimalLogicProgrammingScope, LogicProgrammingScopeWithSubstitutions, BaseLogicProgrammingScope, LogicProgrammingScopeWithResolution, LogicProgrammingScopeWithTheories, LogicProgrammingScopeWithUnification]);
223
+ initMetadataForClass(PrologWithArgumentationImpl, 'PrologWithArgumentationImpl', PrologWithArgumentationImpl, VOID, [Scope, LogicProgrammingScopeWithPrologStandardLibrary, MinimalLogicProgrammingScope, LogicProgrammingScopeWithUnification, LogicProgrammingScopeWithTheories, BaseLogicProgrammingScope, LogicProgrammingScopeWithOperators, LogicProgrammingScopeWithResolution, LogicProgrammingScopeWithSubstitutions]);
223
224
  function get_theoryOperators() {
224
225
  return Companion_getInstance_0().DEFAULT;
225
226
  }
@@ -251,7 +252,7 @@
251
252
  initMetadataForClass(WithLibInNewContext, 'WithLibInNewContext', VOID, AbstractWithLib);
252
253
  initMetadataForCompanion(Companion_0);
253
254
  initMetadataForClass(DynamicLoader, 'DynamicLoader', VOID, VOID, [ArgLibrary]);
254
- initMetadataForClass(EngineInterfaceBase, 'EngineInterfaceBase', VOID, LazyRawPrologContent, [LazyRawPrologContent, ArgLibrary]);
255
+ initMetadataForClass(EngineInterfaceBase, 'EngineInterfaceBase', VOID, LazyRawPrologContent, [LazyRawPrologContent, ArgLibrary, Loadable]);
255
256
  initMetadataForCompanion(Companion_1);
256
257
  initMetadataForClass(FlagsBuilder$create$1, VOID, VOID, VOID, [ArgLibrary]);
257
258
  initMetadataForClass(FlagsBuilder, 'FlagsBuilder', FlagsBuilder);
@@ -385,7 +386,7 @@
385
386
  return new Arg2pSolver$Companion$of$1(staticLibs, dynamicLibs);
386
387
  };
387
388
  protoOf(Companion).f39 = function (staticLibs, dynamicLibs) {
388
- return this.e39(plus(listOf([EngineInterface_getInstance(), new Cache()]), staticLibs), plus(listOf([Utils_getInstance_0(), Debug_getInstance_0(), RuleParser_getInstance(), MetaInterpreter_instance, ModuleCalls_instance, ArgumentationGraphBuilder_getInstance(), AttackRestrictionHandler_getInstance(), BpMetaGraphHandler_getInstance(), DefeasiblePreferencesHandler_getInstance(), GenericDefeasiblePreferencesHandler_getInstance(), StrictPreferencesHandler_getInstance(), BpLabeller_getInstance(), CompleteLabeller_getInstance(), GroundedLabeller_getInstance(), StatementLabeller_getInstance(), AbstractMode_getInstance(), StructuredMode_getInstance(), AttackRelation_getInstance_0(), SuperiorityRelation_getInstance_0(), BpPartialLabeller_getInstance(), BpCompleteLabeller_getInstance(), PassThroughStatementLabeller_getInstance(), BinaryStatementLabeller_getInstance(), GroundedLabellerOptimized_getInstance()]), dynamicLibs));
389
+ return this.e39(plus(listOf([EngineInterface_getInstance(), new Cache()]), staticLibs), plus(listOf([EngineInterface_getInstance(), Utils_getInstance_0(), Debug_getInstance_0(), RuleParser_getInstance(), MetaInterpreter_instance, ModuleCalls_instance, ArgumentationGraphBuilder_getInstance(), AttackRestrictionHandler_getInstance(), BpMetaGraphHandler_getInstance(), DefeasiblePreferencesHandler_getInstance(), GenericDefeasiblePreferencesHandler_getInstance(), StrictPreferencesHandler_getInstance(), BpLabeller_getInstance(), CompleteLabeller_getInstance(), GroundedLabeller_getInstance(), StatementLabeller_getInstance(), AbstractMode_getInstance(), StructuredMode_getInstance(), AttackRelation_getInstance_0(), SuperiorityRelation_getInstance_0(), BpPartialLabeller_getInstance(), BpCompleteLabeller_getInstance(), PassThroughStatementLabeller_getInstance(), BinaryStatementLabeller_getInstance(), GroundedLabellerOptimized_getInstance()]), dynamicLibs));
389
390
  };
390
391
  protoOf(Companion).g39 = function (staticLibs, dynamicLibs, $super) {
391
392
  staticLibs = staticLibs === VOID ? emptyList() : staticLibs;
@@ -1885,52 +1886,7 @@
1885
1886
  if (!isInterface(goal, Struct)) {
1886
1887
  throw Companion_instance_3.forGoal(request.context, request.signature, Expected_CALLABLE_getInstance(), goal);
1887
1888
  }
1888
- var tmp0 = this.c3d_1.e3d_1.b39();
1889
- var tmp$ret$1;
1890
- $l$block: {
1891
- // Inline function 'kotlin.collections.firstOrNull' call
1892
- var _iterator__ex2g4s = tmp0.p();
1893
- while (_iterator__ex2g4s.s()) {
1894
- var element = _iterator__ex2g4s.t();
1895
- if ((isInterface(element, Loadable) ? element : THROW_CCE()).z39() === lib.toString()) {
1896
- tmp$ret$1 = element;
1897
- break $l$block;
1898
- }
1899
- }
1900
- tmp$ret$1 = null;
1901
- }
1902
- var tmp0_elvis_lhs = tmp$ret$1;
1903
- var tmp;
1904
- if (tmp0_elvis_lhs == null) {
1905
- throw Companion_instance_4.forGoal(request.context, request.signature, Companion_instance_5.of('Loadable Lib'), lib);
1906
- } else {
1907
- tmp = tmp0_elvis_lhs;
1908
- }
1909
- // Inline function 'kotlin.let' call
1910
- var library = tmp;
1911
- var tmp_0 = Companion_instance;
1912
- // Inline function 'kotlin.collections.filterNot' call
1913
- var tmp0_0 = request.context.z1s().z1s();
1914
- // Inline function 'kotlin.collections.filterNotTo' call
1915
- var destination = ArrayList_init_$Create$_0();
1916
- var _iterator__ex2g4s_0 = tmp0_0.p();
1917
- while (_iterator__ex2g4s_0.s()) {
1918
- var element_0 = _iterator__ex2g4s_0.t();
1919
- // Inline function 'kotlin.collections.map' call
1920
- var this_0 = this.c3d_1.e3d_1.b39();
1921
- // Inline function 'kotlin.collections.mapTo' call
1922
- var destination_0 = ArrayList_init_$Create$(collectionSizeOrDefault(this_0, 10));
1923
- var _iterator__ex2g4s_1 = this_0.p();
1924
- while (_iterator__ex2g4s_1.s()) {
1925
- var item = _iterator__ex2g4s_1.t();
1926
- var tmp$ret$2 = item.y2b();
1927
- destination_0.m(tmp$ret$2);
1928
- }
1929
- if (!destination_0.u(element_0.y2b())) {
1930
- destination.m(element_0);
1931
- }
1932
- }
1933
- var solver = request.context.createMutableSolver(VOID, tmp_0.ofIterable(destination).plusLibrary(library.h39()), VOID, request.context.b1t());
1889
+ var solver = this.c3d_1.i3d(request, lib);
1934
1890
  this.d3d(lib.toString(), solver);
1935
1891
  return sequence(DynamicLoader$AbstractWithLib$solve$slambda_0(solver, goal, request, null));
1936
1892
  };
@@ -1938,23 +1894,23 @@
1938
1894
  return this.g2e(request);
1939
1895
  };
1940
1896
  function WithLib($outer) {
1941
- this.j3d_1 = $outer;
1897
+ this.l3d_1 = $outer;
1942
1898
  AbstractWithLib.call(this, $outer);
1943
- this.i3d_1 = new Signature('::', 2);
1899
+ this.k3d_1 = new Signature('::', 2);
1944
1900
  }
1945
1901
  protoOf(WithLib).m1s = function () {
1946
- return this.i3d_1;
1902
+ return this.k3d_1;
1947
1903
  };
1948
1904
  protoOf(WithLib).d3d = function (module_0, solver) {
1949
1905
  return Unit_instance;
1950
1906
  };
1951
1907
  function WithLibInNewContext($outer) {
1952
- this.m3d_1 = $outer;
1908
+ this.o3d_1 = $outer;
1953
1909
  AbstractWithLib.call(this, $outer);
1954
- this.l3d_1 = new Signature(':::', 2);
1910
+ this.n3d_1 = new Signature(':::', 2);
1955
1911
  }
1956
1912
  protoOf(WithLibInNewContext).m1s = function () {
1957
- return this.l3d_1;
1913
+ return this.n3d_1;
1958
1914
  };
1959
1915
  protoOf(WithLibInNewContext).d3d = function (module_0, solver) {
1960
1916
  return logicProgramming(DynamicLoader$WithLibInNewContext$execute$lambda(solver));
@@ -1970,11 +1926,77 @@
1970
1926
  }
1971
1927
  function DynamicLoader(solver) {
1972
1928
  this.e3d_1 = solver;
1973
- this.f3d_1 = 'prolog.argumentation.loader';
1974
- this.g3d_1 = Companion_instance_8.d39();
1975
- }
1929
+ var tmp = this;
1930
+ // Inline function 'kotlin.collections.mutableMapOf' call
1931
+ tmp.f3d_1 = LinkedHashMap_init_$Create$_0();
1932
+ this.g3d_1 = 'prolog.argumentation.loader';
1933
+ this.h3d_1 = Companion_instance_8.d39();
1934
+ }
1935
+ protoOf(DynamicLoader).i3d = function (request, library) {
1936
+ var tmp0 = this.f3d_1;
1937
+ // Inline function 'kotlin.collections.getOrPut' call
1938
+ var key = library.toString();
1939
+ var value = tmp0.h2(key);
1940
+ var tmp;
1941
+ if (value == null) {
1942
+ var tmp0_0 = this.e3d_1.b39();
1943
+ var tmp$ret$1;
1944
+ $l$block: {
1945
+ // Inline function 'kotlin.collections.firstOrNull' call
1946
+ var _iterator__ex2g4s = tmp0_0.p();
1947
+ while (_iterator__ex2g4s.s()) {
1948
+ var element = _iterator__ex2g4s.t();
1949
+ if ((isInterface(element, Loadable) ? element : THROW_CCE()).z39() === library.toString()) {
1950
+ tmp$ret$1 = element;
1951
+ break $l$block;
1952
+ }
1953
+ }
1954
+ tmp$ret$1 = null;
1955
+ }
1956
+ var tmp0_elvis_lhs = tmp$ret$1;
1957
+ var tmp_0;
1958
+ if (tmp0_elvis_lhs == null) {
1959
+ throw Companion_instance_4.forGoal(request.context, request.signature, Companion_instance_5.of('Loadable Lib'), library);
1960
+ } else {
1961
+ tmp_0 = tmp0_elvis_lhs;
1962
+ }
1963
+ // Inline function 'kotlin.let' call
1964
+ var x = tmp_0;
1965
+ var tmp_1 = Companion_instance;
1966
+ // Inline function 'kotlin.collections.filterNot' call
1967
+ var tmp0_1 = request.context.z1s().z1s();
1968
+ // Inline function 'kotlin.collections.filterNotTo' call
1969
+ var destination = ArrayList_init_$Create$_0();
1970
+ var _iterator__ex2g4s_0 = tmp0_1.p();
1971
+ while (_iterator__ex2g4s_0.s()) {
1972
+ var element_0 = _iterator__ex2g4s_0.t();
1973
+ // Inline function 'kotlin.collections.map' call
1974
+ var this_0 = this.e3d_1.b39();
1975
+ // Inline function 'kotlin.collections.mapTo' call
1976
+ var destination_0 = ArrayList_init_$Create$(collectionSizeOrDefault(this_0, 10));
1977
+ var _iterator__ex2g4s_1 = this_0.p();
1978
+ while (_iterator__ex2g4s_1.s()) {
1979
+ var item = _iterator__ex2g4s_1.t();
1980
+ var tmp$ret$2 = item.y2b();
1981
+ destination_0.m(tmp$ret$2);
1982
+ }
1983
+ if (!destination_0.u(element_0.y2b())) {
1984
+ destination.m(element_0);
1985
+ }
1986
+ }
1987
+ var answer = request.context.createMutableSolver(VOID, tmp_1.ofIterable(destination).plusLibrary(x.h39()));
1988
+ tmp0.k4(key, answer);
1989
+ tmp = answer;
1990
+ } else {
1991
+ tmp = value;
1992
+ }
1993
+ // Inline function 'kotlin.also' call
1994
+ var this_1 = tmp;
1995
+ this_1.loadStaticKb(request.context.b1t());
1996
+ return this_1;
1997
+ };
1976
1998
  protoOf(DynamicLoader).y2b = function () {
1977
- return this.f3d_1;
1999
+ return this.g3d_1;
1978
2000
  };
1979
2001
  protoOf(DynamicLoader).y39 = function () {
1980
2002
  // Inline function 'kotlin.let' call
@@ -1990,28 +2012,31 @@
1990
2012
  var tmp$ret$0 = element.m1s();
1991
2013
  destination.k4(tmp$ret$0, element);
1992
2014
  }
1993
- return tmp.of(this.f3d_1, destination, VOID, Companion_instance_8.d39());
2015
+ return tmp.of(this.g3d_1, destination, VOID, Companion_instance_8.d39());
1994
2016
  };
1995
2017
  protoOf(DynamicLoader).i39 = function () {
1996
- return this.g3d_1;
2018
+ return this.h3d_1;
1997
2019
  };
1998
2020
  function EngineInterfaceBase() {
1999
2021
  LazyRawPrologContent.call(this);
2000
- this.o3d_1 = 'prolog.argumentation.interface';
2001
- this.p3d_1 = Companion_instance_10.d39().plusOperatorSet(Companion_instance_8.d39()).plusOperatorSet(Companion_getInstance_0().DEFAULT);
2022
+ this.q3d_1 = 'prolog.argumentation.interface';
2023
+ this.r3d_1 = Companion_instance_10.d39().plusOperatorSet(Companion_instance_8.d39()).plusOperatorSet(Companion_getInstance_0().DEFAULT);
2002
2024
  }
2003
2025
  protoOf(EngineInterfaceBase).y2b = function () {
2004
- return this.o3d_1;
2026
+ return this.q3d_1;
2005
2027
  };
2006
2028
  protoOf(EngineInterfaceBase).y39 = function () {
2007
2029
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a(), Companion_instance_10.d39());
2008
2030
  };
2009
2031
  protoOf(EngineInterfaceBase).i39 = function () {
2010
- return this.p3d_1;
2032
+ return this.r3d_1;
2033
+ };
2034
+ protoOf(EngineInterfaceBase).z39 = function () {
2035
+ return 'arg2p';
2011
2036
  };
2012
2037
  function Companion_1() {
2013
2038
  }
2014
- protoOf(Companion_1).q3d = function (target) {
2039
+ protoOf(Companion_1).s3d = function (target) {
2015
2040
  // Inline function 'kotlin.also' call
2016
2041
  var this_0 = Companion_instance_2.empty(Companion_getInstance_1().u1i());
2017
2042
  $l$block: {
@@ -2022,23 +2047,23 @@
2022
2047
  var _iterator__ex2g4s = target.v39_1.p();
2023
2048
  while (_iterator__ex2g4s.s()) {
2024
2049
  var element = _iterator__ex2g4s.t();
2025
- this_0.g1q(parseClause(Companion_getInstance_6(), GraphExtension_instance.r3d() + '(X) :- X = ' + element));
2050
+ this_0.g1q(parseClause(Companion_getInstance_6(), GraphExtension_instance.t3d() + '(X) :- X = ' + element));
2026
2051
  }
2027
2052
  if (target.m39_1) {
2028
- this_0.g1r(parseStruct(Companion_getInstance_7(), QueryMode_instance.r3d()));
2053
+ this_0.g1r(parseStruct(Companion_getInstance_7(), QueryMode_instance.t3d()));
2029
2054
  }
2030
2055
  if (target.n39_1) {
2031
- this_0.g1r(parseStruct(Companion_getInstance_7(), AutoTransposition_instance.r3d()));
2056
+ this_0.g1r(parseStruct(Companion_getInstance_7(), AutoTransposition_instance.t3d()));
2032
2057
  }
2033
2058
  if (target.o39_1) {
2034
- this_0.g1r(parseStruct(Companion_getInstance_7(), PrologStrictCompatibility_instance.r3d()));
2059
+ this_0.g1r(parseStruct(Companion_getInstance_7(), PrologStrictCompatibility_instance.t3d()));
2035
2060
  }
2036
- this_0.g1r(parseStruct(Companion_getInstance_7(), GraphBuildMode_instance.r3d() + '(' + target.p39_1 + ')'));
2037
- this_0.g1r(parseStruct(Companion_getInstance_7(), ArgumentLabellingMode_instance.r3d() + '(' + target.q39_1 + ')'));
2038
- this_0.g1r(parseStruct(Companion_getInstance_7(), StatementLabellingMode_instance.r3d() + '(' + target.r39_1 + ')'));
2039
- this_0.g1r(parseStruct(Companion_getInstance_7(), OrderingPrinciple_instance.r3d() + '(' + target.s39_1 + ')'));
2040
- this_0.g1r(parseStruct(Companion_getInstance_7(), OrderingComparator_instance.r3d() + '(' + target.t39_1 + ')'));
2041
- this_0.g1r(parseStruct(Companion_getInstance_7(), ModulesPath_instance.r3d() + '(' + target.u39_1 + ')'));
2061
+ this_0.g1r(parseStruct(Companion_getInstance_7(), GraphBuildMode_instance.t3d() + '(' + target.p39_1 + ')'));
2062
+ this_0.g1r(parseStruct(Companion_getInstance_7(), ArgumentLabellingMode_instance.t3d() + '(' + target.q39_1 + ')'));
2063
+ this_0.g1r(parseStruct(Companion_getInstance_7(), StatementLabellingMode_instance.t3d() + '(' + target.r39_1 + ')'));
2064
+ this_0.g1r(parseStruct(Companion_getInstance_7(), OrderingPrinciple_instance.t3d() + '(' + target.s39_1 + ')'));
2065
+ this_0.g1r(parseStruct(Companion_getInstance_7(), OrderingComparator_instance.t3d() + '(' + target.t39_1 + ')'));
2066
+ this_0.g1r(parseStruct(Companion_getInstance_7(), ModulesPath_instance.t3d() + '(' + target.u39_1 + ')'));
2042
2067
  }
2043
2068
  return this_0;
2044
2069
  };
@@ -2047,27 +2072,27 @@
2047
2072
  return Companion_instance_9;
2048
2073
  }
2049
2074
  function FlagsBuilder$create$1(this$0) {
2050
- this.t3d_1 = this$0;
2051
- this.s3d_1 = 'prolog.argumentation.flags';
2075
+ this.v3d_1 = this$0;
2076
+ this.u3d_1 = 'prolog.argumentation.flags';
2052
2077
  }
2053
2078
  protoOf(FlagsBuilder$create$1).y2b = function () {
2054
- return this.s3d_1;
2079
+ return this.u3d_1;
2055
2080
  };
2056
2081
  protoOf(FlagsBuilder$create$1).y39 = function () {
2057
- return Companion_getInstance_2().of(this.s3d_1, VOID, Companion_instance_9.q3d(this.t3d_1));
2082
+ return Companion_getInstance_2().of(this.u3d_1, VOID, Companion_instance_9.s3d(this.v3d_1));
2058
2083
  };
2059
2084
  function FlagsBuilder(emptyBuilder, queryMode, autoTransposition, prologStrictCompatibility, graphBuildMode, argumentLabellingMode, statementLabellingMode, orderingPrinciple, orderingComparator, modulesPath, graphExtensions) {
2060
2085
  emptyBuilder = emptyBuilder === VOID ? false : emptyBuilder;
2061
- queryMode = queryMode === VOID ? QueryMode_instance.u3d() : queryMode;
2062
- autoTransposition = autoTransposition === VOID ? AutoTransposition_instance.u3d() : autoTransposition;
2063
- prologStrictCompatibility = prologStrictCompatibility === VOID ? PrologStrictCompatibility_instance.u3d() : prologStrictCompatibility;
2064
- graphBuildMode = graphBuildMode === VOID ? GraphBuildMode_instance.u3d() : graphBuildMode;
2065
- argumentLabellingMode = argumentLabellingMode === VOID ? ArgumentLabellingMode_instance.u3d() : argumentLabellingMode;
2066
- statementLabellingMode = statementLabellingMode === VOID ? StatementLabellingMode_instance.u3d() : statementLabellingMode;
2067
- orderingPrinciple = orderingPrinciple === VOID ? OrderingPrinciple_instance.u3d() : orderingPrinciple;
2068
- orderingComparator = orderingComparator === VOID ? OrderingComparator_instance.u3d() : orderingComparator;
2069
- modulesPath = modulesPath === VOID ? ModulesPath_instance.u3d() : modulesPath;
2070
- graphExtensions = graphExtensions === VOID ? GraphExtension_instance.u3d() : graphExtensions;
2086
+ queryMode = queryMode === VOID ? QueryMode_instance.w3d() : queryMode;
2087
+ autoTransposition = autoTransposition === VOID ? AutoTransposition_instance.w3d() : autoTransposition;
2088
+ prologStrictCompatibility = prologStrictCompatibility === VOID ? PrologStrictCompatibility_instance.w3d() : prologStrictCompatibility;
2089
+ graphBuildMode = graphBuildMode === VOID ? GraphBuildMode_instance.w3d() : graphBuildMode;
2090
+ argumentLabellingMode = argumentLabellingMode === VOID ? ArgumentLabellingMode_instance.w3d() : argumentLabellingMode;
2091
+ statementLabellingMode = statementLabellingMode === VOID ? StatementLabellingMode_instance.w3d() : statementLabellingMode;
2092
+ orderingPrinciple = orderingPrinciple === VOID ? OrderingPrinciple_instance.w3d() : orderingPrinciple;
2093
+ orderingComparator = orderingComparator === VOID ? OrderingComparator_instance.w3d() : orderingComparator;
2094
+ modulesPath = modulesPath === VOID ? ModulesPath_instance.w3d() : modulesPath;
2095
+ graphExtensions = graphExtensions === VOID ? GraphExtension_instance.w3d() : graphExtensions;
2071
2096
  this.l39_1 = emptyBuilder;
2072
2097
  this.m39_1 = queryMode;
2073
2098
  this.n39_1 = autoTransposition;
@@ -2130,13 +2155,13 @@
2130
2155
  return true;
2131
2156
  };
2132
2157
  function MetaInterpreter() {
2133
- this.v3d_1 = 'prolog.argumentation.meta.crossjustice';
2158
+ this.x3d_1 = 'prolog.argumentation.meta.crossjustice';
2134
2159
  }
2135
2160
  protoOf(MetaInterpreter).y2b = function () {
2136
- return this.v3d_1;
2161
+ return this.x3d_1;
2137
2162
  };
2138
2163
  protoOf(MetaInterpreter).y39 = function () {
2139
- return Companion_getInstance_2().of(this.v3d_1, VOID, parseTheory(Companion_instance_0, '% with_facts_and_length/3\nwith_facts_and_length(X, Y, L) :-\n solve(X, R),\n recover_facts(R, Y),\n length(Y, L).\n\n% lenght/2\n\nlength([], 0).\nlength([_|T], X) :- length(T, Y), X is Y + 1.\n\n% recover_facts/2\n\nrecover_facts([], []) :- !.\nrecover_facts([H|T], C) :-\n is_list(H), !,\n recover_facts(T, TC),\n recover_facts(H, HC),\n append(TC, HC, C).\nrecover_facts([H|T], C) :-\n \\+ is_list(H),\n recover_facts(T, TC),\n evaluate(H, HC),\n append(TC, HC, C).\n\nevaluate(user_fact(X), [X]) :- !.\nevaluate(_, []) :- !.\n\n% solve/2\n\nsolve((A,B), Result) :- !,\n solve(A, ARes),\n solve(B, BRes),\n append(ARes, BRes, Result).\n\nsolve((A;B), Result) :- !,\n solve(A, Result);\n solve(B, Result).\n\nsolve(member(A, B), [system_predicate]) :- !,\n call(member(A, B)).\n\nsolve(\\+(A), [not(A)]) :- !,\n call(\\+(A)).\n\nsolve((A)\\=(B), [doNotUnify(A, B)]) :- !,\n call((A)\\=(B)).\n\nsolve(A, [system_predicate]) :-\n catch(clause(A, _), B, true),\n \\+ var(B), !,\n call(A).\n\nsolve(A, [A]) :-\n \\+ clause(A, B), !,\n call(A).\n\nsolve(A, [A|[Res]]) :-\n clause(A, B),\n solve(B, Res).\n\n% is_list/1\n\nis_list(X) :- var(X), !, fail.\nis_list([]).\nis_list([_|T]) :- is_list(T).\n\n% fetch_argument_facts/2\n\nfetch_argument_facts(Conclusion, Facts) :-\n argument([R, TR, [Conclusion]]),\n findall(user_fact(Fact), \n support([_, _, [user_fact(Fact)]], [R, TR, [Conclusion]]),\n Facts).'));
2164
+ return Companion_getInstance_2().of(this.x3d_1, VOID, parseTheory(Companion_instance_0, '% with_facts_and_length/3\nwith_facts_and_length(X, Y, L) :-\n solve(X, R),\n recover_facts(R, Y),\n length(Y, L).\n\n% lenght/2\n\nlength([], 0).\nlength([_|T], X) :- length(T, Y), X is Y + 1.\n\n% recover_facts/2\n\nrecover_facts([], []) :- !.\nrecover_facts([H|T], C) :-\n is_list(H), !,\n recover_facts(T, TC),\n recover_facts(H, HC),\n append(TC, HC, C).\nrecover_facts([H|T], C) :-\n \\+ is_list(H),\n recover_facts(T, TC),\n evaluate(H, HC),\n append(TC, HC, C).\n\nevaluate(user_fact(X), [X]) :- !.\nevaluate(_, []) :- !.\n\n% solve/2\n\nsolve((A,B), Result) :- !,\n solve(A, ARes),\n solve(B, BRes),\n append(ARes, BRes, Result).\n\nsolve((A;B), Result) :- !,\n solve(A, Result);\n solve(B, Result).\n\nsolve(member(A, B), [system_predicate]) :- !,\n call(member(A, B)).\n\nsolve(\\+(A), [not(A)]) :- !,\n call(\\+(A)).\n\nsolve((A)\\=(B), [doNotUnify(A, B)]) :- !,\n call((A)\\=(B)).\n\nsolve(A, [system_predicate]) :-\n catch(clause(A, _), B, true),\n \\+ var(B), !,\n call(A).\n\nsolve(A, [A]) :-\n \\+ clause(A, B), !,\n call(A).\n\nsolve(A, [A|[Res]]) :-\n clause(A, B),\n solve(B, Res).\n\n% is_list/1\n\nis_list(X) :- var(X), !, fail.\nis_list([]).\nis_list([_|T]) :- is_list(T).\n\n% fetch_argument_facts/2\n\nfetch_argument_facts(Conclusion, Facts) :-\n argument([R, TR, [Conclusion]]),\n findall(user_fact(Fact), \n support([_, _, [user_fact(Fact)]], [R, TR, [Conclusion]]),\n Facts).'));
2140
2165
  };
2141
2166
  protoOf(MetaInterpreter).z39 = function () {
2142
2167
  return 'interpreter';
@@ -2146,13 +2171,13 @@
2146
2171
  return MetaInterpreter_instance;
2147
2172
  }
2148
2173
  function ModuleCalls() {
2149
- this.w3d_1 = 'prolog.argumentation.modularity';
2174
+ this.y3d_1 = 'prolog.argumentation.modularity';
2150
2175
  }
2151
2176
  protoOf(ModuleCalls).y2b = function () {
2152
- return this.w3d_1;
2177
+ return this.y3d_1;
2153
2178
  };
2154
2179
  protoOf(ModuleCalls).y39 = function () {
2155
- return Companion_getInstance_2().of(this.w3d_1, mapOf(to(ModuleCall_getInstance().x3d_1, ModuleCall_getInstance())));
2180
+ return Companion_getInstance_2().of(this.y3d_1, mapOf(to(ModuleCall_getInstance().z3d_1, ModuleCall_getInstance())));
2156
2181
  };
2157
2182
  protoOf(ModuleCalls).z39 = function () {
2158
2183
  return 'module';
@@ -2180,9 +2205,9 @@
2180
2205
  return logicProgramming_0(VOID, ModuleCall$getCleanSolver$lambda_0(context, modules, module_0));
2181
2206
  }
2182
2207
  function ModuleCall$solve$slambda($solver, $goal, $request, resultContinuation) {
2183
- this.g3e_1 = $solver;
2184
- this.h3e_1 = $goal;
2185
- this.i3e_1 = $request;
2208
+ this.i3e_1 = $solver;
2209
+ this.j3e_1 = $goal;
2210
+ this.k3e_1 = $request;
2186
2211
  CoroutineImpl.call(this, resultContinuation);
2187
2212
  }
2188
2213
  protoOf(ModuleCall$solve$slambda).c2o = function ($this$sequence, $completion) {
@@ -2203,8 +2228,8 @@
2203
2228
  case 0:
2204
2229
  this.c8_1 = 2;
2205
2230
  this.b8_1 = 1;
2206
- var tmp_0 = this.g3e_1.solve(this.h3e_1);
2207
- suspendResult = this.j3e_1.sc(map(tmp_0, ModuleCall$solve$slambda$lambda(this.i3e_1)), this);
2231
+ var tmp_0 = this.i3e_1.solve(this.j3e_1);
2232
+ suspendResult = this.l3e_1.sc(map(tmp_0, ModuleCall$solve$slambda$lambda(this.k3e_1)), this);
2208
2233
  if (suspendResult === get_COROUTINE_SUSPENDED()) {
2209
2234
  return suspendResult;
2210
2235
  }
@@ -2227,8 +2252,8 @@
2227
2252
  while (true);
2228
2253
  };
2229
2254
  protoOf(ModuleCall$solve$slambda).d2o = function ($this$sequence, completion) {
2230
- var i = new ModuleCall$solve$slambda(this.g3e_1, this.h3e_1, this.i3e_1, completion);
2231
- i.j3e_1 = $this$sequence;
2255
+ var i = new ModuleCall$solve$slambda(this.i3e_1, this.j3e_1, this.k3e_1, completion);
2256
+ i.l3e_1 = $this$sequence;
2232
2257
  return i;
2233
2258
  };
2234
2259
  function ModuleCall$solve$slambda_0($solver, $goal, $request, resultContinuation) {
@@ -2276,7 +2301,7 @@
2276
2301
  }
2277
2302
  function ModuleCall() {
2278
2303
  ModuleCall_instance = this;
2279
- this.x3d_1 = new Signature('call_module', 2);
2304
+ this.z3d_1 = new Signature('call_module', 2);
2280
2305
  }
2281
2306
  protoOf(ModuleCall).g2e = function (request) {
2282
2307
  var modules = request.arguments.w(0);
@@ -2312,10 +2337,10 @@
2312
2337
  }
2313
2338
  function ModulesPath() {
2314
2339
  }
2315
- protoOf(ModulesPath).r3d = function () {
2340
+ protoOf(ModulesPath).t3d = function () {
2316
2341
  return 'modulesPath';
2317
2342
  };
2318
- protoOf(ModulesPath).u3d = function () {
2343
+ protoOf(ModulesPath).w3d = function () {
2319
2344
  return 'none';
2320
2345
  };
2321
2346
  var ModulesPath_instance;
@@ -2324,11 +2349,11 @@
2324
2349
  }
2325
2350
  function AbstractModeBase() {
2326
2351
  LazyRawPrologContent.call(this);
2327
- this.l3e_1 = 'prolog.argumentation.abstract';
2328
- this.m3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2352
+ this.n3e_1 = 'prolog.argumentation.abstract';
2353
+ this.o3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2329
2354
  }
2330
2355
  protoOf(AbstractModeBase).y2b = function () {
2331
- return this.l3e_1;
2356
+ return this.n3e_1;
2332
2357
  };
2333
2358
  protoOf(AbstractModeBase).y39 = function () {
2334
2359
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2337,14 +2362,14 @@
2337
2362
  return 'abstract';
2338
2363
  };
2339
2364
  protoOf(AbstractModeBase).i39 = function () {
2340
- return this.m3e_1;
2365
+ return this.o3e_1;
2341
2366
  };
2342
2367
  function GraphExtension() {
2343
2368
  }
2344
- protoOf(GraphExtension).r3d = function () {
2369
+ protoOf(GraphExtension).t3d = function () {
2345
2370
  return 'graphExtension';
2346
2371
  };
2347
- protoOf(GraphExtension).u3d = function () {
2372
+ protoOf(GraphExtension).w3d = function () {
2348
2373
  return listOf_0('standardPref');
2349
2374
  };
2350
2375
  var GraphExtension_instance;
@@ -2353,10 +2378,10 @@
2353
2378
  }
2354
2379
  function ArgumentLabellingMode() {
2355
2380
  }
2356
- protoOf(ArgumentLabellingMode).r3d = function () {
2381
+ protoOf(ArgumentLabellingMode).t3d = function () {
2357
2382
  return 'argumentLabellingMode';
2358
2383
  };
2359
- protoOf(ArgumentLabellingMode).u3d = function () {
2384
+ protoOf(ArgumentLabellingMode).w3d = function () {
2360
2385
  return 'grounded';
2361
2386
  };
2362
2387
  var ArgumentLabellingMode_instance;
@@ -2365,10 +2390,10 @@
2365
2390
  }
2366
2391
  function StatementLabellingMode() {
2367
2392
  }
2368
- protoOf(StatementLabellingMode).r3d = function () {
2393
+ protoOf(StatementLabellingMode).t3d = function () {
2369
2394
  return 'statementLabellingMode';
2370
2395
  };
2371
- protoOf(StatementLabellingMode).u3d = function () {
2396
+ protoOf(StatementLabellingMode).w3d = function () {
2372
2397
  return 'statement';
2373
2398
  };
2374
2399
  var StatementLabellingMode_instance;
@@ -2377,10 +2402,10 @@
2377
2402
  }
2378
2403
  function GraphBuildMode() {
2379
2404
  }
2380
- protoOf(GraphBuildMode).r3d = function () {
2405
+ protoOf(GraphBuildMode).t3d = function () {
2381
2406
  return 'graphBuildMode';
2382
2407
  };
2383
- protoOf(GraphBuildMode).u3d = function () {
2408
+ protoOf(GraphBuildMode).w3d = function () {
2384
2409
  return 'standard_af';
2385
2410
  };
2386
2411
  var GraphBuildMode_instance;
@@ -2389,11 +2414,11 @@
2389
2414
  }
2390
2415
  function ArgumentationGraphBuilderBase() {
2391
2416
  LazyRawPrologContent.call(this);
2392
- this.o3e_1 = 'prolog.argumentation.graph';
2393
- this.p3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2417
+ this.q3e_1 = 'prolog.argumentation.graph';
2418
+ this.r3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2394
2419
  }
2395
2420
  protoOf(ArgumentationGraphBuilderBase).y2b = function () {
2396
- return this.o3e_1;
2421
+ return this.q3e_1;
2397
2422
  };
2398
2423
  protoOf(ArgumentationGraphBuilderBase).y39 = function () {
2399
2424
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2402,15 +2427,15 @@
2402
2427
  return 'standard_af';
2403
2428
  };
2404
2429
  protoOf(ArgumentationGraphBuilderBase).i39 = function () {
2405
- return this.p3e_1;
2430
+ return this.r3e_1;
2406
2431
  };
2407
2432
  function AttackRestrictionHandlerBase() {
2408
2433
  LazyRawPrologContent.call(this);
2409
- this.r3e_1 = 'prolog.argumentation.graph.rebutrestriction';
2410
- this.s3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2434
+ this.t3e_1 = 'prolog.argumentation.graph.rebutrestriction';
2435
+ this.u3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2411
2436
  }
2412
2437
  protoOf(AttackRestrictionHandlerBase).y2b = function () {
2413
- return this.r3e_1;
2438
+ return this.t3e_1;
2414
2439
  };
2415
2440
  protoOf(AttackRestrictionHandlerBase).y39 = function () {
2416
2441
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2419,15 +2444,15 @@
2419
2444
  return 'rebutRestriction';
2420
2445
  };
2421
2446
  protoOf(AttackRestrictionHandlerBase).i39 = function () {
2422
- return this.s3e_1;
2447
+ return this.u3e_1;
2423
2448
  };
2424
2449
  function BpMetaGraphHandlerBase() {
2425
2450
  LazyRawPrologContent.call(this);
2426
- this.u3e_1 = 'prolog.argumentation.graph.meta.bp';
2427
- this.v3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2451
+ this.w3e_1 = 'prolog.argumentation.graph.meta.bp';
2452
+ this.x3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2428
2453
  }
2429
2454
  protoOf(BpMetaGraphHandlerBase).y2b = function () {
2430
- return this.u3e_1;
2455
+ return this.w3e_1;
2431
2456
  };
2432
2457
  protoOf(BpMetaGraphHandlerBase).y39 = function () {
2433
2458
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2436,15 +2461,15 @@
2436
2461
  return 'bp';
2437
2462
  };
2438
2463
  protoOf(BpMetaGraphHandlerBase).i39 = function () {
2439
- return this.v3e_1;
2464
+ return this.x3e_1;
2440
2465
  };
2441
2466
  function DefeasiblePreferencesHandlerBase() {
2442
2467
  LazyRawPrologContent.call(this);
2443
- this.x3e_1 = 'prolog.argumentation.graph.preferences.defeasible';
2444
- this.y3e_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2468
+ this.z3e_1 = 'prolog.argumentation.graph.preferences.defeasible';
2469
+ this.a3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2445
2470
  }
2446
2471
  protoOf(DefeasiblePreferencesHandlerBase).y2b = function () {
2447
- return this.x3e_1;
2472
+ return this.z3e_1;
2448
2473
  };
2449
2474
  protoOf(DefeasiblePreferencesHandlerBase).y39 = function () {
2450
2475
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2453,15 +2478,15 @@
2453
2478
  return 'defeasiblePref';
2454
2479
  };
2455
2480
  protoOf(DefeasiblePreferencesHandlerBase).i39 = function () {
2456
- return this.y3e_1;
2481
+ return this.a3f_1;
2457
2482
  };
2458
2483
  function GenericDefeasiblePreferencesHandlerBase() {
2459
2484
  LazyRawPrologContent.call(this);
2460
- this.a3f_1 = 'prolog.argumentation.graph.preferences.defeasible.generic';
2461
- this.b3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2485
+ this.c3f_1 = 'prolog.argumentation.graph.preferences.defeasible.generic';
2486
+ this.d3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2462
2487
  }
2463
2488
  protoOf(GenericDefeasiblePreferencesHandlerBase).y2b = function () {
2464
- return this.a3f_1;
2489
+ return this.c3f_1;
2465
2490
  };
2466
2491
  protoOf(GenericDefeasiblePreferencesHandlerBase).y39 = function () {
2467
2492
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2470,15 +2495,15 @@
2470
2495
  return 'defeasibleAllPref';
2471
2496
  };
2472
2497
  protoOf(GenericDefeasiblePreferencesHandlerBase).i39 = function () {
2473
- return this.b3f_1;
2498
+ return this.d3f_1;
2474
2499
  };
2475
2500
  function StrictPreferencesHandlerBase() {
2476
2501
  LazyRawPrologContent.call(this);
2477
- this.d3f_1 = 'prolog.argumentation.graph.preferences.strict';
2478
- this.e3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2502
+ this.f3f_1 = 'prolog.argumentation.graph.preferences.strict';
2503
+ this.g3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2479
2504
  }
2480
2505
  protoOf(StrictPreferencesHandlerBase).y2b = function () {
2481
- return this.d3f_1;
2506
+ return this.f3f_1;
2482
2507
  };
2483
2508
  protoOf(StrictPreferencesHandlerBase).y39 = function () {
2484
2509
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2487,24 +2512,24 @@
2487
2512
  return 'standardPref';
2488
2513
  };
2489
2514
  protoOf(StrictPreferencesHandlerBase).i39 = function () {
2490
- return this.e3f_1;
2515
+ return this.g3f_1;
2491
2516
  };
2492
2517
  function BinaryStatementLabeller() {
2493
2518
  BinaryStatementLabeller_instance = this;
2494
- this.f3f_1 = 'prolog.argumentation.graph.labelling.statement.binary';
2495
- this.g3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2519
+ this.h3f_1 = 'prolog.argumentation.graph.labelling.statement.binary';
2520
+ this.i3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2496
2521
  }
2497
2522
  protoOf(BinaryStatementLabeller).y2b = function () {
2498
- return this.f3f_1;
2523
+ return this.h3f_1;
2499
2524
  };
2500
2525
  protoOf(BinaryStatementLabeller).y39 = function () {
2501
- return Companion_getInstance_2().of(this.f3f_1, VOID, Companion_instance_0.ofWithDefaultUnificator([BinaryLabelling_getInstance().n1s()]));
2526
+ return Companion_getInstance_2().of(this.h3f_1, VOID, Companion_instance_0.ofWithDefaultUnificator([BinaryLabelling_getInstance().n1s()]));
2502
2527
  };
2503
2528
  protoOf(BinaryStatementLabeller).z39 = function () {
2504
2529
  return 'statement_binary';
2505
2530
  };
2506
2531
  protoOf(BinaryStatementLabeller).i39 = function () {
2507
- return this.g3f_1;
2532
+ return this.i3f_1;
2508
2533
  };
2509
2534
  var BinaryStatementLabeller_instance;
2510
2535
  function BinaryStatementLabeller_getInstance() {
@@ -2530,11 +2555,11 @@
2530
2555
  }
2531
2556
  function BpCompleteLabellerBase() {
2532
2557
  LazyRawPrologContent.call(this);
2533
- this.l3f_1 = 'prolog.argumentation.graph.labelling.bpgroundedcomplete';
2534
- this.m3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2558
+ this.n3f_1 = 'prolog.argumentation.graph.labelling.bpgroundedcomplete';
2559
+ this.o3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2535
2560
  }
2536
2561
  protoOf(BpCompleteLabellerBase).y2b = function () {
2537
- return this.l3f_1;
2562
+ return this.n3f_1;
2538
2563
  };
2539
2564
  protoOf(BpCompleteLabellerBase).y39 = function () {
2540
2565
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2543,15 +2568,15 @@
2543
2568
  return 'bp_grounded_complete';
2544
2569
  };
2545
2570
  protoOf(BpCompleteLabellerBase).i39 = function () {
2546
- return this.m3f_1;
2571
+ return this.o3f_1;
2547
2572
  };
2548
2573
  function BpLabellerBase() {
2549
2574
  LazyRawPrologContent.call(this);
2550
- this.o3f_1 = 'prolog.argumentation.graph.labelling.bpgrounded';
2551
- this.p3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2575
+ this.q3f_1 = 'prolog.argumentation.graph.labelling.bpgrounded';
2576
+ this.r3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2552
2577
  }
2553
2578
  protoOf(BpLabellerBase).y2b = function () {
2554
- return this.o3f_1;
2579
+ return this.q3f_1;
2555
2580
  };
2556
2581
  protoOf(BpLabellerBase).y39 = function () {
2557
2582
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2560,15 +2585,15 @@
2560
2585
  return 'bp_grounded';
2561
2586
  };
2562
2587
  protoOf(BpLabellerBase).i39 = function () {
2563
- return this.p3f_1;
2588
+ return this.r3f_1;
2564
2589
  };
2565
2590
  function BpPartialLabellerBase() {
2566
2591
  LazyRawPrologContent.call(this);
2567
- this.r3f_1 = 'prolog.argumentation.graph.labelling.bpgroundedpartial';
2568
- this.s3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2592
+ this.t3f_1 = 'prolog.argumentation.graph.labelling.bpgroundedpartial';
2593
+ this.u3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2569
2594
  }
2570
2595
  protoOf(BpPartialLabellerBase).y2b = function () {
2571
- return this.r3f_1;
2596
+ return this.t3f_1;
2572
2597
  };
2573
2598
  protoOf(BpPartialLabellerBase).y39 = function () {
2574
2599
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2577,15 +2602,15 @@
2577
2602
  return 'bp_grounded_partial';
2578
2603
  };
2579
2604
  protoOf(BpPartialLabellerBase).i39 = function () {
2580
- return this.s3f_1;
2605
+ return this.u3f_1;
2581
2606
  };
2582
2607
  function CompleteLabellerBase() {
2583
2608
  LazyRawPrologContent.call(this);
2584
- this.u3f_1 = 'prolog.argumentation.graph.labelling.complete';
2585
- this.v3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2609
+ this.w3f_1 = 'prolog.argumentation.graph.labelling.complete';
2610
+ this.x3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2586
2611
  }
2587
2612
  protoOf(CompleteLabellerBase).y2b = function () {
2588
- return this.u3f_1;
2613
+ return this.w3f_1;
2589
2614
  };
2590
2615
  protoOf(CompleteLabellerBase).y39 = function () {
2591
2616
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2594,15 +2619,15 @@
2594
2619
  return 'complete';
2595
2620
  };
2596
2621
  protoOf(CompleteLabellerBase).i39 = function () {
2597
- return this.v3f_1;
2622
+ return this.x3f_1;
2598
2623
  };
2599
2624
  function GroundedLabellerBase() {
2600
2625
  LazyRawPrologContent.call(this);
2601
- this.x3f_1 = 'prolog.argumentation.graph.labelling.grounded';
2602
- this.y3f_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2626
+ this.z3f_1 = 'prolog.argumentation.graph.labelling.grounded';
2627
+ this.a3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2603
2628
  }
2604
2629
  protoOf(GroundedLabellerBase).y2b = function () {
2605
- return this.x3f_1;
2630
+ return this.z3f_1;
2606
2631
  };
2607
2632
  protoOf(GroundedLabellerBase).y39 = function () {
2608
2633
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2611,15 +2636,15 @@
2611
2636
  return 'grounded';
2612
2637
  };
2613
2638
  protoOf(GroundedLabellerBase).i39 = function () {
2614
- return this.y3f_1;
2639
+ return this.a3g_1;
2615
2640
  };
2616
2641
  function GroundedLabellerOptimizedBase() {
2617
2642
  LazyRawPrologContent.call(this);
2618
- this.a3g_1 = 'prolog.argumentation.graph.labelling.grounded.optimized';
2619
- this.b3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2643
+ this.c3g_1 = 'prolog.argumentation.graph.labelling.grounded.optimized';
2644
+ this.d3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2620
2645
  }
2621
2646
  protoOf(GroundedLabellerOptimizedBase).y2b = function () {
2622
- return this.a3g_1;
2647
+ return this.c3g_1;
2623
2648
  };
2624
2649
  protoOf(GroundedLabellerOptimizedBase).y39 = function () {
2625
2650
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2628,24 +2653,24 @@
2628
2653
  return 'grounded_hash';
2629
2654
  };
2630
2655
  protoOf(GroundedLabellerOptimizedBase).i39 = function () {
2631
- return this.b3g_1;
2656
+ return this.d3g_1;
2632
2657
  };
2633
2658
  function PassThroughStatementLabeller() {
2634
2659
  PassThroughStatementLabeller_instance = this;
2635
- this.c3g_1 = 'prolog.argumentation.graph.labelling.statement.pt';
2636
- this.d3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2660
+ this.e3g_1 = 'prolog.argumentation.graph.labelling.statement.pt';
2661
+ this.f3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2637
2662
  }
2638
2663
  protoOf(PassThroughStatementLabeller).y2b = function () {
2639
- return this.c3g_1;
2664
+ return this.e3g_1;
2640
2665
  };
2641
2666
  protoOf(PassThroughStatementLabeller).y39 = function () {
2642
- return Companion_getInstance_2().of(this.c3g_1, VOID, Companion_instance_0.ofWithDefaultUnificator([Labelling_getInstance().n1s()]));
2667
+ return Companion_getInstance_2().of(this.e3g_1, VOID, Companion_instance_0.ofWithDefaultUnificator([Labelling_getInstance().n1s()]));
2643
2668
  };
2644
2669
  protoOf(PassThroughStatementLabeller).z39 = function () {
2645
2670
  return 'statement_pass_through';
2646
2671
  };
2647
2672
  protoOf(PassThroughStatementLabeller).i39 = function () {
2648
- return this.d3g_1;
2673
+ return this.f3g_1;
2649
2674
  };
2650
2675
  var PassThroughStatementLabeller_instance;
2651
2676
  function PassThroughStatementLabeller_getInstance() {
@@ -2671,11 +2696,11 @@
2671
2696
  }
2672
2697
  function StatementLabellerBase() {
2673
2698
  LazyRawPrologContent.call(this);
2674
- this.i3g_1 = 'prolog.argumentation.graph.labelling.statement';
2675
- this.j3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2699
+ this.k3g_1 = 'prolog.argumentation.graph.labelling.statement';
2700
+ this.l3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
2676
2701
  }
2677
2702
  protoOf(StatementLabellerBase).y2b = function () {
2678
- return this.i3g_1;
2703
+ return this.k3g_1;
2679
2704
  };
2680
2705
  protoOf(StatementLabellerBase).y39 = function () {
2681
2706
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -2684,7 +2709,7 @@
2684
2709
  return 'statement';
2685
2710
  };
2686
2711
  protoOf(StatementLabellerBase).i39 = function () {
2687
- return this.j3g_1;
2712
+ return this.l3g_1;
2688
2713
  };
2689
2714
  function Companion_2() {
2690
2715
  }
@@ -2746,11 +2771,11 @@
2746
2771
  }
2747
2772
  function RuleParserBase() {
2748
2773
  LazyRawPrologContent.call(this);
2749
- this.l3g_1 = 'prolog.argumentation.parser';
2750
- this.m3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_instance_10.d39()).plusOperatorSet(Companion_getInstance_0().DEFAULT);
2774
+ this.n3g_1 = 'prolog.argumentation.parser';
2775
+ this.o3g_1 = Companion_instance_8.d39().plusOperatorSet(Companion_instance_10.d39()).plusOperatorSet(Companion_getInstance_0().DEFAULT);
2751
2776
  }
2752
2777
  protoOf(RuleParserBase).y2b = function () {
2753
- return this.l3g_1;
2778
+ return this.n3g_1;
2754
2779
  };
2755
2780
  protoOf(RuleParserBase).y39 = function () {
2756
2781
  var tmp = Companion_getInstance_2();
@@ -2774,7 +2799,7 @@
2774
2799
  return 'parser';
2775
2800
  };
2776
2801
  protoOf(RuleParserBase).i39 = function () {
2777
- return this.m3g_1;
2802
+ return this.o3g_1;
2778
2803
  };
2779
2804
  function StrictRules$computeAllSubstitutions$lambda($this_computeAllSubstitutions) {
2780
2805
  return function (clauses, prologScope) {
@@ -2794,7 +2819,7 @@
2794
2819
  var _iterator__ex2g4s_0 = destination.p();
2795
2820
  while (_iterator__ex2g4s_0.s()) {
2796
2821
  var item = _iterator__ex2g4s_0.t();
2797
- var tmp$ret$3 = prologScope.logicListOfAny(['rule_' + Default_getInstance().wf(0, 2147483647), ConversionUtils_instance.n3g(item, $this_computeAllSubstitutions), ensureNotNull(item.nw())]);
2822
+ var tmp$ret$3 = prologScope.logicListOfAny(['rule_' + Default_getInstance().wf(0, 2147483647), ConversionUtils_instance.p3g(item, $this_computeAllSubstitutions), ensureNotNull(item.nw())]);
2798
2823
  destination_0.m(tmp$ret$3);
2799
2824
  }
2800
2825
  return listToTerm(destination_0);
@@ -2804,12 +2829,12 @@
2804
2829
  StrictRules_instance = this;
2805
2830
  WithoutSideEffects.call(this, 'prologStrictRules');
2806
2831
  }
2807
- protoOf(StrictRules).p3g = function (_this__u8e3s4, first) {
2832
+ protoOf(StrictRules).r3g = function (_this__u8e3s4, first) {
2808
2833
  var tmp = ConversionUtils_instance;
2809
- return tmp.q3g(_this__u8e3s4, first, VOID, StrictRules$computeAllSubstitutions$lambda(_this__u8e3s4));
2834
+ return tmp.s3g(_this__u8e3s4, first, VOID, StrictRules$computeAllSubstitutions$lambda(_this__u8e3s4));
2810
2835
  };
2811
2836
  protoOf(StrictRules).x2g = function (_this__u8e3s4, first) {
2812
- return this.p3g(_this__u8e3s4, first);
2837
+ return this.r3g(_this__u8e3s4, first);
2813
2838
  };
2814
2839
  var StrictRules_instance;
2815
2840
  function StrictRules_getInstance() {
@@ -2843,12 +2868,12 @@
2843
2868
  Axioms_instance = this;
2844
2869
  WithoutSideEffects.call(this, 'prologAxioms');
2845
2870
  }
2846
- protoOf(Axioms).p3g = function (_this__u8e3s4, first) {
2871
+ protoOf(Axioms).r3g = function (_this__u8e3s4, first) {
2847
2872
  var tmp = ConversionUtils_instance;
2848
- return tmp.q3g(_this__u8e3s4, first, VOID, Axioms$computeAllSubstitutions$lambda);
2873
+ return tmp.s3g(_this__u8e3s4, first, VOID, Axioms$computeAllSubstitutions$lambda);
2849
2874
  };
2850
2875
  protoOf(Axioms).x2g = function (_this__u8e3s4, first) {
2851
- return this.p3g(_this__u8e3s4, first);
2876
+ return this.r3g(_this__u8e3s4, first);
2852
2877
  };
2853
2878
  var Axioms_instance;
2854
2879
  function Axioms_getInstance() {
@@ -2889,12 +2914,12 @@
2889
2914
  Bps_instance = this;
2890
2915
  WithoutSideEffects.call(this, 'bpsNew');
2891
2916
  }
2892
- protoOf(Bps).p3g = function (_this__u8e3s4, first) {
2917
+ protoOf(Bps).r3g = function (_this__u8e3s4, first) {
2893
2918
  var tmp = ConversionUtils_instance;
2894
- return tmp.t3g(_this__u8e3s4, first, true, Bps$computeAllSubstitutions$lambda);
2919
+ return tmp.v3g(_this__u8e3s4, first, true, Bps$computeAllSubstitutions$lambda);
2895
2920
  };
2896
2921
  protoOf(Bps).x2g = function (_this__u8e3s4, first) {
2897
- return this.p3g(_this__u8e3s4, first);
2922
+ return this.r3g(_this__u8e3s4, first);
2898
2923
  };
2899
2924
  var Bps_instance;
2900
2925
  function Bps_getInstance() {
@@ -2928,12 +2953,12 @@
2928
2953
  Premises_instance = this;
2929
2954
  WithoutSideEffects.call(this, 'prologPremises');
2930
2955
  }
2931
- protoOf(Premises).p3g = function (_this__u8e3s4, first) {
2956
+ protoOf(Premises).r3g = function (_this__u8e3s4, first) {
2932
2957
  var tmp = ConversionUtils_instance;
2933
- return tmp.q3g(_this__u8e3s4, first, VOID, Premises$computeAllSubstitutions$lambda);
2958
+ return tmp.s3g(_this__u8e3s4, first, VOID, Premises$computeAllSubstitutions$lambda);
2934
2959
  };
2935
2960
  protoOf(Premises).x2g = function (_this__u8e3s4, first) {
2936
- return this.p3g(_this__u8e3s4, first);
2961
+ return this.r3g(_this__u8e3s4, first);
2937
2962
  };
2938
2963
  var Premises_instance;
2939
2964
  function Premises_getInstance() {
@@ -2999,7 +3024,7 @@
2999
3024
  }
3000
3025
  // Inline function 'kotlin.let' call
3001
3026
  var it = tmp_3;
3002
- var tmp$ret$6 = prologScope.logicListOfAny(['rule_' + Default_getInstance().wf(0, 2147483647), ConversionUtils_instance.n3g(it, $this_computeAllSubstitutions), ensureNotNull(it.nw())]);
3027
+ var tmp$ret$6 = prologScope.logicListOfAny(['rule_' + Default_getInstance().wf(0, 2147483647), ConversionUtils_instance.p3g(it, $this_computeAllSubstitutions), ensureNotNull(it.nw())]);
3003
3028
  destination_0.m(tmp$ret$6);
3004
3029
  }
3005
3030
  return listToTerm(destination_0);
@@ -3009,12 +3034,12 @@
3009
3034
  DefeasibleRules_instance = this;
3010
3035
  WithoutSideEffects.call(this, 'prologDefeasibleRules');
3011
3036
  }
3012
- protoOf(DefeasibleRules).p3g = function (_this__u8e3s4, first) {
3037
+ protoOf(DefeasibleRules).r3g = function (_this__u8e3s4, first) {
3013
3038
  var tmp = ConversionUtils_instance;
3014
- return tmp.q3g(_this__u8e3s4, first, VOID, DefeasibleRules$computeAllSubstitutions$lambda(_this__u8e3s4));
3039
+ return tmp.s3g(_this__u8e3s4, first, VOID, DefeasibleRules$computeAllSubstitutions$lambda(_this__u8e3s4));
3015
3040
  };
3016
3041
  protoOf(DefeasibleRules).x2g = function (_this__u8e3s4, first) {
3017
- return this.p3g(_this__u8e3s4, first);
3042
+ return this.r3g(_this__u8e3s4, first);
3018
3043
  };
3019
3044
  var DefeasibleRules_instance;
3020
3045
  function DefeasibleRules_getInstance() {
@@ -3095,10 +3120,10 @@
3095
3120
  }
3096
3121
  function AutoTransposition() {
3097
3122
  }
3098
- protoOf(AutoTransposition).r3d = function () {
3123
+ protoOf(AutoTransposition).t3d = function () {
3099
3124
  return 'autoTransposition';
3100
3125
  };
3101
- protoOf(AutoTransposition).u3d = function () {
3126
+ protoOf(AutoTransposition).w3d = function () {
3102
3127
  return false;
3103
3128
  };
3104
3129
  var AutoTransposition_instance;
@@ -3107,10 +3132,10 @@
3107
3132
  }
3108
3133
  function PrologStrictCompatibility() {
3109
3134
  }
3110
- protoOf(PrologStrictCompatibility).r3d = function () {
3135
+ protoOf(PrologStrictCompatibility).t3d = function () {
3111
3136
  return 'prologStrictCompatibility';
3112
3137
  };
3113
- protoOf(PrologStrictCompatibility).u3d = function () {
3138
+ protoOf(PrologStrictCompatibility).w3d = function () {
3114
3139
  return false;
3115
3140
  };
3116
3141
  var PrologStrictCompatibility_instance;
@@ -3172,16 +3197,16 @@
3172
3197
  }
3173
3198
  function ConversionUtils() {
3174
3199
  }
3175
- protoOf(ConversionUtils).n3g = function (target, context) {
3200
+ protoOf(ConversionUtils).p3g = function (target, context) {
3176
3201
  return prolog(VOID, ConversionUtils$modifiers$lambda(target, context));
3177
3202
  };
3178
- protoOf(ConversionUtils).t3g = function (context, first, force, mapper) {
3203
+ protoOf(ConversionUtils).v3g = function (context, first, force, mapper) {
3179
3204
  Companion_getInstance_9().v2e(context, 0);
3180
3205
  return prolog(VOID, ConversionUtils$commonMap$lambda(first, force, context, mapper));
3181
3206
  };
3182
- protoOf(ConversionUtils).q3g = function (context, first, force, mapper, $super) {
3207
+ protoOf(ConversionUtils).s3g = function (context, first, force, mapper, $super) {
3183
3208
  force = force === VOID ? false : force;
3184
- return $super === VOID ? this.t3g(context, first, force, mapper) : $super.t3g.call(this, context, first, force, mapper);
3209
+ return $super === VOID ? this.v3g(context, first, force, mapper) : $super.v3g.call(this, context, first, force, mapper);
3185
3210
  };
3186
3211
  var ConversionUtils_instance;
3187
3212
  function ConversionUtils_getInstance() {
@@ -3189,11 +3214,11 @@
3189
3214
  }
3190
3215
  function StructuredModeBase() {
3191
3216
  LazyRawPrologContent.call(this);
3192
- this.z3g_1 = 'prolog.argumentation.structured';
3193
- this.a3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3217
+ this.b3h_1 = 'prolog.argumentation.structured';
3218
+ this.c3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3194
3219
  }
3195
3220
  protoOf(StructuredModeBase).y2b = function () {
3196
- return this.z3g_1;
3221
+ return this.b3h_1;
3197
3222
  };
3198
3223
  protoOf(StructuredModeBase).y39 = function () {
3199
3224
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -3202,14 +3227,14 @@
3202
3227
  return 'structured';
3203
3228
  };
3204
3229
  protoOf(StructuredModeBase).i39 = function () {
3205
- return this.a3h_1;
3230
+ return this.c3h_1;
3206
3231
  };
3207
3232
  function QueryMode() {
3208
3233
  }
3209
- protoOf(QueryMode).r3d = function () {
3234
+ protoOf(QueryMode).t3d = function () {
3210
3235
  return 'queryMode';
3211
3236
  };
3212
- protoOf(QueryMode).u3d = function () {
3237
+ protoOf(QueryMode).w3d = function () {
3213
3238
  return true;
3214
3239
  };
3215
3240
  var QueryMode_instance;
@@ -3218,11 +3243,11 @@
3218
3243
  }
3219
3244
  function AttackRelationBase() {
3220
3245
  LazyRawPrologContent.call(this);
3221
- this.c3h_1 = 'prolog.argumentation.attack';
3222
- this.d3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3246
+ this.e3h_1 = 'prolog.argumentation.attack';
3247
+ this.f3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3223
3248
  }
3224
3249
  protoOf(AttackRelationBase).y2b = function () {
3225
- return this.c3h_1;
3250
+ return this.e3h_1;
3226
3251
  };
3227
3252
  protoOf(AttackRelationBase).y39 = function () {
3228
3253
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -3231,15 +3256,15 @@
3231
3256
  return 'attack';
3232
3257
  };
3233
3258
  protoOf(AttackRelationBase).i39 = function () {
3234
- return this.d3h_1;
3259
+ return this.f3h_1;
3235
3260
  };
3236
3261
  function DebugBase() {
3237
3262
  LazyRawPrologContent.call(this);
3238
- this.f3h_1 = 'prolog.argumentation.debug';
3239
- this.g3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3263
+ this.h3h_1 = 'prolog.argumentation.debug';
3264
+ this.i3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3240
3265
  }
3241
3266
  protoOf(DebugBase).y2b = function () {
3242
- return this.f3h_1;
3267
+ return this.h3h_1;
3243
3268
  };
3244
3269
  protoOf(DebugBase).y39 = function () {
3245
3270
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -3248,15 +3273,15 @@
3248
3273
  return 'debug';
3249
3274
  };
3250
3275
  protoOf(DebugBase).i39 = function () {
3251
- return this.g3h_1;
3276
+ return this.i3h_1;
3252
3277
  };
3253
3278
  function SuperiorityRelationBase() {
3254
3279
  LazyRawPrologContent.call(this);
3255
- this.i3h_1 = 'prolog.argumentation.superiority';
3256
- this.j3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3280
+ this.k3h_1 = 'prolog.argumentation.superiority';
3281
+ this.l3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3257
3282
  }
3258
3283
  protoOf(SuperiorityRelationBase).y2b = function () {
3259
- return this.i3h_1;
3284
+ return this.k3h_1;
3260
3285
  };
3261
3286
  protoOf(SuperiorityRelationBase).y39 = function () {
3262
3287
  return Companion_getInstance_2().of(this.y2b(), VOID, this.c3a());
@@ -3265,14 +3290,14 @@
3265
3290
  return 'superiority';
3266
3291
  };
3267
3292
  protoOf(SuperiorityRelationBase).i39 = function () {
3268
- return this.j3h_1;
3293
+ return this.l3h_1;
3269
3294
  };
3270
3295
  function OrderingPrinciple() {
3271
3296
  }
3272
- protoOf(OrderingPrinciple).r3d = function () {
3297
+ protoOf(OrderingPrinciple).t3d = function () {
3273
3298
  return 'orderingPrinciple';
3274
3299
  };
3275
- protoOf(OrderingPrinciple).u3d = function () {
3300
+ protoOf(OrderingPrinciple).w3d = function () {
3276
3301
  return 'last';
3277
3302
  };
3278
3303
  var OrderingPrinciple_instance;
@@ -3281,10 +3306,10 @@
3281
3306
  }
3282
3307
  function OrderingComparator() {
3283
3308
  }
3284
- protoOf(OrderingComparator).r3d = function () {
3309
+ protoOf(OrderingComparator).t3d = function () {
3285
3310
  return 'orderingComparator';
3286
3311
  };
3287
- protoOf(OrderingComparator).u3d = function () {
3312
+ protoOf(OrderingComparator).w3d = function () {
3288
3313
  return 'elitist';
3289
3314
  };
3290
3315
  var OrderingComparator_instance;
@@ -3293,35 +3318,35 @@
3293
3318
  }
3294
3319
  function UtilsBase() {
3295
3320
  LazyRawPrologContent.call(this);
3296
- this.l3h_1 = 'prolog.argumentation.utils';
3297
- this.m3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3321
+ this.n3h_1 = 'prolog.argumentation.utils';
3322
+ this.o3h_1 = Companion_instance_8.d39().plusOperatorSet(Companion_getInstance_0().DEFAULT);
3298
3323
  }
3299
3324
  protoOf(UtilsBase).y2b = function () {
3300
- return this.l3h_1;
3325
+ return this.n3h_1;
3301
3326
  };
3302
3327
  protoOf(UtilsBase).y39 = function () {
3303
3328
  var tmp0_$this = Companion_getInstance_2();
3304
3329
  var tmp1_alias = this.y2b();
3305
3330
  var tmp2_clauses = this.c3a();
3306
- var tmp = to(AppendOptimized_getInstance().n3h_1, AppendOptimized_getInstance());
3307
- var tmp_0 = to(AssertAll_getInstance().o3h_1, AssertAll_getInstance());
3331
+ var tmp = to(AppendOptimized_getInstance().p3h_1, AppendOptimized_getInstance());
3332
+ var tmp_0 = to(AssertAll_getInstance().q3h_1, AssertAll_getInstance());
3308
3333
  // Inline function 'it.unibo.tuprolog.solve.AbstractWrapper.descriptionPair' call
3309
3334
  var this_0 = ArgumentHash_getInstance();
3310
3335
  var tmp$ret$0 = to(this_0.signature, this_0.n1s());
3311
- var tmp3_primitives = mapOf_0([tmp, tmp_0, tmp$ret$0, to(Contains_getInstance().p3h_1, Contains_getInstance()), to(ContainsAny_getInstance().q3h_1, ContainsAny_getInstance())]);
3336
+ var tmp3_primitives = mapOf_0([tmp, tmp_0, tmp$ret$0, to(Contains_getInstance().r3h_1, Contains_getInstance()), to(ContainsAny_getInstance().s3h_1, ContainsAny_getInstance())]);
3312
3337
  return tmp0_$this.of(tmp1_alias, tmp3_primitives, tmp2_clauses);
3313
3338
  };
3314
3339
  protoOf(UtilsBase).z39 = function () {
3315
3340
  return 'utils';
3316
3341
  };
3317
3342
  protoOf(UtilsBase).i39 = function () {
3318
- return this.m3h_1;
3343
+ return this.o3h_1;
3319
3344
  };
3320
3345
  function AppendOptimized$solve$slambda($request, $res, $list1, $list2, resultContinuation) {
3321
- this.z3h_1 = $request;
3322
- this.a3i_1 = $res;
3323
- this.b3i_1 = $list1;
3324
- this.c3i_1 = $list2;
3346
+ this.b3i_1 = $request;
3347
+ this.c3i_1 = $res;
3348
+ this.d3i_1 = $list1;
3349
+ this.e3i_1 = $list2;
3325
3350
  CoroutineImpl.call(this, resultContinuation);
3326
3351
  }
3327
3352
  protoOf(AppendOptimized$solve$slambda).c2o = function ($this$sequence, $completion) {
@@ -3342,7 +3367,7 @@
3342
3367
  case 0:
3343
3368
  this.c8_1 = 2;
3344
3369
  this.b8_1 = 1;
3345
- suspendResult = this.d3i_1.pc(this.z3h_1.replyWith(Companion_getInstance_3().of(this.a3i_1, Companion_instance_6.ofList(plus(this.b3i_1.toList(), this.c3i_1.toList()))), VOID, []), this);
3370
+ suspendResult = this.f3i_1.pc(this.b3i_1.replyWith(Companion_getInstance_3().of(this.c3i_1, Companion_instance_6.ofList(plus(this.d3i_1.toList(), this.e3i_1.toList()))), VOID, []), this);
3346
3371
  if (suspendResult === get_COROUTINE_SUSPENDED()) {
3347
3372
  return suspendResult;
3348
3373
  }
@@ -3365,8 +3390,8 @@
3365
3390
  while (true);
3366
3391
  };
3367
3392
  protoOf(AppendOptimized$solve$slambda).d2o = function ($this$sequence, completion) {
3368
- var i = new AppendOptimized$solve$slambda(this.z3h_1, this.a3i_1, this.b3i_1, this.c3i_1, completion);
3369
- i.d3i_1 = $this$sequence;
3393
+ var i = new AppendOptimized$solve$slambda(this.b3i_1, this.c3i_1, this.d3i_1, this.e3i_1, completion);
3394
+ i.f3i_1 = $this$sequence;
3370
3395
  return i;
3371
3396
  };
3372
3397
  function AppendOptimized$solve$slambda_0($request, $res, $list1, $list2, resultContinuation) {
@@ -3379,7 +3404,7 @@
3379
3404
  }
3380
3405
  function AppendOptimized() {
3381
3406
  AppendOptimized_instance = this;
3382
- this.n3h_1 = new Signature('append_fast', 3);
3407
+ this.p3h_1 = new Signature('append_fast', 3);
3383
3408
  }
3384
3409
  protoOf(AppendOptimized).g2e = function (request) {
3385
3410
  var list1 = request.arguments.w(0);
@@ -3417,7 +3442,7 @@
3417
3442
  };
3418
3443
  }
3419
3444
  function AssertAll$solve$slambda($request, resultContinuation) {
3420
- this.m3i_1 = $request;
3445
+ this.o3i_1 = $request;
3421
3446
  CoroutineImpl.call(this, resultContinuation);
3422
3447
  }
3423
3448
  protoOf(AssertAll$solve$slambda).c2o = function ($this$sequence, $completion) {
@@ -3438,7 +3463,7 @@
3438
3463
  case 0:
3439
3464
  this.c8_1 = 2;
3440
3465
  this.b8_1 = 1;
3441
- suspendResult = this.n3i_1.pc(this.m3i_1.replyWithCondition(true, VOID, []), this);
3466
+ suspendResult = this.p3i_1.pc(this.o3i_1.replyWithCondition(true, VOID, []), this);
3442
3467
  if (suspendResult === get_COROUTINE_SUSPENDED()) {
3443
3468
  return suspendResult;
3444
3469
  }
@@ -3461,8 +3486,8 @@
3461
3486
  while (true);
3462
3487
  };
3463
3488
  protoOf(AssertAll$solve$slambda).d2o = function ($this$sequence, completion) {
3464
- var i = new AssertAll$solve$slambda(this.m3i_1, completion);
3465
- i.n3i_1 = $this$sequence;
3489
+ var i = new AssertAll$solve$slambda(this.o3i_1, completion);
3490
+ i.p3i_1 = $this$sequence;
3466
3491
  return i;
3467
3492
  };
3468
3493
  function AssertAll$solve$slambda_0($request, resultContinuation) {
@@ -3475,7 +3500,7 @@
3475
3500
  }
3476
3501
  function AssertAll() {
3477
3502
  AssertAll_instance = this;
3478
- this.o3h_1 = new Signature('assert_all', 1);
3503
+ this.q3h_1 = new Signature('assert_all', 1);
3479
3504
  }
3480
3505
  protoOf(AssertAll).g2e = function (request) {
3481
3506
  var list = request.arguments.w(0);
@@ -3511,9 +3536,9 @@
3511
3536
  return ArgumentHash_instance;
3512
3537
  }
3513
3538
  function Contains$solve$slambda($request, $list, $elem, resultContinuation) {
3514
- this.x3i_1 = $request;
3515
- this.y3i_1 = $list;
3516
- this.z3i_1 = $elem;
3539
+ this.z3i_1 = $request;
3540
+ this.a3j_1 = $list;
3541
+ this.b3j_1 = $elem;
3517
3542
  CoroutineImpl.call(this, resultContinuation);
3518
3543
  }
3519
3544
  protoOf(Contains$solve$slambda).c2o = function ($this$sequence, $completion) {
@@ -3534,7 +3559,7 @@
3534
3559
  case 0:
3535
3560
  this.c8_1 = 2;
3536
3561
  this.b8_1 = 1;
3537
- var tmp0 = this.y3i_1.toList();
3562
+ var tmp0 = this.a3j_1.toList();
3538
3563
  var tmp$ret$0;
3539
3564
  l$ret$1: do {
3540
3565
  var tmp_0;
@@ -3550,7 +3575,7 @@
3550
3575
  var _iterator__ex2g4s = tmp0.p();
3551
3576
  while (_iterator__ex2g4s.s()) {
3552
3577
  var element = _iterator__ex2g4s.t();
3553
- if (Companion_getInstance_1().u1i().match(element, this.z3i_1)) {
3578
+ if (Companion_getInstance_1().u1i().match(element, this.b3j_1)) {
3554
3579
  tmp$ret$0 = true;
3555
3580
  break l$ret$1;
3556
3581
  }
@@ -3558,7 +3583,7 @@
3558
3583
  tmp$ret$0 = false;
3559
3584
  }
3560
3585
  while (false);
3561
- suspendResult = this.a3j_1.pc(this.x3i_1.replyWithCondition(tmp$ret$0, VOID, []), this);
3586
+ suspendResult = this.c3j_1.pc(this.z3i_1.replyWithCondition(tmp$ret$0, VOID, []), this);
3562
3587
  if (suspendResult === get_COROUTINE_SUSPENDED()) {
3563
3588
  return suspendResult;
3564
3589
  }
@@ -3581,8 +3606,8 @@
3581
3606
  while (true);
3582
3607
  };
3583
3608
  protoOf(Contains$solve$slambda).d2o = function ($this$sequence, completion) {
3584
- var i = new Contains$solve$slambda(this.x3i_1, this.y3i_1, this.z3i_1, completion);
3585
- i.a3j_1 = $this$sequence;
3609
+ var i = new Contains$solve$slambda(this.z3i_1, this.a3j_1, this.b3j_1, completion);
3610
+ i.c3j_1 = $this$sequence;
3586
3611
  return i;
3587
3612
  };
3588
3613
  function Contains$solve$slambda_0($request, $list, $elem, resultContinuation) {
@@ -3595,7 +3620,7 @@
3595
3620
  }
3596
3621
  function Contains() {
3597
3622
  Contains_instance = this;
3598
- this.p3h_1 = new Signature('contains', 2);
3623
+ this.r3h_1 = new Signature('contains', 2);
3599
3624
  }
3600
3625
  protoOf(Contains).g2e = function (request) {
3601
3626
  var elem = request.arguments.w(0);
@@ -3615,9 +3640,9 @@
3615
3640
  return Contains_instance;
3616
3641
  }
3617
3642
  function ContainsAny$solve$slambda($request, $list, $elemList, resultContinuation) {
3618
- this.j3j_1 = $request;
3619
- this.k3j_1 = $list;
3620
- this.l3j_1 = $elemList;
3643
+ this.l3j_1 = $request;
3644
+ this.m3j_1 = $list;
3645
+ this.n3j_1 = $elemList;
3621
3646
  CoroutineImpl.call(this, resultContinuation);
3622
3647
  }
3623
3648
  protoOf(ContainsAny$solve$slambda).c2o = function ($this$sequence, $completion) {
@@ -3638,13 +3663,13 @@
3638
3663
  case 0:
3639
3664
  this.c8_1 = 2;
3640
3665
  this.b8_1 = 1;
3641
- var tmp0 = this.k3j_1.xs();
3666
+ var tmp0 = this.m3j_1.xs();
3642
3667
  var tmp$ret$2;
3643
3668
  l$ret$3: do {
3644
3669
  var _iterator__ex2g4s = tmp0.p();
3645
3670
  while (_iterator__ex2g4s.s()) {
3646
3671
  var element = _iterator__ex2g4s.t();
3647
- var tmp0_0 = this.l3j_1.xs();
3672
+ var tmp0_0 = this.n3j_1.xs();
3648
3673
  var tmp$ret$0;
3649
3674
  l$ret$1: do {
3650
3675
  var _iterator__ex2g4s_0 = tmp0_0.p();
@@ -3666,7 +3691,7 @@
3666
3691
  tmp$ret$2 = false;
3667
3692
  }
3668
3693
  while (false);
3669
- suspendResult = this.m3j_1.pc(this.j3j_1.replyWithCondition(tmp$ret$2, VOID, []), this);
3694
+ suspendResult = this.o3j_1.pc(this.l3j_1.replyWithCondition(tmp$ret$2, VOID, []), this);
3670
3695
  if (suspendResult === get_COROUTINE_SUSPENDED()) {
3671
3696
  return suspendResult;
3672
3697
  }
@@ -3689,8 +3714,8 @@
3689
3714
  while (true);
3690
3715
  };
3691
3716
  protoOf(ContainsAny$solve$slambda).d2o = function ($this$sequence, completion) {
3692
- var i = new ContainsAny$solve$slambda(this.j3j_1, this.k3j_1, this.l3j_1, completion);
3693
- i.m3j_1 = $this$sequence;
3717
+ var i = new ContainsAny$solve$slambda(this.l3j_1, this.m3j_1, this.n3j_1, completion);
3718
+ i.o3j_1 = $this$sequence;
3694
3719
  return i;
3695
3720
  };
3696
3721
  function ContainsAny$solve$slambda_0($request, $list, $elemList, resultContinuation) {
@@ -3703,7 +3728,7 @@
3703
3728
  }
3704
3729
  function ContainsAny() {
3705
3730
  ContainsAny_instance = this;
3706
- this.q3h_1 = new Signature('contains_any', 2);
3731
+ this.s3h_1 = new Signature('contains_any', 2);
3707
3732
  }
3708
3733
  protoOf(ContainsAny).g2e = function (request) {
3709
3734
  var elemList = request.arguments.w(0);
@@ -3728,13 +3753,38 @@
3728
3753
  function mineGraph(_this__u8e3s4, context) {
3729
3754
  // Inline function 'kotlin.let' call
3730
3755
  var it = mineArguments(_this__u8e3s4, context);
3731
- return Companion_instance_12.n3j(mineLabels(_this__u8e3s4, context, it), mineAttacks(_this__u8e3s4, context, it), mineSupports(_this__u8e3s4, context, it));
3756
+ return Companion_instance_12.p3j(mineLabels(_this__u8e3s4, context, it), mineAttacks(_this__u8e3s4, context, it), mineSupports(_this__u8e3s4, context, it));
3732
3757
  }
3733
3758
  function mineArguments(_this__u8e3s4, context) {
3734
3759
  return toList(logicProgramming(arguments$lambda(_this__u8e3s4, context)));
3735
3760
  }
3736
3761
  function mineLabels(_this__u8e3s4, context, arguments_0) {
3737
- return plus(plus(labels$checkFunctor(_this__u8e3s4, context, arguments_0, 'in'), labels$checkFunctor(_this__u8e3s4, context, arguments_0, 'out')), labels$checkFunctor(_this__u8e3s4, context, arguments_0, 'und'));
3762
+ var labels = plus(plus(labels$checkFunctor(_this__u8e3s4, context, 'in'), labels$checkFunctor(_this__u8e3s4, context, 'out')), labels$checkFunctor(_this__u8e3s4, context, 'und'));
3763
+ // Inline function 'kotlin.collections.map' call
3764
+ // Inline function 'kotlin.collections.mapTo' call
3765
+ var destination = ArrayList_init_$Create$(collectionSizeOrDefault(arguments_0, 10));
3766
+ var _iterator__ex2g4s = arguments_0.p();
3767
+ while (_iterator__ex2g4s.s()) {
3768
+ var item = _iterator__ex2g4s.t();
3769
+ var tmp$ret$1;
3770
+ $l$block: {
3771
+ // Inline function 'kotlin.collections.firstOrNull' call
3772
+ var _iterator__ex2g4s_0 = labels.p();
3773
+ while (_iterator__ex2g4s_0.s()) {
3774
+ var element = _iterator__ex2g4s_0.t();
3775
+ if (Companion_getInstance_1().u1i().match(item.a3k(), element.fc_1)) {
3776
+ tmp$ret$1 = element;
3777
+ break $l$block;
3778
+ }
3779
+ }
3780
+ tmp$ret$1 = null;
3781
+ }
3782
+ var tmp0_safe_receiver = tmp$ret$1;
3783
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.gc_1;
3784
+ var tmp$ret$2 = new LabelledArgument(item, tmp1_elvis_lhs == null ? 'na' : tmp1_elvis_lhs);
3785
+ destination.m(tmp$ret$2);
3786
+ }
3787
+ return destination;
3738
3788
  }
3739
3789
  function mineAttacks(_this__u8e3s4, context, arguments_0) {
3740
3790
  if (arguments_0.j())
@@ -3747,8 +3797,8 @@
3747
3797
  function mineActiveGraph(_this__u8e3s4) {
3748
3798
  return logicProgramming(graph$lambda(_this__u8e3s4));
3749
3799
  }
3750
- function labels$checkFunctor($this_labels, $context, $arguments, functor) {
3751
- return logicProgramming(labels$checkFunctor$lambda($this_labels, $context, functor, $arguments));
3800
+ function labels$checkFunctor($this_labels, $context, functor) {
3801
+ return logicProgramming(labels$checkFunctor$lambda($this_labels, $context, functor));
3752
3802
  }
3753
3803
  function arguments$lambda$lambda(it) {
3754
3804
  return it.d1u();
@@ -3759,22 +3809,22 @@
3759
3809
  };
3760
3810
  }
3761
3811
  function arguments$lambda$lambda_1(solution) {
3762
- return Companion_instance_11.o3j(solution);
3812
+ return Companion_instance_11.b3k(solution);
3763
3813
  }
3764
3814
  function arguments$lambda$lambda_2(it) {
3765
- return it.y3j_1.v();
3815
+ return it.z3j_1.v();
3766
3816
  }
3767
3817
  function arguments$lambda$lambda_3(it) {
3768
- return it.p3j_1.v();
3818
+ return it.q3j_1.v();
3769
3819
  }
3770
3820
  function arguments$lambda$lambda_4(it) {
3771
- return it.r3j_1;
3821
+ return it.s3j_1;
3772
3822
  }
3773
3823
  function arguments$lambda$lambda_5(it) {
3774
- return it.q3j_1;
3824
+ return it.r3j_1;
3775
3825
  }
3776
3826
  function arguments$lambda$lambda_6(index, arg) {
3777
- arg.x3j_1 = 'A' + index;
3827
+ arg.y3j_1 = 'A' + index;
3778
3828
  return arg;
3779
3829
  }
3780
3830
  function arguments$lambda($this_arguments, $context) {
@@ -3807,7 +3857,7 @@
3807
3857
  var _iterator__ex2g4s = tmp0.p();
3808
3858
  while (_iterator__ex2g4s.s()) {
3809
3859
  var element = _iterator__ex2g4s.t();
3810
- if (Companion_getInstance_1().u1i().match(element.z3j(), solution.fc_1)) {
3860
+ if (Companion_getInstance_1().u1i().match(element.a3k(), solution.fc_1)) {
3811
3861
  tmp$ret$1 = element;
3812
3862
  break $l$block;
3813
3863
  }
@@ -3822,7 +3872,7 @@
3822
3872
  var _iterator__ex2g4s_0 = tmp0_0.p();
3823
3873
  while (_iterator__ex2g4s_0.s()) {
3824
3874
  var element_0 = _iterator__ex2g4s_0.t();
3825
- if (Companion_getInstance_1().u1i().match(element_0.z3j(), solution.gc_1)) {
3875
+ if (Companion_getInstance_1().u1i().match(element_0.a3k(), solution.gc_1)) {
3826
3876
  tmp$ret$3 = element_0;
3827
3877
  break $l$block_0;
3828
3878
  }
@@ -3857,7 +3907,7 @@
3857
3907
  var _iterator__ex2g4s = tmp0.p();
3858
3908
  while (_iterator__ex2g4s.s()) {
3859
3909
  var element = _iterator__ex2g4s.t();
3860
- if (Companion_getInstance_1().u1i().match(element.z3j(), solution.gc_1)) {
3910
+ if (Companion_getInstance_1().u1i().match(element.a3k(), solution.gc_1)) {
3861
3911
  tmp$ret$1 = element;
3862
3912
  break $l$block;
3863
3913
  }
@@ -3873,7 +3923,7 @@
3873
3923
  var _iterator__ex2g4s_0 = tmp0_0.p();
3874
3924
  while (_iterator__ex2g4s_0.s()) {
3875
3925
  var element_0 = _iterator__ex2g4s_0.t();
3876
- if (Companion_getInstance_1().u1i().match(element_0.z3j(), solution.fc_1)) {
3926
+ if (Companion_getInstance_1().u1i().match(element_0.a3k(), solution.fc_1)) {
3877
3927
  tmp$ret$3 = element_0;
3878
3928
  break $l$block_0;
3879
3929
  }
@@ -3882,7 +3932,7 @@
3882
3932
  }
3883
3933
  // Inline function 'kotlin.also' call
3884
3934
  var this_0 = new Support(tmp$ret$3, argument);
3885
- argument.y3j_1.m(this_0.a3k_1);
3935
+ argument.z3j_1.m(this_0.c3k_1);
3886
3936
  return this_0;
3887
3937
  };
3888
3938
  }
@@ -3926,30 +3976,16 @@
3926
3976
  function labels$checkFunctor$lambda$lambda(it) {
3927
3977
  return it.d1u();
3928
3978
  }
3929
- function labels$checkFunctor$lambda$lambda_0($arguments, $this_logicProgramming, $functor) {
3930
- return function (res) {
3931
- var tmp0 = $arguments;
3932
- var tmp$ret$1;
3933
- $l$block: {
3934
- // Inline function 'kotlin.collections.first' call
3935
- var _iterator__ex2g4s = tmp0.p();
3936
- while (_iterator__ex2g4s.s()) {
3937
- var element = _iterator__ex2g4s.t();
3938
- if (Companion_getInstance_1().u1i().match(element.z3j(), ensureNotNull(res.v1s().h2($this_logicProgramming.d1g())))) {
3939
- tmp$ret$1 = element;
3940
- break $l$block;
3941
- }
3942
- }
3943
- throw NoSuchElementException_init_$Create$('Collection contains no element matching the predicate.');
3944
- }
3945
- return new LabelledArgument(tmp$ret$1, $functor);
3979
+ function labels$checkFunctor$lambda$lambda_0($this_logicProgramming, $functor) {
3980
+ return function (it) {
3981
+ return to(ensureNotNull(it.v1s().h2($this_logicProgramming.d1g())), $functor);
3946
3982
  };
3947
3983
  }
3948
- function labels$checkFunctor$lambda($this_labels, $context, $functor, $arguments) {
3984
+ function labels$checkFunctor$lambda($this_labels, $context, $functor) {
3949
3985
  return function ($this$logicProgramming) {
3950
3986
  var tmp = $this_labels.solve($this$logicProgramming.stringInvoke('context_check', $context, [$this$logicProgramming.stringInvoke($functor, $this$logicProgramming.d1g(), [])]));
3951
3987
  var tmp_0 = filter(tmp, labels$checkFunctor$lambda$lambda);
3952
- return toList(map(tmp_0, labels$checkFunctor$lambda$lambda_0($arguments, $this$logicProgramming, $functor)));
3988
+ return toList(map(tmp_0, labels$checkFunctor$lambda$lambda_0($this$logicProgramming, $functor)));
3953
3989
  };
3954
3990
  }
3955
3991
  function of$termAsList(t) {
@@ -3998,7 +4034,7 @@
3998
4034
  }
3999
4035
  function Companion_3() {
4000
4036
  }
4001
- protoOf(Companion_3).o3j = function (term) {
4037
+ protoOf(Companion_3).b3k = function (term) {
4002
4038
  // Inline function 'kotlin.let' call
4003
4039
  var it = of$termAsList(term);
4004
4040
  return new Argument(of$argRules(it), of$argTopRule(it), of$argConclusion(it), of$argGroundings(it), of$argDefeasibleRules(it), of$argDefeasiblePremises(it), of$argLastDefeasibleRules(it), term);
@@ -4013,44 +4049,44 @@
4013
4049
  defeasiblePremises = defeasiblePremises === VOID ? emptyList() : defeasiblePremises;
4014
4050
  lastDefeasibleRules = lastDefeasibleRules === VOID ? emptyList() : lastDefeasibleRules;
4015
4051
  term = term === VOID ? null : term;
4016
- this.p3j_1 = rules;
4017
- this.q3j_1 = topRule;
4018
- this.r3j_1 = conclusion;
4019
- this.s3j_1 = groundings;
4020
- this.t3j_1 = defeasibleRules;
4021
- this.u3j_1 = defeasiblePremises;
4022
- this.v3j_1 = lastDefeasibleRules;
4023
- this.w3j_1 = term;
4024
- this.x3j_1 = '';
4052
+ this.q3j_1 = rules;
4053
+ this.r3j_1 = topRule;
4054
+ this.s3j_1 = conclusion;
4055
+ this.t3j_1 = groundings;
4056
+ this.u3j_1 = defeasibleRules;
4057
+ this.v3j_1 = defeasiblePremises;
4058
+ this.w3j_1 = lastDefeasibleRules;
4059
+ this.x3j_1 = term;
4060
+ this.y3j_1 = '';
4025
4061
  var tmp = this;
4026
4062
  // Inline function 'kotlin.collections.mutableListOf' call
4027
- tmp.y3j_1 = ArrayList_init_$Create$_0();
4063
+ tmp.z3j_1 = ArrayList_init_$Create$_0();
4028
4064
  }
4029
4065
  protoOf(Argument).hashCode = function () {
4030
4066
  // Inline function 'kotlin.hashCode' call
4031
- var tmp0_safe_receiver = this.w3j_1;
4067
+ var tmp0_safe_receiver = this.x3j_1;
4032
4068
  var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
4033
4069
  return tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
4034
4070
  };
4035
- protoOf(Argument).c3k = function () {
4036
- var tmp = this.x3j_1 + ' : ';
4071
+ protoOf(Argument).e3k = function () {
4072
+ var tmp = this.y3j_1 + ' : ';
4037
4073
  var tmp_0;
4038
- if (this.q3j_1 === 'none') {
4039
- var tmp0_elvis_lhs = firstOrNull_0(this.p3j_1);
4074
+ if (this.r3j_1 === 'none') {
4075
+ var tmp0_elvis_lhs = firstOrNull_0(this.q3j_1);
4040
4076
  tmp_0 = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
4041
4077
  } else {
4042
4078
  // Inline function 'kotlin.collections.map' call
4043
- var this_0 = this.y3j_1;
4079
+ var this_0 = this.z3j_1;
4044
4080
  // Inline function 'kotlin.collections.mapTo' call
4045
4081
  var destination = ArrayList_init_$Create$(collectionSizeOrDefault(this_0, 10));
4046
4082
  var _iterator__ex2g4s = this_0.p();
4047
4083
  while (_iterator__ex2g4s.s()) {
4048
4084
  var item = _iterator__ex2g4s.t();
4049
- var tmp$ret$0 = item.x3j_1;
4085
+ var tmp$ret$0 = item.y3j_1;
4050
4086
  destination.m(tmp$ret$0);
4051
4087
  }
4052
4088
  // Inline function 'kotlin.collections.reduce' call
4053
- var iterator = plus_1(destination, this.q3j_1).p();
4089
+ var iterator = plus_1(destination, this.r3j_1).p();
4054
4090
  if (!iterator.s())
4055
4091
  throw UnsupportedOperationException_init_$Create$("Empty collection can't be reduced.");
4056
4092
  var accumulator = iterator.t();
@@ -4059,27 +4095,25 @@
4059
4095
  }
4060
4096
  tmp_0 = accumulator;
4061
4097
  }
4062
- return tmp + tmp_0 + ' : ' + this.r3j_1;
4098
+ return tmp + tmp_0 + ' : ' + this.s3j_1;
4063
4099
  };
4064
- protoOf(Argument).z3j = function () {
4065
- var tmp0_elvis_lhs = this.w3j_1;
4066
- return tmp0_elvis_lhs == null ? parseStruct(Companion_getInstance_7(), '[' + toString(this.p3j_1) + ', ' + this.q3j_1 + ', [' + this.r3j_1 + '], ' + toString(this.s3j_1) + ', [' + toString(this.v3j_1) + ', ' + toString(this.t3j_1) + ', ' + toString(this.u3j_1) + ']]') : tmp0_elvis_lhs;
4100
+ protoOf(Argument).a3k = function () {
4101
+ var tmp0_elvis_lhs = this.x3j_1;
4102
+ return tmp0_elvis_lhs == null ? parseStruct(Companion_getInstance_7(), '[' + toString(this.q3j_1) + ', ' + this.r3j_1 + ', [' + this.s3j_1 + '], ' + toString(this.t3j_1) + ', [' + toString(this.w3j_1) + ', ' + toString(this.u3j_1) + ', ' + toString(this.v3j_1) + ']]') : tmp0_elvis_lhs;
4067
4103
  };
4068
4104
  protoOf(Argument).toString = function () {
4069
- return 'argument(' + this.z3j().toString() + ')';
4105
+ return 'argument(' + this.a3k().toString() + ')';
4070
4106
  };
4071
4107
  protoOf(Argument).equals = function (other) {
4072
4108
  if (this === other)
4073
4109
  return true;
4074
4110
  if (!(other instanceof Argument))
4075
4111
  return false;
4076
- if (!equals(this.p3j_1, other.p3j_1))
4077
- return false;
4078
- if (!(this.q3j_1 === other.q3j_1))
4112
+ if (!equals(this.q3j_1, other.q3j_1))
4079
4113
  return false;
4080
4114
  if (!(this.r3j_1 === other.r3j_1))
4081
4115
  return false;
4082
- if (!equals(this.s3j_1, other.s3j_1))
4116
+ if (!(this.s3j_1 === other.s3j_1))
4083
4117
  return false;
4084
4118
  if (!equals(this.t3j_1, other.t3j_1))
4085
4119
  return false;
@@ -4089,6 +4123,8 @@
4089
4123
  return false;
4090
4124
  if (!equals(this.w3j_1, other.w3j_1))
4091
4125
  return false;
4126
+ if (!equals(this.x3j_1, other.x3j_1))
4127
+ return false;
4092
4128
  return true;
4093
4129
  };
4094
4130
  function toString$parse(x) {
@@ -4097,23 +4133,23 @@
4097
4133
  function Attack(attacker, target, type, on) {
4098
4134
  type = type === VOID ? null : type;
4099
4135
  on = on === VOID ? null : on;
4100
- this.d3k_1 = attacker;
4101
- this.e3k_1 = target;
4102
- this.f3k_1 = type;
4103
- this.g3k_1 = on;
4136
+ this.f3k_1 = attacker;
4137
+ this.g3k_1 = target;
4138
+ this.h3k_1 = type;
4139
+ this.i3k_1 = on;
4104
4140
  }
4105
4141
  protoOf(Attack).toString = function () {
4106
- var tmp = toString(toString$parse(this.f3k_1));
4107
- var tmp_0 = this.d3k_1.z3j().toString();
4108
- var tmp_1 = this.e3k_1.z3j().toString();
4109
- var tmp0_safe_receiver = this.g3k_1;
4110
- return 'attack(' + tmp + ', ' + tmp_0 + ', ' + tmp_1 + ', ' + toString(toString$parse(tmp0_safe_receiver == null ? null : tmp0_safe_receiver.z3j())) + ')';
4142
+ var tmp = toString(toString$parse(this.h3k_1));
4143
+ var tmp_0 = this.f3k_1.a3k().toString();
4144
+ var tmp_1 = this.g3k_1.a3k().toString();
4145
+ var tmp0_safe_receiver = this.i3k_1;
4146
+ return 'attack(' + tmp + ', ' + tmp_0 + ', ' + tmp_1 + ', ' + toString(toString$parse(tmp0_safe_receiver == null ? null : tmp0_safe_receiver.a3k())) + ')';
4111
4147
  };
4112
4148
  protoOf(Attack).hashCode = function () {
4113
- var result = this.d3k_1.hashCode();
4114
- result = imul(result, 31) + this.e3k_1.hashCode() | 0;
4115
- result = imul(result, 31) + (this.f3k_1 == null ? 0 : getStringHashCode(this.f3k_1)) | 0;
4116
- result = imul(result, 31) + (this.g3k_1 == null ? 0 : this.g3k_1.hashCode()) | 0;
4149
+ var result = this.f3k_1.hashCode();
4150
+ result = imul(result, 31) + this.g3k_1.hashCode() | 0;
4151
+ result = imul(result, 31) + (this.h3k_1 == null ? 0 : getStringHashCode(this.h3k_1)) | 0;
4152
+ result = imul(result, 31) + (this.i3k_1 == null ? 0 : this.i3k_1.hashCode()) | 0;
4117
4153
  return result;
4118
4154
  };
4119
4155
  protoOf(Attack).equals = function (other) {
@@ -4121,31 +4157,31 @@
4121
4157
  return true;
4122
4158
  if (!(other instanceof Attack))
4123
4159
  return false;
4124
- if (!this.d3k_1.equals(other.d3k_1))
4160
+ if (!this.f3k_1.equals(other.f3k_1))
4125
4161
  return false;
4126
- if (!this.e3k_1.equals(other.e3k_1))
4162
+ if (!this.g3k_1.equals(other.g3k_1))
4127
4163
  return false;
4128
- if (!(this.f3k_1 == other.f3k_1))
4164
+ if (!(this.h3k_1 == other.h3k_1))
4129
4165
  return false;
4130
- if (!equals(this.g3k_1, other.g3k_1))
4166
+ if (!equals(this.i3k_1, other.i3k_1))
4131
4167
  return false;
4132
4168
  return true;
4133
4169
  };
4134
4170
  function Companion_4() {
4135
4171
  }
4136
- protoOf(Companion_4).n3j = function (labellings, attacks, supports) {
4172
+ protoOf(Companion_4).p3j = function (labellings, attacks, supports) {
4137
4173
  // Inline function 'kotlin.collections.map' call
4138
4174
  // Inline function 'kotlin.collections.mapTo' call
4139
4175
  var destination = ArrayList_init_$Create$(collectionSizeOrDefault(labellings, 10));
4140
4176
  var _iterator__ex2g4s = labellings.p();
4141
4177
  while (_iterator__ex2g4s.s()) {
4142
4178
  var item = _iterator__ex2g4s.t();
4143
- var tmp$ret$0 = item.h3k_1;
4179
+ var tmp$ret$0 = item.j3k_1;
4144
4180
  destination.m(tmp$ret$0);
4145
4181
  }
4146
4182
  // Inline function 'kotlin.also' call
4147
4183
  var this_0 = new Graph(destination, attacks, supports);
4148
- this_0.m3k_1 = labellings;
4184
+ this_0.o3k_1 = labellings;
4149
4185
  return this_0;
4150
4186
  };
4151
4187
  var Companion_instance_12;
@@ -4153,18 +4189,18 @@
4153
4189
  return Companion_instance_12;
4154
4190
  }
4155
4191
  function Graph(arguments_0, attacks, supports) {
4156
- this.j3k_1 = arguments_0;
4157
- this.k3k_1 = attacks;
4158
- this.l3k_1 = supports;
4159
- this.m3k_1 = emptyList();
4192
+ this.l3k_1 = arguments_0;
4193
+ this.m3k_1 = attacks;
4194
+ this.n3k_1 = supports;
4195
+ this.o3k_1 = emptyList();
4160
4196
  }
4161
4197
  protoOf(Graph).toString = function () {
4162
- return 'Graph(arguments=' + toString(this.j3k_1) + ', attacks=' + toString(this.k3k_1) + ', supports=' + toString(this.l3k_1) + ')';
4198
+ return 'Graph(arguments=' + toString(this.l3k_1) + ', attacks=' + toString(this.m3k_1) + ', supports=' + toString(this.n3k_1) + ')';
4163
4199
  };
4164
4200
  protoOf(Graph).hashCode = function () {
4165
- var result = hashCode(this.j3k_1);
4166
- result = imul(result, 31) + hashCode(this.k3k_1) | 0;
4167
- result = imul(result, 31) + hashCode(this.l3k_1) | 0;
4201
+ var result = hashCode(this.l3k_1);
4202
+ result = imul(result, 31) + hashCode(this.m3k_1) | 0;
4203
+ result = imul(result, 31) + hashCode(this.n3k_1) | 0;
4168
4204
  return result;
4169
4205
  };
4170
4206
  protoOf(Graph).equals = function (other) {
@@ -4172,24 +4208,24 @@
4172
4208
  return true;
4173
4209
  if (!(other instanceof Graph))
4174
4210
  return false;
4175
- if (!equals(this.j3k_1, other.j3k_1))
4211
+ if (!equals(this.l3k_1, other.l3k_1))
4176
4212
  return false;
4177
- if (!equals(this.k3k_1, other.k3k_1))
4213
+ if (!equals(this.m3k_1, other.m3k_1))
4178
4214
  return false;
4179
- if (!equals(this.l3k_1, other.l3k_1))
4215
+ if (!equals(this.n3k_1, other.n3k_1))
4180
4216
  return false;
4181
4217
  return true;
4182
4218
  };
4183
4219
  function LabelledArgument(argument, label) {
4184
- this.h3k_1 = argument;
4185
- this.i3k_1 = label;
4220
+ this.j3k_1 = argument;
4221
+ this.k3k_1 = label;
4186
4222
  }
4187
4223
  protoOf(LabelledArgument).toString = function () {
4188
- return this.i3k_1 + '(' + this.h3k_1.z3j().toString() + ')';
4224
+ return this.k3k_1 + '(' + this.j3k_1.a3k().toString() + ')';
4189
4225
  };
4190
4226
  protoOf(LabelledArgument).hashCode = function () {
4191
- var result = this.h3k_1.hashCode();
4192
- result = imul(result, 31) + getStringHashCode(this.i3k_1) | 0;
4227
+ var result = this.j3k_1.hashCode();
4228
+ result = imul(result, 31) + getStringHashCode(this.k3k_1) | 0;
4193
4229
  return result;
4194
4230
  };
4195
4231
  protoOf(LabelledArgument).equals = function (other) {
@@ -4197,22 +4233,22 @@
4197
4233
  return true;
4198
4234
  if (!(other instanceof LabelledArgument))
4199
4235
  return false;
4200
- if (!this.h3k_1.equals(other.h3k_1))
4236
+ if (!this.j3k_1.equals(other.j3k_1))
4201
4237
  return false;
4202
- if (!(this.i3k_1 === other.i3k_1))
4238
+ if (!(this.k3k_1 === other.k3k_1))
4203
4239
  return false;
4204
4240
  return true;
4205
4241
  };
4206
4242
  function Support(supporter, supported) {
4207
- this.a3k_1 = supporter;
4208
- this.b3k_1 = supported;
4243
+ this.c3k_1 = supporter;
4244
+ this.d3k_1 = supported;
4209
4245
  }
4210
4246
  protoOf(Support).toString = function () {
4211
- return 'support(' + this.a3k_1.z3j().toString() + ', ' + this.b3k_1.z3j().toString() + ')';
4247
+ return 'support(' + this.c3k_1.a3k().toString() + ', ' + this.d3k_1.a3k().toString() + ')';
4212
4248
  };
4213
4249
  protoOf(Support).hashCode = function () {
4214
- var result = this.a3k_1.hashCode();
4215
- result = imul(result, 31) + this.b3k_1.hashCode() | 0;
4250
+ var result = this.c3k_1.hashCode();
4251
+ result = imul(result, 31) + this.d3k_1.hashCode() | 0;
4216
4252
  return result;
4217
4253
  };
4218
4254
  protoOf(Support).equals = function (other) {
@@ -4220,9 +4256,9 @@
4220
4256
  return true;
4221
4257
  if (!(other instanceof Support))
4222
4258
  return false;
4223
- if (!this.a3k_1.equals(other.a3k_1))
4259
+ if (!this.c3k_1.equals(other.c3k_1))
4224
4260
  return false;
4225
- if (!this.b3k_1.equals(other.b3k_1))
4261
+ if (!this.d3k_1.equals(other.d3k_1))
4226
4262
  return false;
4227
4263
  return true;
4228
4264
  };
@@ -4231,7 +4267,7 @@
4231
4267
  EngineInterfaceBase.call(this);
4232
4268
  }
4233
4269
  protoOf(EngineInterface).b3a = function () {
4234
- return ArgumentationEngineInterface_instance.q3k_1;
4270
+ return ArgumentationEngineInterface_instance.s3k_1;
4235
4271
  };
4236
4272
  var EngineInterface_instance;
4237
4273
  function EngineInterface_getInstance() {
@@ -4244,7 +4280,7 @@
4244
4280
  AbstractModeBase.call(this);
4245
4281
  }
4246
4282
  protoOf(AbstractMode).b3a = function () {
4247
- return AbstractMode_instance_0.u3k_1;
4283
+ return AbstractMode_instance_0.w3k_1;
4248
4284
  };
4249
4285
  var AbstractMode_instance;
4250
4286
  function AbstractMode_getInstance() {
@@ -4257,7 +4293,7 @@
4257
4293
  ArgumentationGraphBuilderBase.call(this);
4258
4294
  }
4259
4295
  protoOf(ArgumentationGraphBuilder).b3a = function () {
4260
- return ArgumentationGraph_instance.y3k_1;
4296
+ return ArgumentationGraph_instance.a3l_1;
4261
4297
  };
4262
4298
  var ArgumentationGraphBuilder_instance;
4263
4299
  function ArgumentationGraphBuilder_getInstance() {
@@ -4270,7 +4306,7 @@
4270
4306
  AttackRestrictionHandlerBase.call(this);
4271
4307
  }
4272
4308
  protoOf(AttackRestrictionHandler).b3a = function () {
4273
- return AttackRestriction_instance.c3l_1;
4309
+ return AttackRestriction_instance.e3l_1;
4274
4310
  };
4275
4311
  var AttackRestrictionHandler_instance;
4276
4312
  function AttackRestrictionHandler_getInstance() {
@@ -4283,7 +4319,7 @@
4283
4319
  BpMetaGraphHandlerBase.call(this);
4284
4320
  }
4285
4321
  protoOf(BpMetaGraphHandler).b3a = function () {
4286
- return Bp_instance.g3l_1;
4322
+ return Bp_instance.i3l_1;
4287
4323
  };
4288
4324
  var BpMetaGraphHandler_instance;
4289
4325
  function BpMetaGraphHandler_getInstance() {
@@ -4296,7 +4332,7 @@
4296
4332
  DefeasiblePreferencesHandlerBase.call(this);
4297
4333
  }
4298
4334
  protoOf(DefeasiblePreferencesHandler).b3a = function () {
4299
- return DefPreferences_instance.k3l_1;
4335
+ return DefPreferences_instance.m3l_1;
4300
4336
  };
4301
4337
  var DefeasiblePreferencesHandler_instance;
4302
4338
  function DefeasiblePreferencesHandler_getInstance() {
@@ -4309,7 +4345,7 @@
4309
4345
  GenericDefeasiblePreferencesHandlerBase.call(this);
4310
4346
  }
4311
4347
  protoOf(GenericDefeasiblePreferencesHandler).b3a = function () {
4312
- return GenericDefPreferences_instance.o3l_1;
4348
+ return GenericDefPreferences_instance.q3l_1;
4313
4349
  };
4314
4350
  var GenericDefeasiblePreferencesHandler_instance;
4315
4351
  function GenericDefeasiblePreferencesHandler_getInstance() {
@@ -4322,7 +4358,7 @@
4322
4358
  StrictPreferencesHandlerBase.call(this);
4323
4359
  }
4324
4360
  protoOf(StrictPreferencesHandler).b3a = function () {
4325
- return Preferences_instance.s3l_1;
4361
+ return Preferences_instance.u3l_1;
4326
4362
  };
4327
4363
  var StrictPreferencesHandler_instance;
4328
4364
  function StrictPreferencesHandler_getInstance() {
@@ -4335,7 +4371,7 @@
4335
4371
  BpCompleteLabellerBase.call(this);
4336
4372
  }
4337
4373
  protoOf(BpCompleteLabeller).b3a = function () {
4338
- return BpGroundedComplete_instance.w3l_1;
4374
+ return BpGroundedComplete_instance.y3l_1;
4339
4375
  };
4340
4376
  var BpCompleteLabeller_instance;
4341
4377
  function BpCompleteLabeller_getInstance() {
@@ -4348,7 +4384,7 @@
4348
4384
  BpLabellerBase.call(this);
4349
4385
  }
4350
4386
  protoOf(BpLabeller).b3a = function () {
4351
- return BpGrounded_instance.a3m_1;
4387
+ return BpGrounded_instance.c3m_1;
4352
4388
  };
4353
4389
  var BpLabeller_instance;
4354
4390
  function BpLabeller_getInstance() {
@@ -4361,7 +4397,7 @@
4361
4397
  BpPartialLabellerBase.call(this);
4362
4398
  }
4363
4399
  protoOf(BpPartialLabeller).b3a = function () {
4364
- return BpGroundedPartial_instance.e3m_1;
4400
+ return BpGroundedPartial_instance.g3m_1;
4365
4401
  };
4366
4402
  var BpPartialLabeller_instance;
4367
4403
  function BpPartialLabeller_getInstance() {
@@ -4374,7 +4410,7 @@
4374
4410
  CompleteLabellerBase.call(this);
4375
4411
  }
4376
4412
  protoOf(CompleteLabeller).b3a = function () {
4377
- return Complete_instance.i3m_1;
4413
+ return Complete_instance.k3m_1;
4378
4414
  };
4379
4415
  var CompleteLabeller_instance;
4380
4416
  function CompleteLabeller_getInstance() {
@@ -4387,7 +4423,7 @@
4387
4423
  GroundedLabellerBase.call(this);
4388
4424
  }
4389
4425
  protoOf(GroundedLabeller).b3a = function () {
4390
- return Grounded_instance.m3m_1;
4426
+ return Grounded_instance.o3m_1;
4391
4427
  };
4392
4428
  var GroundedLabeller_instance;
4393
4429
  function GroundedLabeller_getInstance() {
@@ -4400,7 +4436,7 @@
4400
4436
  GroundedLabellerOptimizedBase.call(this);
4401
4437
  }
4402
4438
  protoOf(GroundedLabellerOptimized).b3a = function () {
4403
- return GroundedOptimized_instance.q3m_1;
4439
+ return GroundedOptimized_instance.s3m_1;
4404
4440
  };
4405
4441
  var GroundedLabellerOptimized_instance;
4406
4442
  function GroundedLabellerOptimized_getInstance() {
@@ -4413,7 +4449,7 @@
4413
4449
  StatementLabellerBase.call(this);
4414
4450
  }
4415
4451
  protoOf(StatementLabeller).b3a = function () {
4416
- return StatementLabelling_instance.u3m_1;
4452
+ return StatementLabelling_instance.w3m_1;
4417
4453
  };
4418
4454
  var StatementLabeller_instance;
4419
4455
  function StatementLabeller_getInstance() {
@@ -4426,7 +4462,7 @@
4426
4462
  RuleParserBase.call(this);
4427
4463
  }
4428
4464
  protoOf(RuleParser).b3a = function () {
4429
- return RuleTranslator_instance.y3m_1;
4465
+ return RuleTranslator_instance.a3n_1;
4430
4466
  };
4431
4467
  var RuleParser_instance;
4432
4468
  function RuleParser_getInstance() {
@@ -4435,147 +4471,147 @@
4435
4471
  return RuleParser_instance;
4436
4472
  }
4437
4473
  function AbstractMode_0() {
4438
- this.u3k_1 = 'computeGlobalAcceptance :-\n buildGraph,\n modifyGraph,\n buildArgumentLabelling,\n buildStatementLabelling.\ncomputeGlobalAcceptance([Arguments, Attacks, Supports], [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]) :-\n computeGlobalAcceptance,\n utils::recoverGraph(Arguments, Attacks, Supports),\n utils::recoverArgumentLabelling(ArgsIn, ArgsOut, ArgsUnd),\n utils::recoverStatementLabelling(StatIn, StatOut, StatUnd).\nbuildGraph :-\n graphBuildMode(X),\n X:::buildArgumentationGraph.\nmodifyGraph :-\n findall(X, graphExtension(X), Ext),\n modifyGraph(Ext).\nmodifyGraph([]).\nmodifyGraph([X|Ext]) :-\n modifyGraph(Ext),\n X:::modifyArgumentationGraph.\nbuildArgumentLabelling :-\n argumentLabellingMode(X),\n X:::argumentLabelling.\nbuildStatementLabelling :-\n statementLabellingMode(X),\n X:::statementLabelling.';
4474
+ this.w3k_1 = 'computeGlobalAcceptance :-\n buildGraph,\n modifyGraph,\n buildArgumentLabelling,\n buildStatementLabelling.\ncomputeGlobalAcceptance([Arguments, Attacks, Supports], [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]) :-\n computeGlobalAcceptance,\n utils::recoverGraph(Arguments, Attacks, Supports),\n utils::recoverArgumentLabelling(ArgsIn, ArgsOut, ArgsUnd),\n utils::recoverStatementLabelling(StatIn, StatOut, StatUnd).\nbuildGraph :-\n graphBuildMode(X),\n X:::buildArgumentationGraph.\nmodifyGraph :-\n findall(X, graphExtension(X), Ext),\n modifyGraph(Ext).\nmodifyGraph([]).\nmodifyGraph([X|Ext]) :-\n modifyGraph(Ext),\n X:::modifyArgumentationGraph.\nbuildArgumentLabelling :-\n argumentLabellingMode(X),\n X:::argumentLabelling.\nbuildStatementLabelling :-\n statementLabellingMode(X),\n X:::statementLabelling.';
4439
4475
  }
4440
4476
  var AbstractMode_instance_0;
4441
4477
  function AbstractMode_getInstance_0() {
4442
4478
  return AbstractMode_instance_0;
4443
4479
  }
4444
4480
  function ArgumentationEngineInterface() {
4445
- this.q3k_1 = 'argTuProlog.\nbuildLabelSets([StatIn, StatOut, StatUnd], [ArgsIn, ArgsOut, ArgsUnd]) :-\n context_reset,\n parser:::convertAllRules(_),\n abstract::computeGlobalAcceptance(_, [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]).\nbuildLabelSets(StatIn, StatOut, StatUnd) :-\n buildLabelSets([StatIn, StatOut, StatUnd], _).\nbuildLabelSets :-\n context_reset,\n parser:::convertAllRules(ArgRules),\n abstract::computeGlobalAcceptance([Arguments, Attacks, Supports], [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]),\n debug::printArgumentationGraph(Arguments, Attacks, Supports),\n debug::printArgumentLabelling([ArgsIn, ArgsOut, ArgsUnd]),\n debug::printStatementLabelling([StatIn, StatOut, StatUnd]).\nanswerQuery(Goal, Yes, No, Und) :-\n context_reset,\n parser:::convertAllRules(_),\n structured:::computeStatementAcceptance(Goal, Yes, No, Und).\nanswerQuery(Goal, Res) :-\n context_reset,\n parser:::convertAllRules(_),\n structured:::query(Goal, Res).\nbuildLabelSetsSilent :-\n context_reset,\n parser:::convertAllRules(ArgRules),\n abstract::computeGlobalAcceptance.';
4481
+ this.s3k_1 = 'argTuProlog.\nsolve :- buildLabelSetsSilent.\nsolve(Query) :- answerQuery(Query).\nsolve(Query, Res) :- answerQuery(Query, Res).\nbuildLabelSets([StatIn, StatOut, StatUnd], [ArgsIn, ArgsOut, ArgsUnd]) :-\n context_reset,\n parser:::convertAllRules(_),\n abstract::computeGlobalAcceptance(_, [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]).\nbuildLabelSets(StatIn, StatOut, StatUnd) :-\n buildLabelSets([StatIn, StatOut, StatUnd], _).\nbuildLabelSets :-\n context_reset,\n parser:::convertAllRules(ArgRules),\n abstract::computeGlobalAcceptance([Arguments, Attacks, Supports], [ArgsIn, ArgsOut, ArgsUnd], [StatIn, StatOut, StatUnd]),\n debug::printArgumentationGraph(Arguments, Attacks, Supports),\n debug::printArgumentLabelling([ArgsIn, ArgsOut, ArgsUnd]),\n debug::printStatementLabelling([StatIn, StatOut, StatUnd]).\nanswerQuery(Goal, Yes, No, Und) :-\n context_reset,\n parser:::convertAllRules(_),\n structured:::computeStatementAcceptance(Goal, Yes, No, Und).\nanswerQuery(Goal, Res) :-\n context_reset,\n parser:::convertAllRules(_),\n structured:::computeStatementAcceptance(Goal, Res).\nanswerQuery(Goal) :-\n context_reset,\n parser:::convertAllRules(_),\n structured:::computeStatementAcceptance(Goal).\nbuildLabelSetsSilent :-\n context_reset,\n parser:::convertAllRules(ArgRules),\n abstract::computeGlobalAcceptance.';
4446
4482
  }
4447
4483
  var ArgumentationEngineInterface_instance;
4448
4484
  function ArgumentationEngineInterface_getInstance() {
4449
4485
  return ArgumentationEngineInterface_instance;
4450
4486
  }
4451
4487
  function ArgumentationGraph() {
4452
- this.y3k_1 = 'buildArgumentationGraph :-\n buildArguments,\n findall(_, buildAdditionalArgument, _),\n buildAttacks.\nbuildAdditionalArgument :-\n metaConflicts,\n conf_arg(A, CArg),\n context_check(clause(conc(A), argument([R, T, C, B, I]))),\n \\+ filter_meta([R, T, C, B, I]),\n saveArgument(a, A, [[mc|R], T, C, B, I]),\n saveSupport(CArg, [[mc|R], T, C, B, I]),\n cloneSupport([R, T, C, B, I], [[mc|R], T, C, B, I]),\n fail.\nbuildAdditionalArgument.\ncloneSupport(Original, New) :-\n findall(_, (\n context_check(support(S, Original)),\n saveSupport(S, New)\n ), _).\nconf_arg([A], Arg) :-\n context_check(clause(conc([conflict(A, _, _)]), argument(Arg))).\nconf_arg([A], Arg) :-\n context_check(clause(conc([conflict(A, _)]), argument(Arg))).\nfilter_meta([Id, _, _, _, _]) :- metaConflicts, member(mc, Id).\nfilter_meta(_) :- \\+ metaConflicts.\nbuildArguments :-\n\tbuildArgumentsFromPremises,\n\tbuildArgumentsFromEmptyRules,\n\tfindall([RuleID, RuleBody, RuleHead], (\n\t parser::classic_rule(RuleID, RuleBody, RuleHead),\n\t \\+ emptyRule([RuleID, RuleBody, RuleHead])\n ), Rules),\n findall(X, context_check(newConc(a, [X])), N),\n\tbuildArgumentsFromRules(N, b, Rules, Rules, n).\nbuildArgumentsFromPremises :-\n findall(\n _,\n (\n parser::classic_rule(PremiseID, Premise),\n checkStrict(PremiseID, DefPrem),\n saveArgument(a, Premise, [[PremiseID], none, Premise, [], [[], [], DefPrem]])\n ),\n _\n ).\nbuildArgumentsFromEmptyRules :-\n findall(\n _,\n (\n emptyRule([RuleID, RulePrem, RuleHead]),\n checkStrict(RuleID, DefRule),\n saveArgument(a, RuleHead, [[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])\n ),\n _\n ).\nemptyRule([RuleID, Body, RuleHead]) :-\n parser::classic_rule(RuleID, Body, RuleHead),\n \\+ (member(X, Body), X \\= ~(_), X \\= prolog(_)),\n ruleBodyIsSupported(RuleID, RuleHead, Body, Body, [[], [], [], []], _).\ncheckStrict(Id, []) :- parser::check_strict(Id), !.\ncheckStrict(Id, [Id]).\nbuildArgumentsFromRules(_, _, Rules, [], n) :- !.\nbuildArgumentsFromRules(_, Tn, Rules, [], y) :- !, clean(Tn, Rules).\nbuildArgumentsFromRules(N, Tn, Rules, [[Id, Body, Conc]|T], _) :-\n utils::contains_any(Body, N),\n findall(true, buildArgumentsFromRule(Tn, [Id, Body, Conc]), R),\n R \\== [],\n buildArgumentsFromRules(N, Tn, Rules, T, y), !.\nbuildArgumentsFromRules(N, Tn, Rules, [_|T], X) :-\n buildArgumentsFromRules(N, Tn, Rules, T, X).\nbuildArgumentsFromRule(Tn, [RuleID, RuleBody, RuleHead]) :-\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, RuleBody, [[], [], [], []], Argument),\n\tsaveArgument(Tn, RuleHead, Argument).\nclean(Tn, Rules) :-\n invert(Tn, Tx),\n context_retract(newConc(Tx, _)),\n findall(X, context_check(newConc(Tn, [X])), N),\n buildArgumentsFromRules(N, Tx, Rules, Rules, n).\ninvert(a, b).\ninvert(b, a).\ndefRules(Id, Def, Def) :- parser::check_strict(Id), !.\ndefRules(Id, Def, [Id|Def]).\nlastDefRules(Id, LDef, LDef) :- parser::check_strict(Id), !.\nlastDefRules(Id, LDef, [Id]) :- Id \\== none, \\+ parser::check_strict(Id).\nargumentInfo(RuleId, LDef, Def, Prem, [FLDef, FDef, FPrem]) :-\n utils::sortDistinct(Prem, FPrem),\n defRules(RuleId, Def, NDef),\n utils::sortDistinct(NDef, FDef),\n lastDefRules(RuleId, LDef, NLDef),\n utils::sortDistinct(NLDef, FLDef).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [], [TAll, TLDef, TDef, TPrem], Argument) :-\n utils::appendLists(TAll, All),\n \\+ utils::contains(RuleID, All),\n utils::appendLists(TLDef, LDef),\n utils::appendLists(TDef, Def),\n utils::appendLists(TPrem, Prem),\n argumentInfo(RuleID, LDef, Def, Prem, Info),\n utils::sort([RuleID|All], Rules),\n Argument = [Rules, RuleID, RuleHead, RuleBody, Info],\n \\+ context_check(clause(conc(RuleHead), argument(Argument))).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [~(_)|Others], Info, Argument) :-\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [prolog(Check)|Others], Info, Argument) :-\n\t(callable(Check) -> call(Check); Check),\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\nruleBodyIsSupported(RuleId, RuleHead, RuleBody, [Statement|Others], [All, LDef, Def, Prem], Argument) :-\n context_check(clause(conc([Statement]), argument([ArgumentID, RuleID, [Statement], Body, [NLDef, NDef, NPrem]]))),\n\truleBodyIsSupported(RuleId, RuleHead, RuleBody, Others, [[ArgumentID|All], [NLDef|LDef], [NDef|Def], [NPrem|Prem]], Argument),\n\tsaveSupport([ArgumentID, RuleID, [Statement], Body, [NLDef, NDef, NPrem]], Argument).\nbuildAttacks :-\n\tfindall(_, buildDirectAttack, _).\nbuildDirectAttack :-\n context_check(argument(A)),\n attack::findPossibleAttackers(A, BB),\n\tcontext_check(clause(conc(BB), argument(B))),\n\tfilter_meta(B),\n\tA \\== B,\n attack::attacks(T, B, A),\n saveAttack(T, B, A, A),\n findall(_, (\n expanded_support(A, C),\n saveAttack(T, B, C, A)\n ),_),\n\tfail.\nbuildDirectAttack.\nexpanded_support(A, B) :-\n context_check(support(A, B)).\nexpanded_support(A, C) :-\n context_check(support(A, B)),\n expanded_support(B, C).\nsaveArgument(T, Conclusion, Argument) :-\n \\+ context_check(clause(conc(Conclusion), argument(Argument))),\n context_assert(newConc(T, Conclusion)),\n utils::hash(argument(Argument), Id),\n context_assert(argument(Argument)),\n context_assert(conc(Conclusion) :- argument(Argument)),\n context_assert(arg(Id) :- argument(Argument)).\nsaveAttack(T, A, C, D) :-\n \\+ context_check(attack(T, A, C, D)),\n context_assert(attack(T, A, C, D)),\n utils::hash(argument(A), IdA),\n utils::hash(argument(C), IdC),\n context_assert(att(IdA, IdC) :- attack(T, A, C, D)).\nsaveSupport(A, B) :-\n \\+ context_check(support(A, B)),\n context_assert(support(A, B)).\nremoveAttack(T, A, B, C) :-\n context_retract(attack(T, A, B, C)),\n utils::hash(argument(A), IdA),\n utils::hash(argument(B), IdB),\n context_retract(att(IdA, IdB) :- attack(T, A, B, C)).';
4488
+ this.a3l_1 = 'buildArgumentationGraph :-\n buildArguments,\n findall(_, buildAdditionalArgument, _),\n buildAttacks.\nbuildAdditionalArgument :-\n metaConflicts,\n conf_arg(A, CArg),\n context_check(clause(conc(A), argument([R, T, C, B, I]))),\n \\+ filter_meta([R, T, C, B, I]),\n saveArgument(a, A, [[mc|R], T, C, B, I]),\n saveSupport(CArg, [[mc|R], T, C, B, I]),\n cloneSupport([R, T, C, B, I], [[mc|R], T, C, B, I]),\n fail.\nbuildAdditionalArgument.\ncloneSupport(Original, New) :-\n findall(_, (\n context_check(support(S, Original)),\n saveSupport(S, New)\n ), _).\nconf_arg([A], Arg) :-\n context_check(clause(conc([conflict(A, _, _)]), argument(Arg))).\nconf_arg([A], Arg) :-\n context_check(clause(conc([conflict(A, _)]), argument(Arg))).\nfilter_meta([Id, _, _, _, _]) :- metaConflicts, member(mc, Id).\nfilter_meta(_) :- \\+ metaConflicts.\nbuildArguments :-\n\tbuildArgumentsFromPremises,\n\tbuildArgumentsFromEmptyRules,\n\tfindall([RuleID, RuleBody, RuleHead], (\n\t parser::classic_rule(RuleID, RuleBody, RuleHead),\n\t \\+ emptyRule([RuleID, RuleBody, RuleHead])\n ), Rules),\n findall(X, context_check(newConc(a, [X])), N),\n\tbuildArgumentsFromRules(N, b, Rules, Rules, n).\nbuildArgumentsFromPremises :-\n findall(\n _,\n (\n parser::classic_rule(PremiseID, Premise),\n checkStrict(PremiseID, DefPrem),\n saveArgument(a, Premise, [[PremiseID], none, Premise, [], [[], [], DefPrem]])\n ),\n _\n ).\nbuildArgumentsFromEmptyRules :-\n findall(\n _,\n (\n emptyRule([RuleID, RulePrem, RuleHead]),\n checkStrict(RuleID, DefRule),\n saveArgument(a, RuleHead, [[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])\n ),\n _\n ).\nemptyRule([RuleID, Body, RuleHead]) :-\n parser::classic_rule(RuleID, Body, RuleHead),\n \\+ (member(X, Body), X \\= ~(_), X \\= prolog(_)),\n ruleBodyIsSupported(RuleID, RuleHead, Body, Body, [[], [], [], []], _).\ncheckStrict(Id, []) :- parser::check_strict(Id), !.\ncheckStrict(Id, [Id]).\nbuildArgumentsFromRules(_, _, Rules, [], n) :- !.\nbuildArgumentsFromRules(_, Tn, Rules, [], y) :- !, clean(Tn, Rules).\nbuildArgumentsFromRules(N, Tn, Rules, [[Id, Body, Conc]|T], _) :-\n utils::contains_any(Body, N),\n findall(true, buildArgumentsFromRule(Tn, [Id, Body, Conc]), R),\n R \\== [],\n buildArgumentsFromRules(N, Tn, Rules, T, y), !.\nbuildArgumentsFromRules(N, Tn, Rules, [_|T], X) :-\n buildArgumentsFromRules(N, Tn, Rules, T, X).\nbuildArgumentsFromRule(Tn, [RuleID, RuleBody, RuleHead]) :-\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, RuleBody, [[], [], [], []], Argument),\n\tsaveArgument(Tn, RuleHead, Argument).\nclean(Tn, Rules) :-\n invert(Tn, Tx),\n context_retract(newConc(Tx, _)),\n findall(X, context_check(newConc(Tn, [X])), N),\n buildArgumentsFromRules(N, Tx, Rules, Rules, n).\ninvert(a, b).\ninvert(b, a).\ndefRules(Id, Def, Def) :- parser::check_strict(Id), !.\ndefRules(Id, Def, [Id|Def]).\nlastDefRules(Id, LDef, LDef) :- parser::check_strict(Id), !.\nlastDefRules(Id, LDef, [Id]) :- Id \\== none, \\+ parser::check_strict(Id).\nargumentInfo(RuleId, LDef, Def, Prem, [FLDef, FDef, FPrem]) :-\n utils::sortDistinct(Prem, FPrem),\n defRules(RuleId, Def, NDef),\n utils::sortDistinct(NDef, FDef),\n lastDefRules(RuleId, LDef, NLDef),\n utils::sortDistinct(NLDef, FLDef).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [], [TAll, TLDef, TDef, TPrem], Argument) :-\n utils::appendLists(TAll, All),\n \\+ utils::contains(RuleID, All),\n utils::appendLists(TLDef, LDef),\n utils::appendLists(TDef, Def),\n utils::appendLists(TPrem, Prem),\n argumentInfo(RuleID, LDef, Def, Prem, Info),\n utils::sort([RuleID|All], Rules),\n Argument = [Rules, RuleID, RuleHead, RuleBody, Info],\n \\+ context_check(clause(conc(RuleHead), argument(Argument))).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [~(_)|Others], Info, Argument) :-\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\nruleBodyIsSupported(RuleID, RuleHead, RuleBody, [prolog(Check)|Others], Info, Argument) :-\n\t(callable(Check) -> call(Check); Check),\n\truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\nruleBodyIsSupported(RuleId, RuleHead, RuleBody, [Statement|Others], [All, LDef, Def, Prem], Argument) :-\n context_check(clause(conc([Statement]), argument([ArgumentID, RuleID, [Statement], Body, [NLDef, NDef, NPrem]]))),\n\truleBodyIsSupported(RuleId, RuleHead, RuleBody, Others, [[ArgumentID|All], [NLDef|LDef], [NDef|Def], [NPrem|Prem]], Argument),\n\tsaveSupport([ArgumentID, RuleID, [Statement], Body, [NLDef, NDef, NPrem]], Argument).\nbuildAttacks :-\n\tfindall(_, buildDirectAttack, _).\nbuildDirectAttack :-\n context_check(argument(A)),\n attack::findPossibleAttackers(A, BB),\n\tcontext_check(clause(conc(BB), argument(B))),\n\tfilter_meta(B),\n\tA \\== B,\n attack::attacks(T, B, A),\n saveAttack(T, B, A, A),\n findall(_, (\n expanded_support(A, C),\n saveAttack(T, B, C, A)\n ),_),\n\tfail.\nbuildDirectAttack.\nexpanded_support(A, B) :-\n context_check(support(A, B)).\nexpanded_support(A, C) :-\n context_check(support(A, B)),\n expanded_support(B, C).\nsaveArgument(T, Conclusion, Argument) :-\n \\+ context_check(clause(conc(Conclusion), argument(Argument))),\n context_assert(newConc(T, Conclusion)),\n utils::hash(argument(Argument), Id),\n context_assert(argument(Argument)),\n context_assert(conc(Conclusion) :- argument(Argument)),\n context_assert(arg(Id) :- argument(Argument)).\nsaveAttack(T, A, C, D) :-\n \\+ context_check(attack(T, A, C, D)),\n context_assert(attack(T, A, C, D)),\n utils::hash(argument(A), IdA),\n utils::hash(argument(C), IdC),\n context_assert(att(IdA, IdC) :- attack(T, A, C, D)).\nsaveSupport(A, B) :-\n \\+ context_check(support(A, B)),\n context_assert(support(A, B)).\nremoveAttack(T, A, B, C) :-\n context_retract(attack(T, A, B, C)),\n utils::hash(argument(A), IdA),\n utils::hash(argument(B), IdB),\n context_retract(att(IdA, IdB) :- attack(T, A, B, C)).';
4453
4489
  }
4454
4490
  var ArgumentationGraph_instance;
4455
4491
  function ArgumentationGraph_getInstance() {
4456
4492
  return ArgumentationGraph_instance;
4457
4493
  }
4458
4494
  function AttackRelation() {
4459
- this.z3m_1 = 'attacks(rebut, A, B) :- rebuts(A, B), !.\nattacks(contrary_rebut, A, B) :- contraryRebuts(A, B), !.\nattacks(undermine, A, B) :- undermines(A, B), !.\nattacks(contrary_undermine, A, B) :- contraryUndermines(A, B), !.\nattacks(undercut, A, B) :- undercuts(A, B), !.\nexpanded_conflict(HeadA, HeadB) :-\n parser::classic_conflict(HeadA, HeadB).\nexpanded_conflict(HeadA, HeadB) :-\n parser::classic_conflict(HeadA, HeadB, Guard),\n (callable(Guard) -> call(Guard); Guard).\nrebuts([IDPremisesA, RuleA, RuleHeadA, _, _], [IDPremisesB, RuleB, RuleHeadB, _, Info]) :-\n\tRuleB \\== none,\n Info \\== [[], [], []],\n\texpanded_conflict(RuleHeadA, RuleHeadB).\ncontraryRebuts([IDPremisesA, RuleA, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n\tRuleA \\== none,\n\tRuleB \\== none,\n\tutils::contains(~(RuleHeadA), Body).\nundermines([IDPremisesA, RuleA, RuleHeadA, _, _], [[IDPremiseB], none, RuleHeadB, _, Info]) :-\n\tInfo \\== [[], [], []],\n\texpanded_conflict(RuleHeadA, RuleHeadB).\ncontraryUndermines([IDPremisesA, none, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n\tRuleB \\== none,\n\tutils::contains(~(RuleHeadA), Body).\nundercuts([_, _, [undercut(RuleB)], _, _], [_, RuleB, _, _, [[RuleB], _, _]]).\nundercuts([_, _, NegRuleB, _, _], [_, RuleB, _, _, [[RuleB], _, _]]) :-\n expanded_conflict(NegRuleB, [RuleB]).\nfindPossibleAttackers([_, _, Head, _, _], Conf) :-\n parser::classic_conflict(Conf, Head, Guard).\nfindPossibleAttackers([_, _, Head, _, _], Conf) :-\n parser::classic_conflict(Conf, Head).\nfindPossibleAttackers([_, _, _, Prem, _], [Conf]) :-\n member(~(Conf), Prem).\nfindPossibleAttackers([_, RuleID, _, _, _], [undercut(RuleID)]).\nfindPossibleAttackers([_, RuleID, _, _, _], Conf) :-\n parser::classic_conflict(Conf, [RuleID], Guard).\nfindPossibleAttackers([_, RuleID, _, _, _], Conf) :-\n parser::classic_conflict(Conf, [RuleID]).';
4495
+ this.b3n_1 = 'attacks(rebut, A, B) :- rebuts(A, B), !.\nattacks(contrary_rebut, A, B) :- contraryRebuts(A, B), !.\nattacks(undermine, A, B) :- undermines(A, B), !.\nattacks(contrary_undermine, A, B) :- contraryUndermines(A, B), !.\nattacks(undercut, A, B) :- undercuts(A, B), !.\nexpanded_conflict(HeadA, HeadB) :-\n parser::classic_conflict(HeadA, HeadB).\nexpanded_conflict(HeadA, HeadB) :-\n parser::classic_conflict(HeadA, HeadB, Guard),\n (callable(Guard) -> call(Guard); Guard).\nrebuts([IDPremisesA, RuleA, RuleHeadA, _, _], [IDPremisesB, RuleB, RuleHeadB, _, Info]) :-\n\tRuleB \\== none,\n Info \\== [[], [], []],\n\texpanded_conflict(RuleHeadA, RuleHeadB).\ncontraryRebuts([IDPremisesA, RuleA, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n\tRuleA \\== none,\n\tRuleB \\== none,\n\tutils::contains(~(RuleHeadA), Body).\nundermines([IDPremisesA, RuleA, RuleHeadA, _, _], [[IDPremiseB], none, RuleHeadB, _, Info]) :-\n\tInfo \\== [[], [], []],\n\texpanded_conflict(RuleHeadA, RuleHeadB).\ncontraryUndermines([IDPremisesA, none, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n\tRuleB \\== none,\n\tutils::contains(~(RuleHeadA), Body).\nundercuts([_, _, [undercut(RuleB)], _, _], [_, RuleB, _, _, [[RuleB], _, _]]).\nundercuts([_, _, NegRuleB, _, _], [_, RuleB, _, _, [[RuleB], _, _]]) :-\n expanded_conflict(NegRuleB, [RuleB]).\nfindPossibleAttackers([_, _, Head, _, _], Conf) :-\n parser::classic_conflict(Conf, Head, Guard).\nfindPossibleAttackers([_, _, Head, _, _], Conf) :-\n parser::classic_conflict(Conf, Head).\nfindPossibleAttackers([_, _, _, Prem, _], [Conf]) :-\n member(~(Conf), Prem).\nfindPossibleAttackers([_, RuleID, _, _, _], [undercut(RuleID)]).\nfindPossibleAttackers([_, RuleID, _, _, _], Conf) :-\n parser::classic_conflict(Conf, [RuleID], Guard).\nfindPossibleAttackers([_, RuleID, _, _, _], Conf) :-\n parser::classic_conflict(Conf, [RuleID]).';
4460
4496
  }
4461
4497
  var AttackRelation_instance;
4462
4498
  function AttackRelation_getInstance() {
4463
4499
  return AttackRelation_instance;
4464
4500
  }
4465
4501
  function AttackRestriction() {
4466
- this.c3l_1 = 'modifyArgumentationGraph :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n checkRebutRestriction(T, A, B, C)\n ), _).\ncheckRebutRestriction(T, A, B, C) :-\n \\+ rebutRestriction(T, A, B, C),\n standard_af::removeAttack(T, A, B, C).\nrebutRestriction(rebut, _, _, C) :- restrict(C).\nrebutRestriction(undermine, _, _, C).\nrebutRestriction(contrary_rebut, _, _, _).\nrebutRestriction(contrary_undermine, _, _, _).\nrebutRestriction(undercut, _, _, _).\nrestrict([_, TopRule, _, _, [[TopRule], _, _]]) :- TopRule \\== none.';
4502
+ this.e3l_1 = 'modifyArgumentationGraph :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n checkRebutRestriction(T, A, B, C)\n ), _).\ncheckRebutRestriction(T, A, B, C) :-\n \\+ rebutRestriction(T, A, B, C),\n standard_af::removeAttack(T, A, B, C).\nrebutRestriction(rebut, _, _, C) :- restrict(C).\nrebutRestriction(undermine, _, _, C).\nrebutRestriction(contrary_rebut, _, _, _).\nrebutRestriction(contrary_undermine, _, _, _).\nrebutRestriction(undercut, _, _, _).\nrestrict([_, TopRule, _, _, [[TopRule], _, _]]) :- TopRule \\== none.';
4467
4503
  }
4468
4504
  var AttackRestriction_instance;
4469
4505
  function AttackRestriction_getInstance() {
4470
4506
  return AttackRestriction_instance;
4471
4507
  }
4472
4508
  function Bp() {
4473
- this.g3l_1 = 'modifyArgumentationGraph :-\n findall(([Rules, Top, [bp(Checked)], G, I], [Z, P, [Y], GG, II]), (\n context_check(argument([Rules, Top, [bp(Checked)], G, I])),\n member(Y, [Checked]),\n context_check(argument([Z, P, [Y], GG, II]))\n ), TemplateBpPairs),\n checkBpArguments(TemplateBpPairs).\ncheckBpArguments([]).\ncheckBpArguments(TemplateBpPairs) :-\n createBpArguments(TemplateBpPairs, BpPairs),\n createBpAttacks(BpPairs).\ncreateBpArguments([], []).\ncreateBpArguments([(Original, [Z, P, Y, B, I])|Others], [(Conflict, [Z, P, Y, B, I])|BpPairs]) :-\n Conflict = [[artificial|Z], artificial, [-burdmet(Y)], [], [[artificial], [artificial], []]],\n standard_af::saveArgument(a, [-burdmet(Y)], Conflict),\n standard_af::saveSupport(Original, Conflict),\n liftBpAttacks(Original, Conflict),\n createBpArguments(Others, BpPairs).\nliftBpAttacks(Template, BpArg) :-\n findall(_, (\n context_check(attack(T, A, Template, O)),\n standard_af::saveAttack(T, A, BpArg, O)\n ), _).\ncreateBpAttacks(BpPairs) :-\n generateBpsEvaluationChain(BpPairs, OrderedBpPairs),\n evaluateBurdenedArgs(OrderedBpPairs).\ngenerateBpsEvaluationChain([], []).\ngenerateBpsEvaluationChain([BpPair|BpPairs], OrderedBpPairs) :-\n generateBpsEvaluationChain(BpPairs, TempOrderedBpPairs),\n insertBpPair(BpPair, TempOrderedBpPairs, OrderedBpPairs).\ninsertBpPair(BpPair, [], [BpPair]).\ninsertBpPair((Bp, Burdened), [(BpL, BurdenedL)|Others], [(BpL, BurdenedL)|Return]) :-\n bp_grounded::argumentChain(BurdenedL, Burdened),\n insertBpPair((Bp, Burdened), Others, Return), !.\ninsertBpPair((Bp, Burdened), [(BpL, BurdenedL)|Others], [(Bp, Burdened)|[(BpL, BurdenedL)|Others]]).\nevaluateBurdenedArgs([]).\nevaluateBurdenedArgs([(Bp, Burdened)|Others]) :-\n context_active(X),\n grounded:::argumentLabelling,\n statusToAttack((Bp, Burdened), attack(T, A, B, C)),\n context_checkout(X),\n standard_af::saveAttack(T, A, B, C),\n evaluateBurdenedArgs(Others).\nstatusToAttack((Bp, Burdened), attack(bprebut, Burdened, Bp, Bp)) :-\n context_check(in(Burdened)).\nstatusToAttack((Bp, Burdened), attack(bprebut, Bp, Burdened, Burdened)) :-\n \\+ context_check(in(Burdened)).';
4509
+ this.i3l_1 = 'modifyArgumentationGraph :-\n findall(([Rules, Top, [bp(Checked)], G, I], [Z, P, [Y], GG, II]), (\n context_check(argument([Rules, Top, [bp(Checked)], G, I])),\n member(Y, [Checked]),\n context_check(argument([Z, P, [Y], GG, II]))\n ), TemplateBpPairs),\n checkBpArguments(TemplateBpPairs).\ncheckBpArguments([]).\ncheckBpArguments(TemplateBpPairs) :-\n createBpArguments(TemplateBpPairs, BpPairs),\n createBpAttacks(BpPairs).\ncreateBpArguments([], []).\ncreateBpArguments([(Original, [Z, P, Y, B, I])|Others], [(Conflict, [Z, P, Y, B, I])|BpPairs]) :-\n Conflict = [[artificial|Z], artificial, [-burdmet(Y)], [], [[artificial], [artificial], []]],\n standard_af::saveArgument(a, [-burdmet(Y)], Conflict),\n standard_af::saveSupport(Original, Conflict),\n liftBpAttacks(Original, Conflict),\n createBpArguments(Others, BpPairs).\nliftBpAttacks(Template, BpArg) :-\n findall(_, (\n context_check(attack(T, A, Template, O)),\n standard_af::saveAttack(T, A, BpArg, O)\n ), _).\ncreateBpAttacks(BpPairs) :-\n generateBpsEvaluationChain(BpPairs, OrderedBpPairs),\n evaluateBurdenedArgs(OrderedBpPairs).\ngenerateBpsEvaluationChain([], []).\ngenerateBpsEvaluationChain([BpPair|BpPairs], OrderedBpPairs) :-\n generateBpsEvaluationChain(BpPairs, TempOrderedBpPairs),\n insertBpPair(BpPair, TempOrderedBpPairs, OrderedBpPairs).\ninsertBpPair(BpPair, [], [BpPair]).\ninsertBpPair((Bp, Burdened), [(BpL, BurdenedL)|Others], [(BpL, BurdenedL)|Return]) :-\n bp_grounded::argumentChain(BurdenedL, Burdened),\n insertBpPair((Bp, Burdened), Others, Return), !.\ninsertBpPair((Bp, Burdened), [(BpL, BurdenedL)|Others], [(Bp, Burdened)|[(BpL, BurdenedL)|Others]]).\nevaluateBurdenedArgs([]).\nevaluateBurdenedArgs([(Bp, Burdened)|Others]) :-\n context_active(X),\n grounded:::argumentLabelling,\n statusToAttack((Bp, Burdened), attack(T, A, B, C)),\n context_checkout(X),\n standard_af::saveAttack(T, A, B, C),\n evaluateBurdenedArgs(Others).\nstatusToAttack((Bp, Burdened), attack(bprebut, Burdened, Bp, Bp)) :-\n context_check(in(Burdened)).\nstatusToAttack((Bp, Burdened), attack(bprebut, Bp, Burdened, Burdened)) :-\n \\+ context_check(in(Burdened)).';
4474
4510
  }
4475
4511
  var Bp_instance;
4476
4512
  function Bp_getInstance() {
4477
4513
  return Bp_instance;
4478
4514
  }
4479
4515
  function BpGrounded() {
4480
- this.a3m_1 = 'argumentLabelling :-\n reifyBurdenOfProofs,\n filterBpDefeats,\n findall(X, context_check(argument(X)), Arguments),\n bpLabelling(Arguments).\nbpLabelling(Arguments) :-\n member(A, Arguments),\n grounded::allAttacksOUT(A), !,\n context_assert(in(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Arguments) :-\n member(A, Arguments),\n \\+ isArgumentInBurdenOfProof(A),\n grounded::oneAttackIN(A), !,\n context_assert(out(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Arguments) :-\n context_active(Branch),\n mostGroundedBpUnd(Arguments, A),\n context_branch(Branch, _),\n context_assert(out(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Args) :-\n notLabelled(Args),\n findall(_, (member(A, Args), context_assert(und(A))), _).\nnotLabelled(Args) :-\n \\+ (\n member(A, Args),\n (\n context_check(in(A));\n context_check(out(A));\n context_check(und(A))\n )\n ).\nisInBurdenOfProof(Conclusion) :-\n context_check(reifiedBp(Literals)),\n member(Conclusion, Literals), !.\nisArgumentInBurdenOfProof([_, _, Conclusion, _, _]) :-\n isInBurdenOfProof(Conclusion).\nfilterBpDefeats :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n filterBpDefeat(T, A, B, C)\n ), _).\nfilterBpDefeat(T, B, A, C) :-\n (T = rebut; T = undermine),\n isArgumentInBurdenOfProof(B),\n \\+ superiority::superiorArgument(B, C),\n context_retract(attack(T, B, A, C)).\nmostGroundedBpUnd(Arguments, Arg) :-\n member(Arg, Arguments),\n isArgumentInBurdenOfProof(Arg),\n \\+ (\n member(A, Arguments), Arg \\= A,\n isArgumentInBurdenOfProof(A),\n argumentChain(A, Arg)\n ).\nargumentChain(A, A) :- !.\nargumentChain(A, B) :-\n A \\== B,\n context_check(attack(_, A, C, _)),\n argumentChain(C, B).\nreifyBurdenOfProofs :-\n findall(_, (\n context_check(abstractBp(AbstractBp)),\n fillTemplate(AbstractBp, R),\n \\+ context_check(reifiedBp(R)),\n context_assert(reifiedBp(R))\n ), _).\n/*\n Fill the template (first parameter) using arguments conclusions\n*/\nfillTemplate([], []).\nfillTemplate([H|T], [[H]|R]) :-\n context_check(argument([_ , _, [P], _, _])),\n fillTemplate(T, R).';
4516
+ this.c3m_1 = 'argumentLabelling :-\n reifyBurdenOfProofs,\n filterBpDefeats,\n findall(X, context_check(argument(X)), Arguments),\n bpLabelling(Arguments).\nbpLabelling(Arguments) :-\n member(A, Arguments),\n grounded::allAttacksOUT(A), !,\n context_assert(in(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Arguments) :-\n member(A, Arguments),\n \\+ isArgumentInBurdenOfProof(A),\n grounded::oneAttackIN(A), !,\n context_assert(out(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Arguments) :-\n context_active(Branch),\n mostGroundedBpUnd(Arguments, A),\n context_branch(Branch, _),\n context_assert(out(A)),\n utils::subtract(Arguments, [A], NewArguments),\n bpLabelling(NewArguments).\nbpLabelling(Args) :-\n notLabelled(Args),\n findall(_, (member(A, Args), context_assert(und(A))), _).\nnotLabelled(Args) :-\n \\+ (\n member(A, Args),\n (\n context_check(in(A));\n context_check(out(A));\n context_check(und(A))\n )\n ).\nisInBurdenOfProof(Conclusion) :-\n context_check(reifiedBp(Literals)),\n member(Conclusion, Literals), !.\nisArgumentInBurdenOfProof([_, _, Conclusion, _, _]) :-\n isInBurdenOfProof(Conclusion).\nfilterBpDefeats :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n filterBpDefeat(T, A, B, C)\n ), _).\nfilterBpDefeat(T, B, A, C) :-\n (T = rebut; T = undermine),\n isArgumentInBurdenOfProof(B),\n \\+ superiority::superiorArgument(B, C),\n context_retract(attack(T, B, A, C)).\nmostGroundedBpUnd(Arguments, Arg) :-\n member(Arg, Arguments),\n isArgumentInBurdenOfProof(Arg),\n \\+ (\n member(A, Arguments), Arg \\= A,\n isArgumentInBurdenOfProof(A),\n argumentChain(A, Arg)\n ).\nargumentChain(A, A) :- !.\nargumentChain(A, B) :-\n A \\== B,\n context_check(attack(_, A, C, _)),\n argumentChain(C, B).\nreifyBurdenOfProofs :-\n findall(_, (\n context_check(abstractBp(AbstractBp)),\n fillTemplate(AbstractBp, R),\n \\+ context_check(reifiedBp(R)),\n context_assert(reifiedBp(R))\n ), _).\n/*\n Fill the template (first parameter) using arguments conclusions\n*/\nfillTemplate([], []).\nfillTemplate([H|T], [[H]|R]) :-\n context_check(argument([_ , _, [P], _, _])),\n fillTemplate(T, R).';
4481
4517
  }
4482
4518
  var BpGrounded_instance;
4483
4519
  function BpGrounded_getInstance() {
4484
4520
  return BpGrounded_instance;
4485
4521
  }
4486
4522
  function BpGroundedComplete() {
4487
- this.w3l_1 = 'argumentLabelling :-\n bp_grounded::reifyBurdenOfProofs,\n findall(X, context_check(argument(X)), Arguments),\n completeBpLabelling(go, Arguments).\ncompleteBpLabelling(stop, _).\ncompleteBpLabelling(go, Arguments) :-\n bp_grounded_partial::partialBpLabelling(Arguments), !,\n findall(X, (context_check(und(X)), context_retract(und(X))), NewArgs),\n grounded::groundedLabelling(NewArgs),\n findall(X, context_check(und(X)), LeftArguments),\n stopCondition(Stop, Arguments, LeftArguments),\n completeBpLabelling(Stop, LeftArguments).\nstopCondition(stop, Args, NewArgs) :-\n utils::sort(Args, SortedArgs),\n utils::sort(NewArgs, SortedArgs), !.\nstopCondition(go, _, _) :- context_retract(und(_)).';
4523
+ this.y3l_1 = 'argumentLabelling :-\n bp_grounded::reifyBurdenOfProofs,\n findall(X, context_check(argument(X)), Arguments),\n completeBpLabelling(go, Arguments).\ncompleteBpLabelling(stop, _).\ncompleteBpLabelling(go, Arguments) :-\n bp_grounded_partial::partialBpLabelling(Arguments), !,\n findall(X, (context_check(und(X)), context_retract(und(X))), NewArgs),\n grounded::groundedLabelling(NewArgs),\n findall(X, context_check(und(X)), LeftArguments),\n stopCondition(Stop, Arguments, LeftArguments),\n completeBpLabelling(Stop, LeftArguments).\nstopCondition(stop, Args, NewArgs) :-\n utils::sort(Args, SortedArgs),\n utils::sort(NewArgs, SortedArgs), !.\nstopCondition(go, _, _) :- context_retract(und(_)).';
4488
4524
  }
4489
4525
  var BpGroundedComplete_instance;
4490
4526
  function BpGroundedComplete_getInstance() {
4491
4527
  return BpGroundedComplete_instance;
4492
4528
  }
4493
4529
  function BpGroundedPartial() {
4494
- this.e3m_1 = "argumentLabelling :-\n bp_grounded::reifyBurdenOfProofs,\n findall(X, context_check(argument(X)), Arguments),\n partialBpLabelling(Arguments), !.\npartialBpLabelling([]).\npartialBpLabelling(Arguments) :-\n mostGroundedArgument(Arguments, A),\n debug::writeDebug(['Evaluating ', A]),\n demonstration(Arguments, A, [A], Evaluated),\n utils::subtract(Arguments, [Evaluated], NewArgs),\n partialBpLabelling(NewArgs).\n/*\n (a.i) BP(neg(\u03C6)), and no argument B for neg(\u03C6) such that A < B is IN*, and no A1,...An is OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tisComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n\t superiorComplementArgument(A, B),\n\t context_check(in(B))\n\t),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\t\\+ (\n\t context_check(support(X, A)),\n\t context_check(out(X))\n\t),\n\tdebug::writeDebug(['Adding argument: ', A, ' to IN* (2.a.i)']),\n context_assert(in(A)).\n/*\n (a.ii) not BP(neg(\u03C6)) and every argument B for neg(\u03C6) such that B(not <)A is OUT*, and every A1,...An is IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ isComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorOrEqualComplementArgument(A, B),\n \\+ context_check(out(B))\n ),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\t\\+ (\n context_check(support(X, A)),\n \\+ context_check(in(X))\n ),\n\tdebug::writeDebug(['Adding argument: ', A, ' to IN* (2.a.ii)']),\n context_assert(in(A)).\n/*\n (b.i.1) BP(\u03C6) and exists an argument B for neg(\u03C6) such that B(not <)A is not OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\tsuperiorOrEqualComplementArgument(A, B),\n\t\\+ context_check(out(B)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.i.1)']),\n context_assert(out(A)).\n/*\n (b.i.2) BP(\u03C6) and exist one of A1,...An is not IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\tcontext_check(support(X, A)),\n \\+ context_check(in(X)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.i.2)']),\n context_assert(out(A)).\n/*\n (b.ii.1) not BP(\u03C6) and an argument B for neg(\u03C6) such A < B is IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\tsuperiorComplementArgument(A, B),\n\tcontext_check(in(B)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.ii.1)']),\n context_assert(out(A)).\n/*\n (b.ii.2) not BP(\u03C6) and one of A1,...An is OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\tcontext_check(support(X, A)),\n context_check(out(X)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.ii.2)']),\n context_assert(out(A)).\n/*\n If above definitions do not apply try to decide on the arguments on which they depend\n*/\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n isComplementInBurdenOfProof(A),\n\tnotEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tisComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorComplementArgument(A, X),\n context_check(in(X))\n ),\n notEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n \\+ isComplementInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ isComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorOrEqualComplementArgument(A, X),\n \\+ context_check(out(X))\n ),\n notEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\n/*\n (c) A is labelled UND* otherwise.\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tdebug::writeDebug(['Adding argument: ', A, ' to UND* (2.c)']),\n context_assert(und(A)).\nisComplementInBurdenOfProof(A) :-\n complement(A, Complement),\n bp_grounded::isInBurdenOfProof(Complement), !.\nmostGroundedArgument([], []).\nmostGroundedArgument([X], X).\nmostGroundedArgument([[L, _, _, _, _]|T], [L2, Q2, W2, B2, I2]) :-\n mostGroundedArgument(T, [L2, Q2, W2, B2, I2]),\n length(L, LN1),\n length(L2, LN2),\n LN1 > LN2, !.\nmostGroundedArgument([A|_], A).\n/*\n Get a conclusion complement\n*/\ncomplement([_, _, Conclusion, _, _], A) :-\n attack::expanded_conflict(Conclusion, A).\nnotEvaluatedSubArgument(Arguments, A, Resolving, B) :-\n context_check(support(B, A)),\n member(B, Arguments),\n \\+ member(B, Resolving).\nnotEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, B) :-\n superiorComplementArgument(A, B),\n member(B, Arguments),\n \\+ member(B, Resolving).\nnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B) :-\n superiorOrEqualComplementArgument(A, B),\n member(B, Arguments),\n \\+ member(B, Resolving).\nsuperiorComplementArgument(A, [A, B, CA, BB, I]) :-\n complement(A, CA),\n context_check(argument([R, B, CA, BB, I])),\n superiority::superiorArgument([R, B, CA, BB, I], A).\nsuperiorOrEqualComplementArgument(A, [R, B, CA, BB, I]) :-\n complement(A, CA),\n context_check(argument([R, B, CA, BB, I])),\n \\+ superiority::superiorArgument(A, [R, B, CA, BB, I]).";
4530
+ this.g3m_1 = "argumentLabelling :-\n bp_grounded::reifyBurdenOfProofs,\n findall(X, context_check(argument(X)), Arguments),\n partialBpLabelling(Arguments), !.\npartialBpLabelling([]).\npartialBpLabelling(Arguments) :-\n mostGroundedArgument(Arguments, A),\n debug::writeDebug(['Evaluating ', A]),\n demonstration(Arguments, A, [A], Evaluated),\n utils::subtract(Arguments, [Evaluated], NewArgs),\n partialBpLabelling(NewArgs).\n/*\n (a.i) BP(neg(\u03C6)), and no argument B for neg(\u03C6) such that A < B is IN*, and no A1,...An is OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tisComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n\t superiorComplementArgument(A, B),\n\t context_check(in(B))\n\t),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\t\\+ (\n\t context_check(support(X, A)),\n\t context_check(out(X))\n\t),\n\tdebug::writeDebug(['Adding argument: ', A, ' to IN* (2.a.i)']),\n context_assert(in(A)).\n/*\n (a.ii) not BP(neg(\u03C6)) and every argument B for neg(\u03C6) such that B(not <)A is OUT*, and every A1,...An is IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ isComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorOrEqualComplementArgument(A, B),\n \\+ context_check(out(B))\n ),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\t\\+ (\n context_check(support(X, A)),\n \\+ context_check(in(X))\n ),\n\tdebug::writeDebug(['Adding argument: ', A, ' to IN* (2.a.ii)']),\n context_assert(in(A)).\n/*\n (b.i.1) BP(\u03C6) and exists an argument B for neg(\u03C6) such that B(not <)A is not OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\tsuperiorOrEqualComplementArgument(A, B),\n\t\\+ context_check(out(B)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.i.1)']),\n context_assert(out(A)).\n/*\n (b.i.2) BP(\u03C6) and exist one of A1,...An is not IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\tcontext_check(support(X, A)),\n \\+ context_check(in(X)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.i.2)']),\n context_assert(out(A)).\n/*\n (b.ii.1) not BP(\u03C6) and an argument B for neg(\u03C6) such A < B is IN*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\tsuperiorComplementArgument(A, B),\n\tcontext_check(in(B)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.ii.1)']),\n context_assert(out(A)).\n/*\n (b.ii.2) not BP(\u03C6) and one of A1,...An is OUT*\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\t\\+ notEvaluatedSubArgument(Arguments, A, Resolving, _),\n\tcontext_check(support(X, A)),\n context_check(out(X)),\n debug::writeDebug(['Adding argument: ', A, ' to OUT* (2.b.ii.2)']),\n context_assert(out(A)).\n/*\n If above definitions do not apply try to decide on the arguments on which they depend\n*/\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n isComplementInBurdenOfProof(A),\n\tnotEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tisComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorComplementArgument(A, X),\n context_check(in(X))\n ),\n notEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n \\+ isComplementInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ isComplementInBurdenOfProof(A),\n\t\\+ notEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, _),\n\t\\+ (\n superiorOrEqualComplementArgument(A, X),\n \\+ context_check(out(X))\n ),\n notEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\tbp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\ndemonstration(Arguments, A, Resolving, Evaluated) :-\n\t\\+ bp_grounded::isArgumentInBurdenOfProof(A),\n\tnotEvaluatedSubArgument(Arguments, A, Resolving, B),\n demonstration(Arguments, B, [B|Resolving], Evaluated).\n/*\n (c) A is labelled UND* otherwise.\n*/\ndemonstration(Arguments, A, Resolving, A) :-\n\tdebug::writeDebug(['Adding argument: ', A, ' to UND* (2.c)']),\n context_assert(und(A)).\nisComplementInBurdenOfProof(A) :-\n complement(A, Complement),\n bp_grounded::isInBurdenOfProof(Complement), !.\nmostGroundedArgument([], []).\nmostGroundedArgument([X], X).\nmostGroundedArgument([[L, _, _, _, _]|T], [L2, Q2, W2, B2, I2]) :-\n mostGroundedArgument(T, [L2, Q2, W2, B2, I2]),\n length(L, LN1),\n length(L2, LN2),\n LN1 > LN2, !.\nmostGroundedArgument([A|_], A).\n/*\n Get a conclusion complement\n*/\ncomplement([_, _, Conclusion, _, _], A) :-\n attack::expanded_conflict(Conclusion, A).\nnotEvaluatedSubArgument(Arguments, A, Resolving, B) :-\n context_check(support(B, A)),\n member(B, Arguments),\n \\+ member(B, Resolving).\nnotEvaluatedSuperiorComplementArgument(Arguments, A, Resolving, B) :-\n superiorComplementArgument(A, B),\n member(B, Arguments),\n \\+ member(B, Resolving).\nnotEvaluatedSuperiorOrEqualComplementArgument(Arguments, A, Resolving, B) :-\n superiorOrEqualComplementArgument(A, B),\n member(B, Arguments),\n \\+ member(B, Resolving).\nsuperiorComplementArgument(A, [A, B, CA, BB, I]) :-\n complement(A, CA),\n context_check(argument([R, B, CA, BB, I])),\n superiority::superiorArgument([R, B, CA, BB, I], A).\nsuperiorOrEqualComplementArgument(A, [R, B, CA, BB, I]) :-\n complement(A, CA),\n context_check(argument([R, B, CA, BB, I])),\n \\+ superiority::superiorArgument(A, [R, B, CA, BB, I]).";
4495
4531
  }
4496
4532
  var BpGroundedPartial_instance;
4497
4533
  function BpGroundedPartial_getInstance() {
4498
4534
  return BpGroundedPartial_instance;
4499
4535
  }
4500
4536
  function Complete() {
4501
- this.i3m_1 = 'argumentLabelling :-\n cache_retract(complete(_,_,_)),\n grounded:::argumentLabelling,\n context_active(Branch),\n completeLabelling(Branch).\ncompleteLabelling(_) :-\n admissibleSet,\n utils::recoverArgumentLabelling(In, Out, Und),\n \\+ cache_check(complete(In, Out, Und)),\n cache_assert(complete(In, Out, Und)).\ncompleteLabelling(Branch) :-\n context_check(und(X)),\n context_branch(Branch, NewBranch),\n findall(Y, (context_check(und(Y)), Y \\= X), Arguments),\n context_retract(und(_)),\n context_assert(in(X)),\n grounded::groundedLabelling(Arguments),\n completeLabelling(NewBranch).\nadmissibleSet :-\n \\+ (context_check(in(H)), \\+ admissible(H)).\nadmissible(H) :-\n \\+ (\n context_check(attack(_, Attacker, H, _)),\n \\+ (\n context_check(attack(_, Defendant, Attacker, _)),\n context_check(in(Defendant))\n )\n ).';
4537
+ this.k3m_1 = 'argumentLabelling :-\n cache_retract(complete(_,_,_)),\n grounded:::argumentLabelling,\n context_active(Branch),\n completeLabelling(Branch).\ncompleteLabelling(_) :-\n admissibleSet,\n utils::recoverArgumentLabelling(In, Out, Und),\n \\+ cache_check(complete(In, Out, Und)),\n cache_assert(complete(In, Out, Und)).\ncompleteLabelling(Branch) :-\n context_check(und(X)),\n context_branch(Branch, NewBranch),\n findall(Y, (context_check(und(Y)), Y \\= X), Arguments),\n context_retract(und(_)),\n context_assert(in(X)),\n grounded::groundedLabelling(Arguments),\n completeLabelling(NewBranch).\nadmissibleSet :-\n \\+ (context_check(in(H)), \\+ admissible(H)).\nadmissible(H) :-\n \\+ (\n context_check(attack(_, Attacker, H, _)),\n \\+ (\n context_check(attack(_, Defendant, Attacker, _)),\n context_check(in(Defendant))\n )\n ).';
4502
4538
  }
4503
4539
  var Complete_instance;
4504
4540
  function Complete_getInstance() {
4505
4541
  return Complete_instance;
4506
4542
  }
4507
4543
  function Debug() {
4508
- this.a3n_1 = "printTheory(Rules) :-\n write('HERE THE THEORY:'),nl,\n findall(rule([Id, Body, Head]), member(rule([Id, Body, Head]), Rules), ListRules),\n utils::writeListNl(ListRules),\n findall(premise([A, B]), member(premise([A, B]), Rules), ListPremises),\n utils::writeListNl(ListPremises),\n findall(sup(A, B), member(sup(A, B), Rules), ListSups),\n utils::writeListNl(ListSups).\nprintArgumentationGraph(Arguments, Attacks, Supports) :-\n\tfindall(\n\t [IDPremises, '\\n', ' TOPRULE ', TopRule, '\\n', ' CONCLUSION ', RuleHead, '\\n', ' BODY ', Body, '\\n', ' INFO ', Info, '\\n'],\n\t member([IDPremises, TopRule, RuleHead, Body, Info], Arguments),\n ArgumentsToPrint\n ),\n findall((A1, ' SUPPORTS ', A2), member((A1, A2), Supports), SupportsToPrint),\n\tfindall((A1, ' ', T, ' ', A2, ' ON ', A3), member((T, A1, A2, A3), Attacks), AttacksToPrint),\n write('HERE THE GROUNDED SEMI-ABSTRACT ARGUMENTATION GRAPH'),nl,\n\tutils::writeListNl(ArgumentsToPrint),\n\tutils::writeListNl(SupportsToPrint),\n\tutils::writeListNl(AttacksToPrint).\nprintArgumentLabelling([IN, OUT, UND]) :-\n write('HERE THE ARGUMENTS LABELLED IN: '),nl,\n utils::writeListNl(IN),\n write('HERE THE ARGUMENTS LABELLED OUT: '),nl,\n utils::writeListNl(OUT),\n write('HERE THE ARGUMENTS LABELLED UND: '),nl,\n utils::writeListNl(UND).\nprintStatementLabelling([In, Ni, Und]) :-\n write('HERE THE STATEMENTS LABELLED IN: '),nl,\n utils::writeListNl(In),\n write('HERE THE STATEMENTS LABELLED NI: '),nl,\n utils::writeListNl(Ni),\n write('HERE THE STATEMENTS LABELLED UND: '),nl,\n utils::writeListNl(Und).\ndebug.\nwriteDebug(List) :-\n debug,\n utils::writeList(List).\nwriteDebug(_) :- \\+ debug.";
4544
+ this.c3n_1 = "printTheory(Rules) :-\n write('HERE THE THEORY:'),nl,\n findall(rule([Id, Body, Head]), member(rule([Id, Body, Head]), Rules), ListRules),\n utils::writeListNl(ListRules),\n findall(premise([A, B]), member(premise([A, B]), Rules), ListPremises),\n utils::writeListNl(ListPremises),\n findall(sup(A, B), member(sup(A, B), Rules), ListSups),\n utils::writeListNl(ListSups).\nprintArgumentationGraph(Arguments, Attacks, Supports) :-\n\tfindall(\n\t [IDPremises, '\\n', ' TOPRULE ', TopRule, '\\n', ' CONCLUSION ', RuleHead, '\\n', ' BODY ', Body, '\\n', ' INFO ', Info, '\\n'],\n\t member([IDPremises, TopRule, RuleHead, Body, Info], Arguments),\n ArgumentsToPrint\n ),\n findall((A1, ' SUPPORTS ', A2), member((A1, A2), Supports), SupportsToPrint),\n\tfindall((A1, ' ', T, ' ', A2, ' ON ', A3), member((T, A1, A2, A3), Attacks), AttacksToPrint),\n write('HERE THE GROUNDED SEMI-ABSTRACT ARGUMENTATION GRAPH'),nl,\n\tutils::writeListNl(ArgumentsToPrint),\n\tutils::writeListNl(SupportsToPrint),\n\tutils::writeListNl(AttacksToPrint).\nprintArgumentLabelling([IN, OUT, UND]) :-\n write('HERE THE ARGUMENTS LABELLED IN: '),nl,\n utils::writeListNl(IN),\n write('HERE THE ARGUMENTS LABELLED OUT: '),nl,\n utils::writeListNl(OUT),\n write('HERE THE ARGUMENTS LABELLED UND: '),nl,\n utils::writeListNl(UND).\nprintStatementLabelling([In, Ni, Und]) :-\n write('HERE THE STATEMENTS LABELLED IN: '),nl,\n utils::writeListNl(In),\n write('HERE THE STATEMENTS LABELLED NI: '),nl,\n utils::writeListNl(Ni),\n write('HERE THE STATEMENTS LABELLED UND: '),nl,\n utils::writeListNl(Und).\ndebug.\nwriteDebug(List) :-\n debug,\n utils::writeList(List).\nwriteDebug(_) :- \\+ debug.";
4509
4545
  }
4510
4546
  var Debug_instance;
4511
4547
  function Debug_getInstance() {
4512
4548
  return Debug_instance;
4513
4549
  }
4514
4550
  function DefPreferences() {
4515
- this.k3l_1 = 'modifyArgumentationGraph :-\n assertAllSup,\n findall((T, A, B, C), context_check(attack(T, A, B, C)), Attacks),\n filterSupRelatedAttacks(Attacks, InvalidAttacks),\n convertAttacks(InvalidAttacks),\n buildPrefAttacks.\nassertAllSup :-\n context_retract(sup(_, _)),\n findall(_,\n (\n context_check(argument([_, _, [sup(RuleOne, RuleTwo)], _, _])),\n \\+ context_check(sup(RuleOne, RuleTwo)),\n context_assert(sup(RuleOne, RuleTwo))\n ),\n _).\nfilterSupRelatedAttacks([], []).\nfilterSupRelatedAttacks([(T, A, B, C)|Attacks], [(T, A, B, C)|Invalid]) :-\n invalid(T, A, B, C, _),\n filterSupRelatedAttacks(Attacks, Invalid), !.\nfilterSupRelatedAttacks([_|Attacks], Invalid) :-\n filterSupRelatedAttacks(Attacks, Invalid).\ninvalid(rebut, A, B, C, SupSet) :- superiority::superiorArgument(C, A, SupSet), !.\ninvalid(undermine, A, B, C, SupSet) :- superiority::superiorArgument(C, A, SupSet), !.\n/*\n* Translates the attack relations identified during the building phase.\n* Attack from A to B -> Argument [[], attack, Attack]\n* support(A, Argument)\n* attack(Argument, B)\n* If an Argument A built in this way attacks the argument B, and this one also attacks a third argument C\n* through the argument B1 we have to consider an attack from A to B1 (transitive attack)\n*/\nconvertAttacks(Attacks) :-\n conversion(Attacks),\n standard_af::buildTransitiveAttacks.\nconversion(List) :-\n member((T, A, B, B), List),\n generateDirectAttackArgument(T, A, B, B),\n fail.\nconversion(List) :-\n member((T, A, B, C), List),\n C \\= B,\n generateTransitiveAttackArgument(T, A, B, C),\n fail.\nconversion(_).\ngenerateTransitiveAttackArgument(T, A, B, C) :-\n context_check(argument([Id, attack, [attack(T, A, C, C)], G, I])),\n standard_af::saveAttack(T, [Id, attack, [attack(T, A, C, C)], G, I], B, C),\n standard_af::removeAttack(T, A, B, C).\ngenerateDirectAttackArgument(T, A, B, B) :-\n RArgument = [[attack], attack, [attack(T, A, B, B)], [], [[attack], [attack], []]],\n standard_af::saveArgument(a, [attack(T, A, B, B)], RArgument),\n standard_af::saveSupport(A, RArgument),\n standard_af::saveAttack(T, RArgument, B, B),\n standard_af::removeAttack(T, A, B, B).\n/*\n* Computes the pref attack. If an Argument A has a conclusion in the form sup(a, b), we verify if\n* the attacks involving arguments built on the rules a or b are compatible with this preference.\n* If there are some contradictions we add an attack from the argument A towards the incompatible attack\n*/\nbuildPrefAttacks :-\n context_check(argument([IdB, attack, [attack(T, A, B, C)], G, I])),\n invalid(T, A, B, C, SupSet),\n member(X, SupSet),\n context_check(argument([IdA, TRA, [X], GG, II])),\n standard_af::saveAttack(pref, [IdA, TRA, [X], GG, II], [IdB, attack, [attack(T, A, B, C)], G, I], [IdB, attack, [attack(T, A, B, C)], G, I]),\n fail.\nbuildPrefAttacks.';
4551
+ this.m3l_1 = 'modifyArgumentationGraph :-\n assertAllSup,\n findall((T, A, B, C), context_check(attack(T, A, B, C)), Attacks),\n filterSupRelatedAttacks(Attacks, InvalidAttacks),\n convertAttacks(InvalidAttacks),\n buildPrefAttacks.\nassertAllSup :-\n context_retract(sup(_, _)),\n findall(_,\n (\n context_check(argument([_, _, [sup(RuleOne, RuleTwo)], _, _])),\n \\+ context_check(sup(RuleOne, RuleTwo)),\n context_assert(sup(RuleOne, RuleTwo))\n ),\n _).\nfilterSupRelatedAttacks([], []).\nfilterSupRelatedAttacks([(T, A, B, C)|Attacks], [(T, A, B, C)|Invalid]) :-\n invalid(T, A, B, C, _),\n filterSupRelatedAttacks(Attacks, Invalid), !.\nfilterSupRelatedAttacks([_|Attacks], Invalid) :-\n filterSupRelatedAttacks(Attacks, Invalid).\ninvalid(rebut, A, B, C, SupSet) :- superiority::superiorArgument(C, A, SupSet), !.\ninvalid(undermine, A, B, C, SupSet) :- superiority::superiorArgument(C, A, SupSet), !.\n/*\n* Translates the attack relations identified during the building phase.\n* Attack from A to B -> Argument [[], attack, Attack]\n* support(A, Argument)\n* attack(Argument, B)\n* If an Argument A built in this way attacks the argument B, and this one also attacks a third argument C\n* through the argument B1 we have to consider an attack from A to B1 (transitive attack)\n*/\nconvertAttacks(Attacks) :-\n conversion(Attacks),\n standard_af::buildTransitiveAttacks.\nconversion(List) :-\n member((T, A, B, B), List),\n generateDirectAttackArgument(T, A, B, B),\n fail.\nconversion(List) :-\n member((T, A, B, C), List),\n C \\= B,\n generateTransitiveAttackArgument(T, A, B, C),\n fail.\nconversion(_).\ngenerateTransitiveAttackArgument(T, A, B, C) :-\n context_check(argument([Id, attack, [attack(T, A, C, C)], G, I])),\n standard_af::saveAttack(T, [Id, attack, [attack(T, A, C, C)], G, I], B, C),\n standard_af::removeAttack(T, A, B, C).\ngenerateDirectAttackArgument(T, A, B, B) :-\n RArgument = [[attack], attack, [attack(T, A, B, B)], [], [[attack], [attack], []]],\n standard_af::saveArgument(a, [attack(T, A, B, B)], RArgument),\n standard_af::saveSupport(A, RArgument),\n standard_af::saveAttack(T, RArgument, B, B),\n standard_af::removeAttack(T, A, B, B).\n/*\n* Computes the pref attack. If an Argument A has a conclusion in the form sup(a, b), we verify if\n* the attacks involving arguments built on the rules a or b are compatible with this preference.\n* If there are some contradictions we add an attack from the argument A towards the incompatible attack\n*/\nbuildPrefAttacks :-\n context_check(argument([IdB, attack, [attack(T, A, B, C)], G, I])),\n invalid(T, A, B, C, SupSet),\n member(X, SupSet),\n context_check(argument([IdA, TRA, [X], GG, II])),\n standard_af::saveAttack(pref, [IdA, TRA, [X], GG, II], [IdB, attack, [attack(T, A, B, C)], G, I], [IdB, attack, [attack(T, A, B, C)], G, I]),\n fail.\nbuildPrefAttacks.';
4516
4552
  }
4517
4553
  var DefPreferences_instance;
4518
4554
  function DefPreferences_getInstance() {
4519
4555
  return DefPreferences_instance;
4520
4556
  }
4521
4557
  function GenericDefPreferences() {
4522
- this.o3l_1 = 'modifyArgumentationGraph :-\n defeasiblePref::assertAllSup,\n findall((T, A, B, C), context_check(attack(T, A, B, C)), Attacks),\n defeasiblePref::filterSupRelatedAttacks(Attacks, InvalidAttacks),\n defeasiblePref::convertAttacks(InvalidAttacks),\n buildPrefAttacks,\n standard_af::buildTransitiveAttacks.\nbuildPrefAttacks :-\n context_check(argument([IdB, attack, [attack(T, A, B, C)], G, I])),\n defeasiblePref::invalid(T, A, B, C, SupSet),\n createSuperiorityArgument(SupSet, Arg),\n standard_af::saveAttack(pref, Arg, [IdB, attack, [attack(T, A, B, C)], G, I], [IdB, attack, [attack(T, A, B, C)], G, I]),\n fail.\nbuildPrefAttacks.\ncreateSuperiorityArgument(SupSet, Argument) :-\n findall([Id, TR, [X], G, I], (\n member(X, SupSet),\n context_check(argument([Id, TR, [X], G, I]))\n ), SupportArguments),\n mergeIds(SupportArguments, MergedId),\n Argument = [MergedId, pref, [preference(SupSet)], [], [[pref], MergedId, []]],\n standard_af::saveArgument(a, [preference(SupSet)], Argument),\n findall(_, (\n member(A, SupportArguments),\n standard_af::saveSupport(A, Argument)\n ), _).\nmergeIds([], [pref]).\nmergeIds(Arguments, [pref|MergedId]) :-\n findall(Id, member([Id, _, _, _, _], Arguments), Res),\n utils::appendLists(Res, MergedId).';
4558
+ this.q3l_1 = 'modifyArgumentationGraph :-\n defeasiblePref::assertAllSup,\n findall((T, A, B, C), context_check(attack(T, A, B, C)), Attacks),\n defeasiblePref::filterSupRelatedAttacks(Attacks, InvalidAttacks),\n defeasiblePref::convertAttacks(InvalidAttacks),\n buildPrefAttacks,\n standard_af::buildTransitiveAttacks.\nbuildPrefAttacks :-\n context_check(argument([IdB, attack, [attack(T, A, B, C)], G, I])),\n defeasiblePref::invalid(T, A, B, C, SupSet),\n createSuperiorityArgument(SupSet, Arg),\n standard_af::saveAttack(pref, Arg, [IdB, attack, [attack(T, A, B, C)], G, I], [IdB, attack, [attack(T, A, B, C)], G, I]),\n fail.\nbuildPrefAttacks.\ncreateSuperiorityArgument(SupSet, Argument) :-\n findall([Id, TR, [X], G, I], (\n member(X, SupSet),\n context_check(argument([Id, TR, [X], G, I]))\n ), SupportArguments),\n mergeIds(SupportArguments, MergedId),\n Argument = [MergedId, pref, [preference(SupSet)], [], [[pref], MergedId, []]],\n standard_af::saveArgument(a, [preference(SupSet)], Argument),\n findall(_, (\n member(A, SupportArguments),\n standard_af::saveSupport(A, Argument)\n ), _).\nmergeIds([], [pref]).\nmergeIds(Arguments, [pref|MergedId]) :-\n findall(Id, member([Id, _, _, _, _], Arguments), Res),\n utils::appendLists(Res, MergedId).';
4523
4559
  }
4524
4560
  var GenericDefPreferences_instance;
4525
4561
  function GenericDefPreferences_getInstance() {
4526
4562
  return GenericDefPreferences_instance;
4527
4563
  }
4528
4564
  function Grounded() {
4529
- this.m3m_1 = 'argumentLabelling :-\n findall(X, context_check(argument(X)), Arguments),\n groundedLabelling(Arguments).\ngroundedLabelling(UND) :-\n member(A, UND),\n allAttacksOUT(A), !,\n utils::subtract(UND, [A], NewUND),\n context_assert(in(A)),\n groundedLabelling(NewUND).\ngroundedLabelling(UND) :-\n member(A, UND),\n oneAttackIN(A), !,\n utils::subtract(UND, [A], NewUND),\n context_assert(out(A)),\n groundedLabelling(NewUND).\ngroundedLabelling(Args) :- findall(_, (member(A, Args), context_assert(und(A))), _).\nallAttacksOUT(A) :-\n \\+ ( context_check(attack(_, B, A, _)), \\+ (context_check(out(B)))).\noneAttackIN(A) :-\n context_check(attack(_, B, A, _)),\n context_check(in(B)), !.\noneAttackIN(A) :-\n context_check(attack(_, A, B, _)),\n context_check(in(B)), !.';
4565
+ this.o3m_1 = 'argumentLabelling :-\n findall(X, context_check(argument(X)), Arguments),\n groundedLabelling(Arguments).\ngroundedLabelling(UND) :-\n member(A, UND),\n allAttacksOUT(A), !,\n utils::subtract(UND, [A], NewUND),\n context_assert(in(A)),\n groundedLabelling(NewUND).\ngroundedLabelling(UND) :-\n member(A, UND),\n oneAttackIN(A), !,\n utils::subtract(UND, [A], NewUND),\n context_assert(out(A)),\n groundedLabelling(NewUND).\ngroundedLabelling(Args) :- findall(_, (member(A, Args), context_assert(und(A))), _).\nallAttacksOUT(A) :-\n \\+ ( context_check(attack(_, B, A, _)), \\+ (context_check(out(B)))).\noneAttackIN(A) :-\n context_check(attack(_, B, A, _)),\n context_check(in(B)), !.\noneAttackIN(A) :-\n context_check(attack(_, A, B, _)),\n context_check(in(B)), !.';
4530
4566
  }
4531
4567
  var Grounded_instance;
4532
4568
  function Grounded_getInstance() {
4533
4569
  return Grounded_instance;
4534
4570
  }
4535
4571
  function GroundedOptimized() {
4536
- this.q3m_1 = 'argumentLabelling :-\n groundedLabelling.\ngroundedLabelling :-\n findall(t, evaluateIn, I),\n findall(t, evaluateOut, O),\n finalize(I, O).\nevaluateIn :-\n argument_to_evaluate(A, IdA),\n allAttacksOUT(IdA),\n context_assert(in(A)),\n context_assert(inId(IdA)).\nevaluateOut :-\n argument_to_evaluate(A, IdA),\n oneAttackIN(IdA),\n context_assert(out(A)),\n context_assert(outId(IdA)).\nfinalize(I, O) :- I \\= [], !, groundedLabelling.\nfinalize(I, O) :- O \\= [], !, groundedLabelling.\nfinalize([], []) :-\n argument_to_evaluate(A, _),\n context_assert(und(A)),\n fail.\nfinalize(_, _).\nargument_to_evaluate(X, IdX) :-\n context_check(clause(arg(IdX), argument(X))),\n \\+ context_check(outId(IdX)),\n \\+ context_check(inId(IdX)).\nallAttacksOUT(A) :-\n \\+ ( context_check(clause(att(B, A), _)), \\+ (context_check(outId(B)))).\noneAttackIN(A) :-\n context_check(clause(att(B, A), _)),\n context_check(inId(B)), !.\noneAttackIN(A) :-\n context_check(clause(att(A, B), _)),\n context_check(inId(B)), !.';
4572
+ this.s3m_1 = 'argumentLabelling :-\n groundedLabelling.\ngroundedLabelling :-\n findall(t, evaluateIn, I),\n findall(t, evaluateOut, O),\n finalize(I, O).\nevaluateIn :-\n argument_to_evaluate(A, IdA),\n allAttacksOUT(IdA),\n context_assert(in(A)),\n context_assert(inId(IdA)).\nevaluateOut :-\n argument_to_evaluate(A, IdA),\n oneAttackIN(IdA),\n context_assert(out(A)),\n context_assert(outId(IdA)).\nfinalize(I, O) :- I \\= [], !, groundedLabelling.\nfinalize(I, O) :- O \\= [], !, groundedLabelling.\nfinalize([], []) :-\n argument_to_evaluate(A, _),\n context_assert(und(A)),\n fail.\nfinalize(_, _).\nargument_to_evaluate(X, IdX) :-\n context_check(clause(arg(IdX), argument(X))),\n \\+ context_check(outId(IdX)),\n \\+ context_check(inId(IdX)).\nallAttacksOUT(A) :-\n \\+ ( context_check(clause(att(B, A), _)), \\+ (context_check(outId(B)))).\noneAttackIN(A) :-\n context_check(clause(att(B, A), _)),\n context_check(inId(B)), !.\noneAttackIN(A) :-\n context_check(clause(att(A, B), _)),\n context_check(inId(B)), !.';
4537
4573
  }
4538
4574
  var GroundedOptimized_instance;
4539
4575
  function GroundedOptimized_getInstance() {
4540
4576
  return GroundedOptimized_instance;
4541
4577
  }
4542
4578
  function Preferences() {
4543
- this.s3l_1 = 'modifyArgumentationGraph :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n checkStandardPreference(T, A, B, C)\n ), _).\ncheckStandardPreference(T, A, B, C) :-\n \\+ standardPreferences(T, A, B, C),\n standard_af::removeAttack(T, A, B, C).\nstandardPreferences(rebut, A, _, C) :- \\+ superiority::superiorArgument(C, A).\nstandardPreferences(undermine, A, _, C) :- \\+ superiority::superiorArgument(C, A).\nstandardPreferences(contrary_rebut, _, _, _).\nstandardPreferences(contrary_undermine, _, _, _).\nstandardPreferences(undercut, _, _, _).';
4579
+ this.u3l_1 = 'modifyArgumentationGraph :-\n findall(_, (\n context_check(attack(T, A, B, C)),\n checkStandardPreference(T, A, B, C)\n ), _).\ncheckStandardPreference(T, A, B, C) :-\n \\+ standardPreferences(T, A, B, C),\n standard_af::removeAttack(T, A, B, C).\nstandardPreferences(rebut, A, _, C) :- \\+ superiority::superiorArgument(C, A).\nstandardPreferences(undermine, A, _, C) :- \\+ superiority::superiorArgument(C, A).\nstandardPreferences(contrary_rebut, _, _, _).\nstandardPreferences(contrary_undermine, _, _, _).\nstandardPreferences(undercut, _, _, _).';
4544
4580
  }
4545
4581
  var Preferences_instance;
4546
4582
  function Preferences_getInstance() {
4547
4583
  return Preferences_instance;
4548
4584
  }
4549
4585
  function QueryMode_0() {
4550
- this.b3n_1 = 'computeStatementAcceptance(Goal, YesResult, NoResult, UndResult) :-\n \\+ queryMode,\n abstract:::computeGlobalAcceptance,\n mineResults(Goal, YesResult, NoResult, UndResult).\ncomputeStatementAcceptance(Goal, YesResult, NoResult, UndResult) :-\n queryMode,\n argumentLabellingMode(grounded),\n findall(_, query(Goal, _), _),\n (ambiguityBlocking ->\n statement_binary:::statementLabelling;\n statementLabellingMode(Y),\n Y:::statementLabelling\n ),\n mineResults(Goal, YesResult, NoResult, UndResult).\nmineResults(Goal, YesResult, NoResult, UndResult) :-\n findall(Goal, context_check(statIn([Goal])), In),\n findall(Goal, context_check(statOut([Goal])), Out),\n findall(Goal, context_check(statUnd([Goal])), Und),\n utils::sort(In, YesResult),\n utils::sort(Out, NoResult),\n utils::sort(Und, UndResult).\nquery(Query, Res) :-\n buildArgument(Query, Argument),\n once(defend(Argument, [], Res)).\nquery(Query, und) :- \\+ buildArgument(Query, _).\ndefend(Argument, _, no) :- context_check(out(Argument)).\ndefend(Argument, _, und) :- context_check(und(Argument)).\ndefend(Argument, _, yes) :- context_check(in(Argument)).\ndefend(Argument, QueryChain, no) :-\n findAttacker(Argument, QueryChain, Attacker, yes),\n once(defend(Attacker, [Argument|QueryChain], X)),\n X == yes,\n bufferResult(Argument, no), !.\ndefend(Argument, QueryChain, Res) :-\n findAttacker(Argument, QueryChain, Attacker, yes),\n once(defend(Attacker, [Argument|QueryChain], X)),\n X == und,\n ambiguityCheck(Argument, Attacker, Res),\n bufferResult(Argument, Res), !.\ncomplementary([_, _, ConclusionA, _, _], [_, _, ConclusionB, _, _]) :-\n attack::expanded_conflict(ConclusionA, ConclusionB).\nambiguityCheck(A, B, no) :- ambiguityBlocking,\n \\+ complementary(A, B),\n context_check(attack(direct, B, A, _)), !.\nambiguityCheck(_, _, und).\ndefend(Argument, QueryChain, und) :-\n findAttacker(Argument, QueryChain, Attacker, no),\n bufferResult(Argument, und), !.\ndefend(Argument, QueryChain, yes) :- bufferResult(Argument, yes).\nbufferResult(Argument, no) :- \\+ context_check(out(Argument)), context_assert(out(Argument)), !.\nbufferResult(Argument, yes) :- \\+ context_check(in(Argument)), context_assert(in(Argument)), !.\nbufferResult(Argument, und) :- \\+ context_check(und(Argument)), context_assert(und(Argument)), !.\nbufferResult(_, _).\nfindAttacker(Target, QueryChain, Attacker, IsValid) :-\n attacker(Target, Attacker, Type),\n bufferAttacker(Attacker, Target, Type),\n detectCycle(Attacker, QueryChain, IsValid).\nbufferAttacker(Attacker, Target, Type) :-\n \\+ context_check(attack(Type, Attacker, Target, none)),\n context_assert(attack(Type, Attacker, Target, none)), !.\nbufferAttacker(_, _, _).\ndetectCycle(Attacker, QueryChain, yes) :- \\+ member(Attacker, QueryChain).\ndetectCycle(Attacker, QueryChain, no) :- member(Attacker, QueryChain).\nattacker([Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type) :-\n member(X, Rules),\n \\+ parser::strict(X),\n attackerOnRule(X, [Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type).\nattacker([Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type) :-\n member(X, Groundings),\n attackerOnTerm(X, [Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type).\nattackerOnRule(Rule, _, Argument, undercut) :-\n parser::undercut(Undercut, Rule),\n buildArgument(Undercut, Argument).\nattackerOnTerm(Term, [TargetRules, TopRule, Conclusion, Groundings, ArgInfo], Attacker, direct) :-\n \\+ parser::contrary(Term, _),\n \\+ strict([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]),\n (graphExtension(rebutRestriction) ->\n (\n getSubArgument(Term, TargetRules, SubArgument),\n rebutRestriction(SubArgument)\n );\n true\n ),\n attack::expanded_conflict(Term, [X]),\n buildArgument(X, Attacker),\n (graphExtension(standardPref) ->\n (\n once(getSubArgument(Term, TargetRules, SubArgument)),\n \\+ superiorArgument(SubArgument, Attacker)\n );\n true\n ).\nattackerOnTerm(Unless, _, Attacker, contrary) :-\n parser::contrary(Unless, X),\n buildArgument(X, Attacker).\nstrict([_, _, _, _, [_, [], []]]).\nrebutRestriction([TargetRules, none, Conclusion, Groundings, ArgInfo]) :-\n graphExtension(rebutRestriction).\nrebutRestriction([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]) :-\n graphExtension(rebutRestriction),\n TopRule \\= none,\n rebutRestriction::restrict([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]).\nrebutRestriction(_) :- \\+ graphExtension(rebutRestriction).\nsuperiorArgument(SubArgument, Attacker) :-\n superiority::superiorArgument(SubArgument, Attacker).\ngetSubArgument(Term, Rules, [SubRules, SubTopRule, SubConclusion, SubGrounds, Info]) :-\n context_check(clause(support(Term), argument([SubRules, SubTopRule, SubConclusion, SubGrounds, Info]))),\n contained(SubRules, Rules).\ncontained([], _).\ncontained([H|T], Target) :- member(H, Target), contained(T, Target).\nbuildArgument(Query, Argument) :-\n \\+ context_check(explored(Query)),\n findall(_, (\n buildSingleArgument([Query], Argument),\n context_assert(argument(Argument))\n ), _),\n context_assert(explored(Query)),\n fail.\nbuildArgument(Query, [R, T, [Query], B, I]) :- context_check(argument([R, T, [Query], B, I])).\nbuildSingleArgument(Query, Argument) :-\n build(Query, [], Groundings, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n utils::deduplicate(DefRules, CDefRules),\n utils::deduplicate(DefPremises, CDefPremises),\n utils::deduplicate(Groundings, CGroundings),\n Argument = [AllRules, TopRule, Query, CGroundings, [LastDefRules, CDefRules, CDefPremises]].\nbuild(Check, _, [], []) :- parser::prolog(Check, Term), (callable(Term) -> call(Term); Term), !.\nbuild(Unless, _, [Unless], []) :- parser::contrary(Unless, _), !.\nbuild(Conclusion, _, [Conclusion], [AllRules, TopRule, LastDefRules, DefRules, DefPremises]) :-\n parser::premise(Id, Conclusion),\n premiseRules(Id, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n context_assert(support(Conclusion) :- argument([AllRules, TopRule, Conclusion, [Conclusion], [LastDefRules, DefRules, DefPremises]])).\nbuild(Conclusion, Ids, [Conclusion|Conclusions], [AllRules, TopRule, LastDefRules, DefRules, DefPremises]) :-\n parser::rule(Id, Premises, Conclusion),\n \\+ member(Id, Ids),\n buildPremises(Premises, [Id|Ids], Conclusions, ResRules),\n ruleRules(Id, ResRules, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n context_assert(support(Conclusion) :- argument([AllRules, TopRule, Conclusion, [Conclusion|Conclusions], [LastDefRules, DefRules, DefPremises]])).\nbuildPremises([], _, [], [[], [], [], []]).\nbuildPremises([H|T], Ids, Conclusions, Rules) :-\n build([H], Ids, HConclusions, HRules),\n buildPremises(T, Ids, TConclusions, TRules),\n utils::appendLists([HConclusions, TConclusions], Conclusions),\n mergeRules(HRules, TRules, Rules).\npremiseRules(Id, [[Id], none, [], [], [Id]]) :- \\+ parser::check_strict(Id), !.\npremiseRules(Id, [[Id], none, [], [], []]) :- parser::check_strict(Id).\nruleRules(Id, [AllRules, _, DefRules, DefPremises],\n [[Id|AllRules], Id, [Id], [Id|DefRules], DefPremises]) :- \\+ parser::check_strict(Id), !.\nruleRules(Id, [AllRules, LastDefRules, DefRules, DefPremises],\n [[Id|AllRules], Id, LastDefRules, DefRules, DefPremises]) :- parser::check_strict(Id).\nmergeRules([], [AllRules, LastDefRules, DefRules, DefPremises], [AllRules, LastDefRules, DefRules, DefPremises]) :- !.\nmergeRules([HAR, _, HLDR, HDR, HDP], [TAR, TLDR, TDR, TDP], [AR, LDR, DR, DP]) :-\n utils::appendLists([HAR, TAR], AR),\n utils::appendLists([HLDR, TLDR], LDR),\n utils::appendLists([HDR, TDR], DR),\n utils::appendLists([HDP, TDP], DP).';
4586
+ this.d3n_1 = 'computeStatementAcceptance(Goal, Res) :-\n computeStatementAcceptance(Goal),\n mineResults(Goal, Res).\ncomputeStatementAcceptance(Goal, YesResult, NoResult, UndResult) :-\n computeStatementAcceptance(Goal),\n mineResults(Goal, YesResult, NoResult, UndResult).\ncomputeStatementAcceptance(Goal) :-\n \\+ queryMode,\n abstract:::computeGlobalAcceptance.\ncomputeStatementAcceptance(Goal) :-\n queryMode,\n findall(_, buildSubGraph(Goal, _), _),\n graphBuildMode(X),\n X:::buildAttacks,\n abstract:::modifyGraph,\n abstract:::buildArgumentLabelling,\n abstract:::buildStatementLabelling.\nmineResults(Goal, YesResult, NoResult, UndResult) :-\n findall(Goal, context_check(statIn([Goal])), In),\n findall(Goal, context_check(statOut([Goal])), Out),\n findall(Goal, context_check(statUnd([Goal])), Und),\n utils::sort(In, YesResult),\n utils::sort(Out, NoResult),\n utils::sort(Und, UndResult).\nmineResults(Goal, Result) :-\n findall(in(Goal), context_check(statIn([Goal])), In),\n findall(out(Goal), context_check(statOut([Goal])), Out),\n findall(und(Goal), context_check(statUnd([Goal])), Und),\n utils::appendLists([In, Out, Und], Result).\nground_vars(Term, Grounded) :-\n copy_term(Term, Copy),\n ground_vars(Copy, Grounded, 0, _).\nground_vars(Var, var, N0, N) :-\n var(Var), !,\n N is N0 + 1.\nground_vars(Term, Grounded, N0, N) :-\n compound(Term), !,\n Term =.. [F|Args],\n ground_vars_list(Args, GArgs, N0, N),\n Grounded =.. [F|GArgs].\nground_vars(Term, Term, N, N) :-\n atomic(Term).\nground_vars_list([], [], N, N).\nground_vars_list([X|Xs], [GX|GXs], N0, N) :-\n ground_vars(X, GX, N0, N1),\n ground_vars_list(Xs, GXs, N1, N).\nbuildSubGraph(Query, Argument) :-\n ground_vars(Query, Normalized),\n \\+ context_check(explored(Normalized)),\n findall(_, (\n findSingleArgument([Query], Argument, Support),\n saveArgument(query, [Query], Argument),\n saveSupports(Argument, Support),\n attack::findPossibleAttackers(Argument, [Conflict]),\n buildSubGraph(Conflict, _)\n ), _),\n context_assert(explored(Query)),\n fail.\nbuildSubGraph(Query, Argument) :- context_check(clause(conc([Query]), argument(Argument))).\nfindSingleArgument(Query, Argument, Support) :-\n findArgument(Query, [], Groundings, [AllRules, TopRule, LastDefRules, DefRules, DefPremises], Support),\n utils::deduplicate(DefRules, CDefRules),\n utils::deduplicate(DefPremises, CDefPremises),\n utils::deduplicate(Groundings, CGroundings),\n Argument = [AllRules, TopRule, Query, CGroundings, [LastDefRules, CDefRules, CDefPremises]].\nfindArgument(Conclusion, _, [], [AllRules, TopRule, LastDefRules, DefRules, DefPremises], []) :-\n parser::premise(Id, Conclusion),\n premiseRules(Id, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]).\nfindArgument(Conclusion, Ids, Conclusions, [AllRules, TopRule, LastDefRules, DefRules, DefPremises], Support) :-\n parser::rule(Id, Premises, Conclusion),\n findPremises(Premises, [Id|Ids], Conclusions, ResRules, Support),\n ruleRules(Id, ResRules, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]).\nfindPremises([], _, [], [[], [], [], []], []).\nfindPremises([H|T], Ids, TConclusions, TRules, TSupport) :-\n parser::prolog([H], Term), !,\n findPremises(T, Ids, TConclusions, TRules, TSupport),\n (callable(Term) -> call(Term); Term).\nfindPremises([H|T], Ids, [H|TConclusions], TRules, TSupport) :-\n parser::contrary([H], _), !,\n findPremises(T, Ids, TConclusions, TRules, TSupport).\nfindPremises([H|T], Ids, [PP|TConclusions], Rules, [[AllRules, P, [PP], HConclusions, [LastDefRules, DefRules, DefPremises]]|TSupport]) :-\n findPremises(T, Ids, TConclusions, TRules, TSupport),\n buildSubGraph(H, [AllRules, P, [PP], HConclusions, [LastDefRules, DefRules, DefPremises]]),\n mergeRules([AllRules, [], LastDefRules, DefRules, DefPremises], TRules, Rules).\npremiseRules(Id, [[Id], none, [], [], [Id]]) :- \\+ parser::check_strict(Id), !.\npremiseRules(Id, [[Id], none, [], [], []]) :- parser::check_strict(Id).\nruleRules(Id, [AllRules, _, DefRules, DefPremises],\n [[Id|AllRules], Id, [Id], [Id|DefRules], DefPremises]) :- \\+ parser::check_strict(Id), !.\nruleRules(Id, [AllRules, LastDefRules, DefRules, DefPremises],\n [[Id|AllRules], Id, LastDefRules, DefRules, DefPremises]) :- parser::check_strict(Id).\nmergeRules([], [AllRules, LastDefRules, DefRules, DefPremises], [AllRules, LastDefRules, DefRules, DefPremises]) :- !.\nmergeRules([HAR, _, HLDR, HDR, HDP], [TAR, TLDR, TDR, TDP], [AR, LDR, DR, DP]) :-\n utils::appendLists([HAR, TAR], AR),\n utils::appendLists([HLDR, TLDR], LDR),\n utils::appendLists([HDR, TDR], DR),\n utils::appendLists([HDP, TDP], DP).\nsaveArgument(T, Conclusion, Argument) :-\n \\+ context_check(clause(conc(Conclusion), argument(Argument))),\n context_assert(newConc(T, Conclusion)),\n utils::hash(argument(Argument), Id),\n context_assert(argument(Argument)),\n context_assert(conc(Conclusion) :- argument(Argument)),\n context_assert(arg(Id) :- argument(Argument)).\nsaveSupports(_, []).\nsaveSupports(A, [B|T]) :-\n saveSupport(B, A),\n saveSupports(A, T).\nsaveSupport(A, B) :-\n \\+ context_check(support(A, B)),\n context_assert(support(A, B)).\nquery(Query, Res) :-\n buildArgument(Query, Argument),\n once(defend(Argument, [], Res)).\nquery(Query, und) :- \\+ buildArgument(Query, _).\ndefend(Argument, _, no) :- context_check(out(Argument)).\ndefend(Argument, _, und) :- context_check(und(Argument)).\ndefend(Argument, _, yes) :- context_check(in(Argument)).\ndefend(Argument, QueryChain, no) :-\n findAttacker(Argument, QueryChain, Attacker, yes),\n once(defend(Attacker, [Argument|QueryChain], X)),\n X == yes,\n bufferResult(Argument, no), !.\ndefend(Argument, QueryChain, Res) :-\n findAttacker(Argument, QueryChain, Attacker, yes),\n once(defend(Attacker, [Argument|QueryChain], X)),\n X == und,\n ambiguityCheck(Argument, Attacker, Res),\n bufferResult(Argument, Res), !.\ncomplementary([_, _, ConclusionA, _, _], [_, _, ConclusionB, _, _]) :-\n attack::expanded_conflict(ConclusionA, ConclusionB).\nambiguityCheck(A, B, no) :- ambiguityBlocking,\n \\+ complementary(A, B),\n context_check(attack(direct, B, A, _)), !.\nambiguityCheck(_, _, und).\ndefend(Argument, QueryChain, und) :-\n findAttacker(Argument, QueryChain, Attacker, no),\n bufferResult(Argument, und), !.\ndefend(Argument, QueryChain, yes) :- bufferResult(Argument, yes).\nbufferResult(Argument, no) :- \\+ context_check(out(Argument)), context_assert(out(Argument)), !.\nbufferResult(Argument, yes) :- \\+ context_check(in(Argument)), context_assert(in(Argument)), !.\nbufferResult(Argument, und) :- \\+ context_check(und(Argument)), context_assert(und(Argument)), !.\nbufferResult(_, _).\nfindAttacker(Target, QueryChain, Attacker, IsValid) :-\n attacker(Target, Attacker, Type),\n bufferAttacker(Attacker, Target, Type),\n detectCycle(Attacker, QueryChain, IsValid).\nbufferAttacker(Attacker, Target, Type) :-\n \\+ context_check(attack(Type, Attacker, Target, none)),\n context_assert(attack(Type, Attacker, Target, none)), !.\nbufferAttacker(_, _, _).\ndetectCycle(Attacker, QueryChain, yes) :- \\+ member(Attacker, QueryChain).\ndetectCycle(Attacker, QueryChain, no) :- member(Attacker, QueryChain).\nattacker([Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type) :-\n member(X, Rules),\n \\+ parser::strict(X),\n attackerOnRule(X, [Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type).\nattacker([Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type) :-\n member(X, Groundings),\n attackerOnTerm(X, [Rules, TopRule, Conclusion, Groundings, ArgInfo], Argument, Type).\nattackerOnRule(Rule, _, Argument, undercut) :-\n parser::undercut(Undercut, Rule),\n buildArgument(Undercut, Argument).\nattackerOnTerm(Term, [TargetRules, TopRule, Conclusion, Groundings, ArgInfo], Attacker, direct) :-\n \\+ parser::contrary(Term, _),\n \\+ strict([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]),\n (graphExtension(rebutRestriction) ->\n (\n getSubArgument(Term, TargetRules, SubArgument),\n rebutRestriction(SubArgument)\n );\n true\n ),\n attack::expanded_conflict(Term, [X]),\n buildArgument(X, Attacker),\n (graphExtension(standardPref) ->\n (\n once(getSubArgument(Term, TargetRules, SubArgument)),\n \\+ superiorArgument(SubArgument, Attacker)\n );\n true\n ).\nattackerOnTerm(Unless, _, Attacker, contrary) :-\n parser::contrary(Unless, X),\n buildArgument(X, Attacker).\nstrict([_, _, _, _, [_, [], []]]).\nrebutRestriction([TargetRules, none, Conclusion, Groundings, ArgInfo]) :-\n graphExtension(rebutRestriction).\nrebutRestriction([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]) :-\n graphExtension(rebutRestriction),\n TopRule \\= none,\n rebutRestriction::restrict([TargetRules, TopRule, Conclusion, Groundings, ArgInfo]).\nrebutRestriction(_) :- \\+ graphExtension(rebutRestriction).\nsuperiorArgument(SubArgument, Attacker) :-\n superiority::superiorArgument(SubArgument, Attacker).\ngetSubArgument(Term, Rules, [SubRules, SubTopRule, SubConclusion, SubGrounds, Info]) :-\n context_check(clause(support(Term), argument([SubRules, SubTopRule, SubConclusion, SubGrounds, Info]))),\n contained(SubRules, Rules).\ncontained([], _).\ncontained([H|T], Target) :- member(H, Target), contained(T, Target).\nbuildArgument(Query, Argument) :-\n \\+ context_check(explored(Query)),\n findall(_, (\n buildSingleArgument([Query], Argument),\n context_assert(argument(Argument))\n ), _),\n context_assert(explored(Query)),\n fail.\nbuildArgument(Query, [R, T, [Query], B, I]) :- context_check(argument([R, T, [Query], B, I])).\nbuildSingleArgument(Query, Argument) :-\n build(Query, [], Groundings, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n utils::deduplicate(DefRules, CDefRules),\n utils::deduplicate(DefPremises, CDefPremises),\n utils::deduplicate(Groundings, CGroundings),\n Argument = [AllRules, TopRule, Query, CGroundings, [LastDefRules, CDefRules, CDefPremises]].\nbuild(Check, _, [], []) :- parser::prolog(Check, Term), (callable(Term) -> call(Term); Term), !.\nbuild(Unless, _, [Unless], []) :- parser::contrary(Unless, _), !.\nbuild(Conclusion, _, [Conclusion], [AllRules, TopRule, LastDefRules, DefRules, DefPremises]) :-\n parser::premise(Id, Conclusion),\n premiseRules(Id, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n context_assert(support(Conclusion) :- argument([AllRules, TopRule, Conclusion, [Conclusion], [LastDefRules, DefRules, DefPremises]])).\nbuild(Conclusion, Ids, [Conclusion|Conclusions], [AllRules, TopRule, LastDefRules, DefRules, DefPremises]) :-\n parser::rule(Id, Premises, Conclusion),\n \\+ member(Id, Ids),\n buildPremises(Premises, [Id|Ids], Conclusions, ResRules),\n ruleRules(Id, ResRules, [AllRules, TopRule, LastDefRules, DefRules, DefPremises]),\n context_assert(support(Conclusion) :- argument([AllRules, TopRule, Conclusion, [Conclusion|Conclusions], [LastDefRules, DefRules, DefPremises]])).\nbuildPremises([], _, [], [[], [], [], []]).\nbuildPremises([H|T], Ids, Conclusions, Rules) :-\n build([H], Ids, HConclusions, HRules),\n buildPremises(T, Ids, TConclusions, TRules),\n utils::appendLists([HConclusions, TConclusions], Conclusions),\n mergeRules(HRules, TRules, Rules).';
4551
4587
  }
4552
4588
  var QueryMode_instance_0;
4553
4589
  function QueryMode_getInstance_0() {
4554
4590
  return QueryMode_instance_0;
4555
4591
  }
4556
4592
  function RuleTranslator() {
4557
- this.y3m_1 = "/*\n * Main directive. Find all the rules in the theory in the format (Name : Preconditions => Conclusion)\n * or (Name : Effects) and then if:\n * - It is a standard rule, translate it in the standard format (rule([Name, Preconditions, Conclusions]));\n * - It is a bp rule, translate it to (abstractBp([Effects]))\n * During the process, clean them from the unallowed symbols (-, o, p).\n */\nconvertAllRules(ArgRules) :-\n defeasibleRules(DefeasibleRules),\n strictRules(StrictRules, RulesIds),\n ordinaryPremises(Premises),\n axiomPremises(Axioms, AxiomsIds),\n specialRules(SpecialRules),\n utils::appendLists([DefeasibleRules, StrictRules, Premises, Axioms], Rules),\n rule_to_clause(Rules, Clauses),\n findall(sup(X, Y), sup(X, Y), Sup),\n utils::appendLists([Clauses, AxiomsIds, RulesIds, Sup, SpecialRules], ArgRules),\n utils::assert_all(ArgRules), !.\ndefeasibleRules(DefeasibleRules) :-\n findall([RuleName, Preconditions, Effect], (RuleName : Preconditions => Effect), DefeasibleRulesOld),\n prologDefeasibleRules(DefeasibleRulesNew),\n utils::append_fast(DefeasibleRulesOld, DefeasibleRulesNew, DefeasibleRules).\nstrictRules(CtrRules, Ids) :-\n findall([RuleName, Preconditions, Effect], (RuleName : Preconditions -> Effect), StrictRulesOld),\n prologStrictRules(StrictRulesNew),\n utils::append_fast(StrictRulesOld, StrictRulesNew, StrictRules),\n transpose(StrictRules, StrictRules, CtrRules),\n extract_id(CtrRules, Ids).\nordinaryPremises(Premises) :-\n findall([RuleName, Effect], ((RuleName :=> Effect), atom(RuleName)), PremisesOld),\n prologPremises(PremisesNew),\n utils::append_fast(PremisesOld, PremisesNew, Premises).\naxiomPremises(Axioms, Ids) :-\n findall([RuleName, Effect], ((RuleName :-> Effect), atom(RuleName)), AxiomsOld),\n prologAxioms(AxiomsNew),\n utils::append_fast(AxiomsOld, AxiomsNew, Axioms),\n extract_id(Axioms, Ids).\nspecialRules(SpecialRules) :-\n bpsNew(SpecialRules).\ntranspose(_, CtrRules, CtrRules) :- \\+ autoTransposition, !.\ntranspose([], CtrRules, CtrRules).\ntranspose([H|T], TempCtrRules, CtrRules) :-\n transpose(T, TempCtrRules, CR),\n findall(TrH, transposition(H, TrH), Tran),\n mergeCtrRules(CR, Tran, CtrRules).\nmergeCtrRules(All, ToMerge, X) :-\n utils::append_fast(All, ToMerge, XT),\n deduplicate(XT, X).\ndeduplicate([], []).\ndeduplicate([[RN,A,B]|T], X) :- deduplicate(T, TT), (member([RN,_,_], TT) -> X = TT; X = [[RN,A,B]|TT]). \ntransposition([Id, Prec, Effect], [Id, Prec, Effect]).\ntransposition([Id, Prec, Effect], [NewId, NewPrec ,XNegated]) :-\n compound(Prec),\n tuple_to_list(Prec, LPrec),!,\n transposition_sequential(LPrec, LPrec, Effect, Id, [], NewPrec, XNegated, NewId).\ntransposition([Id, Prec, Effect], [NewId, EffectNegated ,XNegated]) :-\n \\+ compound(Prec),\n Prec \\== [],\n prologEscape(Prec),\n negate(Prec, XNegated),\n negate(Effect, EffectNegated),\n atom_concat(Id, '_i', NewId).\ntransposition_sequential(LPrec, [H|T], Effect, Id, Skipped, NewPrec, XNegated, NewId) :-\n transposition_sequential(LPrec, T, Effect, Id, [H|Skipped], NewPrec, XNegated, NewId).\ntransposition_sequential(LPrec, [X|T], Effect, Id, Skipped, NewPrec, XNegated, NewId) :-\n prologEscape(X),\n utils::append_fast(Skipped, T, CleanedPrec),\n negate(X, XNegated),\n negate(Effect, EffectNegated),\n list_to_tuple([EffectNegated|CleanedPrec], NewPrec),\n newIdentifier(Skipped, Id, NewId).\nnewIdentifier(List, OldId, NewId) :-\n modifier(List, Mod),\n atom_concat(OldId, Mod, NewId).\nmodifier([], '_i').\nmodifier([_|Tail], Index):-\n modifier(Tail, Index1),\n atom_concat(Index1, 'i', Index).\nnegate(X, Arg) :-\n functor(X, '-', _) -> (\n arg(1, X, Arg));\n functor(X, 'p', _) -> (\n arg(1, X, PX),\n (functor(PX, '-', _) -> (\n arg(1, PX, PNX),\n Arg = o(PNX)\n );\n Arg = o(-(PX))));\n Arg = -(X).\nprologEscape(X) :- \\+ functor(X, 'prolog', _), \\+ functor(X, '~', _).\n/*\n * Standard rules (RuleName : Preconditions => Effects)\n * Special rules (RuleName : Effects)\n */\nconvertAllRules([], []).\nconvertAllRules([[H,P,E]|T], [R|Rules]) :- convertRule(H, P, E, R), convertAllRules(T, Rules).\nconvertAllRules([[H,E]|T], [R|Rules]) :- convertRule(H, E, R), convertAllRules(T, Rules).\n/*\n * Convert the given rule to the standard format\n * Example:\n * r2: followedGuidelines(X), doctor(X) => -liable(X)\n * rule([r2,[[followedGuidelines(X_e4149)],[doctor(X_e4149)]],[neg,liable(X_e4149)]]).\n */\nconvertRule(RuleName, Preconditions, Effects, rule(List)) :-\n tuple_to_list(Preconditions, Lprecond),\n tuple_to_list(Effects, Leffects),\n check_modifiers_in_list(preconditions, Lprecond, LprecondChecked),\n check_modifiers_in_list(effects, Leffects, LeffectsChecked),\n flatten_first_level(LeffectsChecked, LeffectsCheckedFlattened),\n List = [RuleName, LprecondChecked, LeffectsCheckedFlattened], !.\n/*\n * Convert the given special rule\n * Example:\n * bp(-liable(X)).\n * abastractBp([[neg, liable(X_e4149)]]).\n */\nconvertRule(bps, Effects, abstractBp(Checked)) :-\n functor(Effects, 'bp', _),\n Effects =.. L,\n removehead(L, LC),\n check_modifiers_in_list(effects, LC, Checked), !.\nconvertRule(Name, Effects, premise([Name, LeffectsCheckedFlattened])) :-\n tuple_to_list(Effects, Leffects),\n check_modifiers_in_list(effects, Leffects, LeffectsChecked),\n flatten_first_level(LeffectsChecked, LeffectsCheckedFlattened).\n/*\n * Find negations(-), obligations(o), permissions(p) on a list of preconditions/effects and\n * raplace them with the assigned literal (neg, obl, perm)\n */\ncheck_modifiers_in_list(MODE, [], []) :- !.\ncheck_modifiers_in_list(MODE, [H|T], L) :- H == [], L = [], !.\ncheck_modifiers_in_list(MODE, [H|T], R) :- H \\== [],\n check_modifiers_once(H, LH),\n check_modifiers_in_list(MODE, T, LT),\n utils::append_fast([LH], LT, L),\n R = L.\ncheck_modifiers_once(H, List) :- once(check_modifiers(H, List)).\ncheck_modifiers([], []).\ncheck_modifiers(H, List) :-\n functor(H, '-', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lobl),\n utils::append_fast([neg], Lobl, Lf),\n List = Lf);\n functor(H, 'o', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lobl),\n List = [obl|[Lobl]]);\n functor(H, 'p', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lper),\n List = [perm|[Lper]]);\n functor(H, '~', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lper),\n List = [unless|[Lper]]);\n functor(H, 'bp', _) -> (\n H =.. [_|Arg],\n check_modifiers_in_list(effects, Arg, Lper),\n List = [bp|[Lper]]);\n List = [H].\nlist_to_tuple([H], (H)) :- !.\nlist_to_tuple([H|T], (H,TT)) :- list_to_tuple(T,TT).\n/*\n * Replace all the occurences of a given element with the given argument\n */\nreplace(_, _, [],[]) :- !.\nreplace(O, R, [O|T], [R|T2]) :- replace(O, R, T, T2), !.\nreplace(O, R, [H|T], [H|T2]) :- H \\= O, replace(O, R, T, T2).\nflatten_first_level([X], X) :- !.\nflatten_first_level.\nremovehead([_|Tail], Tail).\nin(A, A) :- nonvar(A), A \\= (_ , _), !.\nin(A, (A, _)) :- !.\nin(A, (_ , Cs)) :- in(A, Cs).\ncheck_admissibility(preconditions, H, LH) :-\n \\+ defeasible_admissible(LH),\n throw(['Premise ', H, ' is not a well formed member of the argumentation language.']).\ncheck_admissibility(effects, H, LH) :-\n \\+ admissible(LH),\n throw(['Conclusion ', H, ' is not a well formed member of the argumentation language.']).\ncheck_admissibility(_, _, _).\ndefeasible_admissible([unless, Term]) :- admissible(Term).\ndefeasible_admissible(Term) :- admissible(Term).\nadmissible([neg, bp, Term]) :- admissible_terms_complete(Term).\nadmissible([bp, Term]) :- admissible_terms_complete(Term).\nadmissible([neg, Term]) :- admissible_term(Term).\nadmissible([obl, [Term]]) :- admissible_term(Term).\nadmissible([obl, [neg, Term]]) :- admissible_term(Term).\nadmissible([neg, obl, [Term]]) :- admissible_term(Term).\nadmissible([neg, obl, [neg, Term]]) :- admissible_term(Term).\nadmissible([perm, [Term]]) :- admissible_term(Term).\nadmissible([perm, [neg, Term]]) :- admissible_term(Term).\nadmissible([Term]) :- admissible_term(Term).\nadmissible_term(Term) :-\n atomic(Term),\n Term \\== neg,\n Term \\== obl,\n Term \\== perm,\n Term \\== unless,\n Term \\== bp.\nadmissible_term(Term) :- var(Term).\nadmissible_term(Term) :-\n compound(Term),\n \\+ functor(Term, 'o', _),\n \\+ functor(Term, 'p', _),\n \\+ functor(Term, '-', _),\n \\+ functor(Term, '~', _),\n \\+ functor(Term, 'bp', _),\n Term =.. [_|Args],\n admissible_terms(Args).\nadmissible_terms([]).\nadmissible_terms([H|T]) :-\n admissible_term(H),\n admissible_terms(T).\nadmissible_terms_complete([]).\nadmissible_terms_complete([H|T]) :-\n admissible(H),\n admissible_terms_complete(T).\nrule(Id, PP, [Conclusion]) :- context_check(clause(rl(Conclusion), [Id, Premises, Conclusion])), tuple_to_list(Premises, P), ff(P, PP).\npremise(Id, [Conclusion]) :- context_check(clause(rl(Conclusion), [Id, Conclusion])).\ncheck_strict(Id) :- context_check(strict(Id)).\nprolog([prolog(Term)], Term).\ncontrary([~(Term)], Term).\nundercut(undercut(Rule), Rule).\nsuperiority(sup(Id1, Id2), Id1, Id2).\n/*\n * Convert the given tuple to list\n */\ntuple_to_list(A,[A]) :- nonvar(A), A \\= (_ , _), !.\ntuple_to_list((A,B),L) :-\n tuple_to_list(A, La),\n tuple_to_list(B, Lb),\n utils::append_fast(La, Lb,L).\nff([[]], []) :- !.\nff([[X]], [X]) :- !.\nff(X, X).\nclassic_rule(X, [applicable(X)|Y], Z) :- metaRules, !, rule(X, Y, Z).\nclassic_rule(X, Y, Z) :- rule(X, Y, Z).\nclassic_rule(X, Y) :- premise(X, Y).\nclassic_conflict([A], [B], C) :- metaConflicts,\n context_check(clause(conc([conflict(A, B, C)]), _)).\nclassic_conflict([A], [B]) :- metaConflicts,\n context_check(clause(conc([conflict(A, B)]), _)).\nclassic_conflict(A, B, C) :-\n \\+ metaConflicts,\n member(conflict(A, B, C), [\n conflict([Atom], [-Atom], (Atom \\= -_)),\n conflict([-Atom], [Atom], true),\n conflict([o(Atom)], [o(-Atom)], (Atom \\= -_)), % O(x) <-> O(-x)\n conflict([o(-Atom)], [o(Atom)], true),\n conflict([p(Atom)], [o(-Atom)], (Atom \\= -_)), % P(x) <-> O(-x)\n conflict([o(-Atom)], [p(Atom)], true),\n conflict([o(Atom)], [p(-Atom)], (Atom \\= -_)), % O(x) <-> P(-x)\n conflict([p(-Atom)], [o(Atom)], true),\n conflict([o(Atom)], [-p(Atom)], true), % O(x) <-> O(-x) (-P(x))\n conflict([-p(Atom)], [o(Atom)], true),\n conflict([sup(X, Y)], [sup(Y, X)], true)\n ]).\nclassic_conflict(A, B, C) :-\n \\+ metaConflicts,\n conflict(A, B, C).\nclassic_conflict(A, B) :-\n \\+ metaConflicts,\n conflict(A, B).";
4593
+ this.a3n_1 = "/*\n * Main directive. Find all the rules in the theory in the format (Name : Preconditions => Conclusion)\n * or (Name : Effects) and then if:\n * - It is a standard rule, translate it in the standard format (rule([Name, Preconditions, Conclusions]));\n * - It is a bp rule, translate it to (abstractBp([Effects]))\n * During the process, clean them from the unallowed symbols (-, o, p).\n */\nconvertAllRules(ArgRules) :-\n defeasibleRules(DefeasibleRules),\n strictRules(StrictRules, RulesIds),\n ordinaryPremises(Premises),\n axiomPremises(Axioms, AxiomsIds),\n specialRules(SpecialRules),\n utils::appendLists([DefeasibleRules, StrictRules, Premises, Axioms], Rules),\n rule_to_clause(Rules, Clauses),\n findall(sup(X, Y), sup(X, Y), Sup),\n utils::appendLists([Clauses, AxiomsIds, RulesIds, Sup, SpecialRules], ArgRules),\n utils::assert_all(ArgRules), !.\ndefeasibleRules(DefeasibleRules) :-\n findall([RuleName, Preconditions, Effect], (RuleName : Preconditions => Effect), DefeasibleRulesOld),\n prologDefeasibleRules(DefeasibleRulesNew),\n utils::append_fast(DefeasibleRulesOld, DefeasibleRulesNew, DefeasibleRules).\nstrictRules(CtrRules, Ids) :-\n findall([RuleName, Preconditions, Effect], (RuleName : Preconditions -> Effect), StrictRulesOld),\n prologStrictRules(StrictRulesNew),\n utils::append_fast(StrictRulesOld, StrictRulesNew, StrictRules),\n transpose(StrictRules, StrictRules, CtrRules),\n extract_id(CtrRules, Ids).\nordinaryPremises(Premises) :-\n findall([RuleName, Effect], ((RuleName :=> Effect), atom(RuleName)), PremisesOld),\n prologPremises(PremisesNew),\n utils::append_fast(PremisesOld, PremisesNew, Premises).\naxiomPremises(Axioms, Ids) :-\n findall([RuleName, Effect], ((RuleName :-> Effect), atom(RuleName)), AxiomsOld),\n prologAxioms(AxiomsNew),\n utils::append_fast(AxiomsOld, AxiomsNew, Axioms),\n extract_id(Axioms, Ids).\nspecialRules(SpecialRules) :-\n bpsNew(SpecialRules).\ntranspose(_, CtrRules, CtrRules) :- \\+ autoTransposition, !.\ntranspose([], CtrRules, CtrRules).\ntranspose([H|T], TempCtrRules, CtrRules) :-\n transpose(T, TempCtrRules, CR),\n findall(TrH, transposition(H, TrH), Tran),\n mergeCtrRules(CR, Tran, CtrRules).\nmergeCtrRules(All, ToMerge, X) :-\n utils::append_fast(All, ToMerge, XT),\n deduplicate(XT, X).\ndeduplicate([], []).\ndeduplicate([[RN,A,B]|T], X) :- deduplicate(T, TT), (member([RN,_,_], TT) -> X = TT; X = [[RN,A,B]|TT]). \ntransposition([Id, Prec, Effect], [Id, Prec, Effect]).\ntransposition([Id, Prec, Effect], [NewId, NewPrec ,XNegated]) :-\n compound(Prec),\n tuple_to_list(Prec, LPrec),!,\n transposition_sequential(LPrec, LPrec, Effect, Id, [], NewPrec, XNegated, NewId).\ntransposition([Id, Prec, Effect], [NewId, EffectNegated ,XNegated]) :-\n \\+ compound(Prec),\n Prec \\== [],\n prologEscape(Prec),\n negate(Prec, XNegated),\n negate(Effect, EffectNegated),\n atom_concat(Id, '_i', NewId).\ntransposition_sequential(LPrec, [H|T], Effect, Id, Skipped, NewPrec, XNegated, NewId) :-\n transposition_sequential(LPrec, T, Effect, Id, [H|Skipped], NewPrec, XNegated, NewId).\ntransposition_sequential(LPrec, [X|T], Effect, Id, Skipped, NewPrec, XNegated, NewId) :-\n prologEscape(X),\n utils::append_fast(Skipped, T, CleanedPrec),\n negate(X, XNegated),\n negate(Effect, EffectNegated),\n list_to_tuple([EffectNegated|CleanedPrec], NewPrec),\n newIdentifier(Skipped, Id, NewId).\nnewIdentifier(List, OldId, NewId) :-\n modifier(List, Mod),\n atom_concat(OldId, Mod, NewId).\nmodifier([], '_i').\nmodifier([_|Tail], Index):-\n modifier(Tail, Index1),\n atom_concat(Index1, 'i', Index).\nnegate(X, Arg) :-\n functor(X, '-', _) -> (\n arg(1, X, Arg));\n functor(X, 'p', _) -> (\n arg(1, X, PX),\n (functor(PX, '-', _) -> (\n arg(1, PX, PNX),\n Arg = o(PNX)\n );\n Arg = o(-(PX))));\n Arg = -(X).\nprologEscape(X) :- \\+ functor(X, 'prolog', _), \\+ functor(X, '~', _).\n/*\n * Standard rules (RuleName : Preconditions => Effects)\n * Special rules (RuleName : Effects)\n */\nconvertAllRules([], []).\nconvertAllRules([[H,P,E]|T], [R|Rules]) :- convertRule(H, P, E, R), convertAllRules(T, Rules).\nconvertAllRules([[H,E]|T], [R|Rules]) :- convertRule(H, E, R), convertAllRules(T, Rules).\n/*\n * Convert the given rule to the standard format\n * Example:\n * r2: followedGuidelines(X), doctor(X) => -liable(X)\n * rule([r2,[[followedGuidelines(X_e4149)],[doctor(X_e4149)]],[neg,liable(X_e4149)]]).\n */\nconvertRule(RuleName, Preconditions, Effects, rule(List)) :-\n tuple_to_list(Preconditions, Lprecond),\n tuple_to_list(Effects, Leffects),\n check_modifiers_in_list(preconditions, Lprecond, LprecondChecked),\n check_modifiers_in_list(effects, Leffects, LeffectsChecked),\n flatten_first_level(LeffectsChecked, LeffectsCheckedFlattened),\n List = [RuleName, LprecondChecked, LeffectsCheckedFlattened], !.\n/*\n * Convert the given special rule\n * Example:\n * bp(-liable(X)).\n * abastractBp([[neg, liable(X_e4149)]]).\n */\nconvertRule(bps, Effects, abstractBp(Checked)) :-\n functor(Effects, 'bp', _),\n Effects =.. L,\n removehead(L, LC),\n check_modifiers_in_list(effects, LC, Checked), !.\nconvertRule(Name, Effects, premise([Name, LeffectsCheckedFlattened])) :-\n tuple_to_list(Effects, Leffects),\n check_modifiers_in_list(effects, Leffects, LeffectsChecked),\n flatten_first_level(LeffectsChecked, LeffectsCheckedFlattened).\n/*\n * Find negations(-), obligations(o), permissions(p) on a list of preconditions/effects and\n * raplace them with the assigned literal (neg, obl, perm)\n */\ncheck_modifiers_in_list(MODE, [], []) :- !.\ncheck_modifiers_in_list(MODE, [H|T], L) :- H == [], L = [], !.\ncheck_modifiers_in_list(MODE, [H|T], R) :- H \\== [],\n check_modifiers_once(H, LH),\n check_modifiers_in_list(MODE, T, LT),\n utils::append_fast([LH], LT, L),\n R = L.\ncheck_modifiers_once(H, List) :- once(check_modifiers(H, List)).\ncheck_modifiers([], []).\ncheck_modifiers(H, List) :-\n functor(H, '-', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lobl),\n utils::append_fast([neg], Lobl, Lf),\n List = Lf);\n functor(H, 'o', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lobl),\n List = [obl|[Lobl]]);\n functor(H, 'p', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lper),\n List = [perm|[Lper]]);\n functor(H, '~', _) -> (\n arg(1, H, Arg),\n check_modifiers_once(Arg, Lper),\n List = [unless|[Lper]]);\n functor(H, 'bp', _) -> (\n H =.. [_|Arg],\n check_modifiers_in_list(effects, Arg, Lper),\n List = [bp|[Lper]]);\n List = [H].\nlist_to_tuple([H], (H)) :- !.\nlist_to_tuple([H|T], (H,TT)) :- list_to_tuple(T,TT).\n/*\n * Replace all the occurences of a given element with the given argument\n */\nreplace(_, _, [],[]) :- !.\nreplace(O, R, [O|T], [R|T2]) :- replace(O, R, T, T2), !.\nreplace(O, R, [H|T], [H|T2]) :- H \\= O, replace(O, R, T, T2).\nflatten_first_level([X], X) :- !.\nflatten_first_level.\nremovehead([_|Tail], Tail).\nin(A, A) :- nonvar(A), A \\= (_ , _), !.\nin(A, (A, _)) :- !.\nin(A, (_ , Cs)) :- in(A, Cs).\ncheck_admissibility(preconditions, H, LH) :-\n \\+ defeasible_admissible(LH),\n throw(['Premise ', H, ' is not a well formed member of the argumentation language.']).\ncheck_admissibility(effects, H, LH) :-\n \\+ admissible(LH),\n throw(['Conclusion ', H, ' is not a well formed member of the argumentation language.']).\ncheck_admissibility(_, _, _).\ndefeasible_admissible([unless, Term]) :- admissible(Term).\ndefeasible_admissible(Term) :- admissible(Term).\nadmissible([neg, bp, Term]) :- admissible_terms_complete(Term).\nadmissible([bp, Term]) :- admissible_terms_complete(Term).\nadmissible([neg, Term]) :- admissible_term(Term).\nadmissible([obl, [Term]]) :- admissible_term(Term).\nadmissible([obl, [neg, Term]]) :- admissible_term(Term).\nadmissible([neg, obl, [Term]]) :- admissible_term(Term).\nadmissible([neg, obl, [neg, Term]]) :- admissible_term(Term).\nadmissible([perm, [Term]]) :- admissible_term(Term).\nadmissible([perm, [neg, Term]]) :- admissible_term(Term).\nadmissible([Term]) :- admissible_term(Term).\nadmissible_term(Term) :-\n atomic(Term),\n Term \\== neg,\n Term \\== obl,\n Term \\== perm,\n Term \\== unless,\n Term \\== bp.\nadmissible_term(Term) :- var(Term).\nadmissible_term(Term) :-\n compound(Term),\n \\+ functor(Term, 'o', _),\n \\+ functor(Term, 'p', _),\n \\+ functor(Term, '-', _),\n \\+ functor(Term, '~', _),\n \\+ functor(Term, 'bp', _),\n Term =.. [_|Args],\n admissible_terms(Args).\nadmissible_terms([]).\nadmissible_terms([H|T]) :-\n admissible_term(H),\n admissible_terms(T).\nadmissible_terms_complete([]).\nadmissible_terms_complete([H|T]) :-\n admissible(H),\n admissible_terms_complete(T).\nrule(Id, PP, [Conclusion]) :- context_check(clause(rl(Conclusion), [Id, Premises, Conclusion])), tuple_to_list(Premises, P), ff(P, PP).\npremise(Id, [Conclusion]) :- context_check(clause(rl(Conclusion), [Id, Conclusion])).\ncheck_strict(Id) :- context_check(strict(Id)).\nprolog([prolog(Term)], Term).\ncontrary([~(Term)], Term).\nundercut(undercut(Rule), Rule).\nsuperiority(sup(Id1, Id2), Id1, Id2).\n/*\n * Convert the given tuple to list\n */\ntuple_to_list(A,[A]) :- nonvar(A), A \\= (_ , _), !.\ntuple_to_list((A,B),L) :-\n tuple_to_list(A, La),\n tuple_to_list(B, Lb),\n utils::append_fast(La, Lb,L).\nff([[]], []) :- !.\nff([[X]], [X]) :- !.\nff(X, X).\nclassic_rule(X, [applicable(X)|Y], Z) :- metaRules, !, rule(X, Y, Z).\nclassic_rule(X, Y, Z) :- rule(X, Y, Z).\nclassic_rule(X, Y) :- premise(X, Y).\nclassic_conflict([A], [B], C) :- metaConflicts,\n context_check(clause(conc([conflict(A, B, C)]), _)).\nclassic_conflict([A], [B]) :- metaConflicts,\n context_check(clause(conc([conflict(A, B)]), _)).\nclassic_conflict(A, B, C) :-\n \\+ metaConflicts,\n member(conflict(A, B, C), [\n conflict([Atom], [-Atom], (Atom \\= -_)),\n conflict([-Atom], [Atom], true),\n conflict([o(Atom)], [o(-Atom)], (Atom \\= -_)), % O(x) <-> O(-x)\n conflict([o(-Atom)], [o(Atom)], true),\n conflict([p(Atom)], [o(-Atom)], (Atom \\= -_)), % P(x) <-> O(-x)\n conflict([o(-Atom)], [p(Atom)], true),\n conflict([o(Atom)], [p(-Atom)], (Atom \\= -_)), % O(x) <-> P(-x)\n conflict([p(-Atom)], [o(Atom)], true),\n conflict([o(Atom)], [-p(Atom)], true), % O(x) <-> O(-x) (-P(x))\n conflict([-p(Atom)], [o(Atom)], true),\n conflict([sup(X, Y)], [sup(Y, X)], true)\n ]).\nclassic_conflict(A, B, C) :-\n \\+ metaConflicts,\n conflict(A, B, C).\nclassic_conflict(A, B) :-\n \\+ metaConflicts,\n conflict(A, B).";
4558
4594
  }
4559
4595
  var RuleTranslator_instance;
4560
4596
  function RuleTranslator_getInstance() {
4561
4597
  return RuleTranslator_instance;
4562
4598
  }
4563
4599
  function StatementLabelling() {
4564
- this.u3m_1 = 'statementLabelling :-\n findall(_, (\n context_check(in([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n context_assert(statIn(Conc))\n ), _),\n findall(_, (\n context_check(out([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n \\+ context_check(statOut(Conc)),\n context_assert(statOut(Conc))\n ), _),\n findall(_, (\n context_check(und([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n \\+ context_check(statOut(Conc)),\n \\+ context_check(statUnd(Conc)),\n context_assert(statUnd(Conc))\n ), _).';
4600
+ this.w3m_1 = 'statementLabelling :-\n findall(_, (\n context_check(in([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n context_assert(statIn(Conc))\n ), _),\n findall(_, (\n context_check(out([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n \\+ context_check(statOut(Conc)),\n context_assert(statOut(Conc))\n ), _),\n findall(_, (\n context_check(und([_, _, Conc, _, _])),\n \\+ context_check(statIn(Conc)),\n \\+ context_check(statOut(Conc)),\n \\+ context_check(statUnd(Conc)),\n context_assert(statUnd(Conc))\n ), _).';
4565
4601
  }
4566
4602
  var StatementLabelling_instance;
4567
4603
  function StatementLabelling_getInstance() {
4568
4604
  return StatementLabelling_instance;
4569
4605
  }
4570
4606
  function SuperiorityRelation() {
4571
- this.c3n_1 = 'superiorArgument(A, B) :- superiorArgumentSupportBuffered(A, B, _).\nsuperiorArgument(A, B, SupSet) :- superiorArgumentSupportBuffered(A, B, SupSet).\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n context_check(superior(A, B, SupSet, true)), !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n context_check(superior(A, B, SupSet, false)),\n fail, !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n \\+ context_check(superior(A, B, _, _)),\n superiorArgumentSupport(A, B, SupSet),\n context_assert(superior(A, B, SupSet, true)), !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n \\+ cache_check(superior(A, B, _, _)),\n context_assert(superior(A, B, [], false)),\n fail, !.\nsuperiorArgumentSupport([_, _, _, _, [LastDefRulesA, DefRulesA, DefPremisesA]], [_, _, _, _, [LastDefRulesB, DefRulesB, DefPremisesB]], SupSet) :-\n\tsuperiorArgumentSupport(LastDefRulesA, DefRulesA, DefPremisesA, LastDefRulesB, DefRulesB, DefPremisesB, SupSet).\nsuperiorArgumentSupport(LastDefRulesA, _, DefPremisesA, LastDefRulesB, _, DefPremisesB, SupSet) :-\n orderingPrinciple(last),\n\tsuperior(LastDefRulesA, DefPremisesA, LastDefRulesB, DefPremisesB, SupSet).\nsuperiorArgumentSupport(_, DefRulesA, DefPremisesA, _, DefRulesB, DefPremisesB, SupSet) :-\n orderingPrinciple(weakest),\n\tsuperior(DefRulesA, DefPremisesA, DefRulesB, DefPremisesB, SupSet).\nsuperior([], PremisesA, [], PremisesB, SupSet) :-\n\tweaker(PremisesB, PremisesA, SupSet).\nsuperior(DefRulesA, _, DefRulesB, _, SupSet) :-\n\torderingPrinciple(last),\n\t(DefRulesA \\== []; DefRulesB \\== []),\n\tweaker(DefRulesB, DefRulesA, SupSet).\nsuperior(DefRulesA, [], DefRulesB, [], SupSet) :-\n\torderingPrinciple(weakest),\n\tweaker(DefRulesB, DefRulesA, SupSet).\nsuperior(DefRulesA, PremisesA, DefRulesB, PremisesB, SupSet) :-\n\torderingPrinciple(weakest),\n\t(DefRulesA \\== []; DefRulesB \\== []),\n\t(PremisesA \\== []; PremisesB \\== []),\n\tweaker(DefRulesB, DefRulesA, SupSetA),\n\tweaker(PremisesB, PremisesA, SupSetB),\n\tutils::appendLists([SupSetA, SupSetB], SupSet).\nweaker(RulesA, [], []) :-\n\tRulesA \\== [].\nweaker(RulesA, RulesB, SupSet) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(elitist),\n\tmember(Rule, RulesA),\n\tallStronger(Rule, RulesB, SupSet), !.\nweaker(RulesA, RulesB, SupSet) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(democrat),\n\tweakerDemo(RulesA, RulesB, SupSet).\nweaker(RulesA, RulesB, [sup(X, W)]) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(normal),\n\tmember(W, RulesA),\n\tmember(X, RulesB),\n\tcontext_check(sup(X, W)), !.\nweakerDemo([], _, []).\nweakerDemo([H|T], Rules, [Sup|SupSet]) :-\n\tsingleStronger(H, Rules, Sup),\n\tweakerDemo(T, Rules, SupSet).\nsingleStronger(Target, Rules, sup(Rule, Target)) :-\n\tmember(Rule, Rules),\n\tcontext_check(sup(Rule, Target)), !.\nallStronger(_, [], []).\nallStronger(Target, [Rule|Rules], [sup(Rule, Target)|SupSet]) :-\n\tcontext_check(sup(Rule, Target)),\n\tallStronger(Target, Rules, SupSet).';
4607
+ this.e3n_1 = 'superiorArgument(A, B) :- superiorArgumentSupportBuffered(A, B, _).\nsuperiorArgument(A, B, SupSet) :- superiorArgumentSupportBuffered(A, B, SupSet).\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n context_check(superior(A, B, SupSet, true)), !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n context_check(superior(A, B, SupSet, false)),\n fail, !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n \\+ context_check(superior(A, B, _, _)),\n superiorArgumentSupport(A, B, SupSet),\n context_assert(superior(A, B, SupSet, true)), !.\nsuperiorArgumentSupportBuffered(A, B, SupSet) :-\n \\+ cache_check(superior(A, B, _, _)),\n context_assert(superior(A, B, [], false)),\n fail, !.\nsuperiorArgumentSupport([_, _, _, _, [LastDefRulesA, DefRulesA, DefPremisesA]], [_, _, _, _, [LastDefRulesB, DefRulesB, DefPremisesB]], SupSet) :-\n\tsuperiorArgumentSupport(LastDefRulesA, DefRulesA, DefPremisesA, LastDefRulesB, DefRulesB, DefPremisesB, SupSet).\nsuperiorArgumentSupport(LastDefRulesA, _, DefPremisesA, LastDefRulesB, _, DefPremisesB, SupSet) :-\n orderingPrinciple(last),\n\tsuperior(LastDefRulesA, DefPremisesA, LastDefRulesB, DefPremisesB, SupSet).\nsuperiorArgumentSupport(_, DefRulesA, DefPremisesA, _, DefRulesB, DefPremisesB, SupSet) :-\n orderingPrinciple(weakest),\n\tsuperior(DefRulesA, DefPremisesA, DefRulesB, DefPremisesB, SupSet).\nsuperior([], PremisesA, [], PremisesB, SupSet) :-\n\tweaker(PremisesB, PremisesA, SupSet).\nsuperior(DefRulesA, _, DefRulesB, _, SupSet) :-\n\torderingPrinciple(last),\n\t(DefRulesA \\== []; DefRulesB \\== []),\n\tweaker(DefRulesB, DefRulesA, SupSet).\nsuperior(DefRulesA, [], DefRulesB, [], SupSet) :-\n\torderingPrinciple(weakest),\n\tweaker(DefRulesB, DefRulesA, SupSet).\nsuperior(DefRulesA, PremisesA, DefRulesB, PremisesB, SupSet) :-\n\torderingPrinciple(weakest),\n\t(DefRulesA \\== []; DefRulesB \\== []),\n\t(PremisesA \\== []; PremisesB \\== []),\n\tweaker(DefRulesB, DefRulesA, SupSetA),\n\tweaker(PremisesB, PremisesA, SupSetB),\n\tutils::appendLists([SupSetA, SupSetB], SupSet).\nweaker(RulesA, [], []) :-\n\tRulesA \\== [].\nweaker(RulesA, RulesB, SupSet) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(elitist),\n\tmember(Rule, RulesA),\n\tallStronger(Rule, RulesB, SupSet), !.\nweaker(RulesA, RulesB, SupSet) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(democrat),\n\tweakerDemo(RulesA, RulesB, SupSet).\nweaker(RulesA, RulesB, [sup(X, W)]) :-\n\tRulesA \\== [],\n\tRulesB \\== [],\n\torderingComparator(normal),\n\tmember(W, RulesA),\n\tmember(X, RulesB),\n\tcontext_check(sup(X, W)), !.\nweakerDemo([], _, []).\nweakerDemo([H|T], Rules, [Sup|SupSet]) :-\n\tsingleStronger(H, Rules, Sup),\n\tweakerDemo(T, Rules, SupSet).\nsingleStronger(Target, Rules, sup(Rule, Target)) :-\n\tmember(Rule, Rules),\n\tcontext_check(sup(Rule, Target)), !.\nallStronger(_, [], []).\nallStronger(Target, [Rule|Rules], [sup(Rule, Target)|SupSet]) :-\n\tcontext_check(sup(Rule, Target)),\n\tallStronger(Target, Rules, SupSet).';
4572
4608
  }
4573
4609
  var SuperiorityRelation_instance;
4574
4610
  function SuperiorityRelation_getInstance() {
4575
4611
  return SuperiorityRelation_instance;
4576
4612
  }
4577
4613
  function Utils() {
4578
- this.d3n_1 = 'writeList([]) :- nl.\nwriteList([X|Others]) :-\n\twrite(X),\n\twriteList(Others).\nwriteListNl([]).\nwriteListNl([X|Others]) :-\n\twrite(X),nl,\n\twriteListNl(Others).\nsortDistinct(List, Sorted) :-\n deduplicate(List, Deduplicated),\n sort(Deduplicated, Sorted).\ndeduplicate([], []).\ndeduplicate(List, Output) :-\n List \\== [],\n setof(X, member(X, List), Output).\nsort(List,Sorted) :- q_sort(List, [], Sorted).\nq_sort([], Acc, Acc).\nq_sort([H|T], Acc, Sorted) :-\n\tpivoting(H, T, L1, L2),\n\tq_sort(L1, Acc, Sorted1),\n\tq_sort(L2, [H|Sorted1], Sorted).\npivoting(H,[],[],[]).\npivoting(H, [X|T], [X|L], G) :-\n H @>= X,\n pivoting(H, T, L, G).\npivoting(H, [X|T], L, [X|G]) :-\n X @> H,\n pivoting(H, T, L, G).\nsubtract([], _, []).\nsubtract([Head|Tail], L2, L3) :-\n member(Head, L2), !,\n subtract(Tail, L2, L3).\nsubtract([Head|Tail1], L2, [Head|Tail3]) :-\n subtract(Tail1, L2, Tail3).\nisEmptyList([]).\nappendLists([], []).\nappendLists([H|T], R) :-\n appendLists(T, AT),\n append_fast(H, AT, R).\nsearch(F, L, S) :-\n between(1, L, N),\n functor(S, F, N),\n call(S).\nbetween(N, M, K) :- N < M, K = N.\nbetween(N, M, K) :- N == M, !, K = N.\nbetween(N, M, K) :- N < M, N1 is N+1, between(N1, M, K).\nrecoverGraph(Args, Attacks, Supports) :-\n findall(X, context_check(argument(X)), TempArgs),\n findall((T, A, B, C), context_check(attack(T, A, B, C)), TempAttacks),\n findall((A, B), context_check(support(A, B)), TempSupports),\n utils::sort(TempArgs, Args),\n utils::sort(TempAttacks, Attacks),\n utils::sort(TempSupports, Supports).\nrecoverArgumentLabelling(ArgsIn, ArgsOut, ArgsUnd) :-\n findall(X, context_check(in(X)), TempArgsIn),\n findall(X, context_check(out(X)), TempArgsOut),\n findall(X, context_check(und(X)), TempArgsUnd),\n utils::sort(TempArgsIn, ArgsIn),\n utils::sort(TempArgsOut, ArgsOut),\n utils::sort(TempArgsUnd, ArgsUnd).\nrecoverStatementLabelling(In, Out, Und) :-\n findall(X, context_check(statIn(X)), TempIn),\n findall(X, context_check(statOut(X)), TempOut),\n findall(X, context_check(statUnd(X)), TempUnd),\n utils::sort(TempIn, In),\n utils::sort(TempOut, Out),\n utils::sort(TempUnd, Und).';
4614
+ this.f3n_1 = 'writeList([]) :- nl.\nwriteList([X|Others]) :-\n\twrite(X),\n\twriteList(Others).\nwriteListNl([]).\nwriteListNl([X|Others]) :-\n\twrite(X),nl,\n\twriteListNl(Others).\nsortDistinct(List, Sorted) :-\n deduplicate(List, Deduplicated),\n sort(Deduplicated, Sorted).\ndeduplicate([], []).\ndeduplicate(List, Output) :-\n List \\== [],\n setof(X, member(X, List), Output).\nsort(List,Sorted) :- q_sort(List, [], Sorted).\nq_sort([], Acc, Acc).\nq_sort([H|T], Acc, Sorted) :-\n\tpivoting(H, T, L1, L2),\n\tq_sort(L1, Acc, Sorted1),\n\tq_sort(L2, [H|Sorted1], Sorted).\npivoting(H,[],[],[]).\npivoting(H, [X|T], [X|L], G) :-\n H @>= X,\n pivoting(H, T, L, G).\npivoting(H, [X|T], L, [X|G]) :-\n X @> H,\n pivoting(H, T, L, G).\nsubtract([], _, []).\nsubtract([Head|Tail], L2, L3) :-\n member(Head, L2), !,\n subtract(Tail, L2, L3).\nsubtract([Head|Tail1], L2, [Head|Tail3]) :-\n subtract(Tail1, L2, Tail3).\nisEmptyList([]).\nappendLists([], []).\nappendLists([H|T], R) :-\n appendLists(T, AT),\n append_fast(H, AT, R).\nsearch(F, L, S) :-\n between(1, L, N),\n functor(S, F, N),\n call(S).\nbetween(N, M, K) :- N < M, K = N.\nbetween(N, M, K) :- N == M, !, K = N.\nbetween(N, M, K) :- N < M, N1 is N+1, between(N1, M, K).\nrecoverGraph(Args, Attacks, Supports) :-\n findall(X, context_check(argument(X)), TempArgs),\n findall((T, A, B, C), context_check(attack(T, A, B, C)), TempAttacks),\n findall((A, B), context_check(support(A, B)), TempSupports),\n utils::sort(TempArgs, Args),\n utils::sort(TempAttacks, Attacks),\n utils::sort(TempSupports, Supports).\nrecoverArgumentLabelling(ArgsIn, ArgsOut, ArgsUnd) :-\n findall(X, context_check(in(X)), TempArgsIn),\n findall(X, context_check(out(X)), TempArgsOut),\n findall(X, context_check(und(X)), TempArgsUnd),\n utils::sort(TempArgsIn, ArgsIn),\n utils::sort(TempArgsOut, ArgsOut),\n utils::sort(TempArgsUnd, ArgsUnd).\nrecoverStatementLabelling(In, Out, Und) :-\n findall(X, context_check(statIn(X)), TempIn),\n findall(X, context_check(statOut(X)), TempOut),\n findall(X, context_check(statUnd(X)), TempUnd),\n utils::sort(TempIn, In),\n utils::sort(TempOut, Out),\n utils::sort(TempUnd, Und).';
4579
4615
  }
4580
4616
  var Utils_instance;
4581
4617
  function Utils_getInstance() {
@@ -4586,7 +4622,7 @@
4586
4622
  StructuredModeBase.call(this);
4587
4623
  }
4588
4624
  protoOf(StructuredMode).b3a = function () {
4589
- return QueryMode_instance_0.b3n_1;
4625
+ return QueryMode_instance_0.d3n_1;
4590
4626
  };
4591
4627
  var StructuredMode_instance;
4592
4628
  function StructuredMode_getInstance() {
@@ -4599,7 +4635,7 @@
4599
4635
  AttackRelationBase.call(this);
4600
4636
  }
4601
4637
  protoOf(AttackRelation_0).b3a = function () {
4602
- return AttackRelation_instance.z3m_1;
4638
+ return AttackRelation_instance.b3n_1;
4603
4639
  };
4604
4640
  var AttackRelation_instance_0;
4605
4641
  function AttackRelation_getInstance_0() {
@@ -4612,7 +4648,7 @@
4612
4648
  DebugBase.call(this);
4613
4649
  }
4614
4650
  protoOf(Debug_0).b3a = function () {
4615
- return Debug_instance.a3n_1;
4651
+ return Debug_instance.c3n_1;
4616
4652
  };
4617
4653
  var Debug_instance_0;
4618
4654
  function Debug_getInstance_0() {
@@ -4625,7 +4661,7 @@
4625
4661
  SuperiorityRelationBase.call(this);
4626
4662
  }
4627
4663
  protoOf(SuperiorityRelation_0).b3a = function () {
4628
- return SuperiorityRelation_instance.c3n_1;
4664
+ return SuperiorityRelation_instance.e3n_1;
4629
4665
  };
4630
4666
  var SuperiorityRelation_instance_0;
4631
4667
  function SuperiorityRelation_getInstance_0() {
@@ -4638,7 +4674,7 @@
4638
4674
  UtilsBase.call(this);
4639
4675
  }
4640
4676
  protoOf(Utils_0).b3a = function () {
4641
- return Utils_instance.d3n_1;
4677
+ return Utils_instance.f3n_1;
4642
4678
  };
4643
4679
  var Utils_instance_0;
4644
4680
  function Utils_getInstance_0() {