@tuprolog/arg2p-core 0.6.5 → 0.6.8

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.
@@ -6,25 +6,35 @@
6
6
  else {
7
7
  if (typeof kotlin === 'undefined') {
8
8
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency 'kotlin' was not found. Please, check whether 'kotlin' is loaded prior to '@tuprolog/arg2p-core'.");
9
- }if (typeof this['@tuprolog/2p-solve'] === 'undefined') {
9
+ }
10
+ if (typeof this['@tuprolog/2p-solve'] === 'undefined') {
10
11
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-solve' was not found. Please, check whether '@tuprolog/2p-solve' is loaded prior to '@tuprolog/arg2p-core'.");
11
- }if (typeof this['@tuprolog/2p-dsl-theory'] === 'undefined') {
12
+ }
13
+ if (typeof this['@tuprolog/2p-dsl-theory'] === 'undefined') {
12
14
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-dsl-theory' was not found. Please, check whether '@tuprolog/2p-dsl-theory' is loaded prior to '@tuprolog/arg2p-core'.");
13
- }if (typeof this['@tuprolog/2p-dsl-core'] === 'undefined') {
15
+ }
16
+ if (typeof this['@tuprolog/2p-dsl-core'] === 'undefined') {
14
17
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-dsl-core' was not found. Please, check whether '@tuprolog/2p-dsl-core' is loaded prior to '@tuprolog/arg2p-core'.");
15
- }if (typeof this['@tuprolog/2p-unify'] === 'undefined') {
18
+ }
19
+ if (typeof this['@tuprolog/2p-unify'] === 'undefined') {
16
20
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-unify' was not found. Please, check whether '@tuprolog/2p-unify' is loaded prior to '@tuprolog/arg2p-core'.");
17
- }if (typeof this['@tuprolog/2p-core'] === 'undefined') {
21
+ }
22
+ if (typeof this['@tuprolog/2p-core'] === 'undefined') {
18
23
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-core' was not found. Please, check whether '@tuprolog/2p-core' is loaded prior to '@tuprolog/arg2p-core'.");
19
- }if (typeof this['@tuprolog/2p-theory'] === 'undefined') {
24
+ }
25
+ if (typeof this['@tuprolog/2p-theory'] === 'undefined') {
20
26
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-theory' was not found. Please, check whether '@tuprolog/2p-theory' is loaded prior to '@tuprolog/arg2p-core'.");
21
- }if (typeof this['@tuprolog/2p-parser-theory'] === 'undefined') {
27
+ }
28
+ if (typeof this['@tuprolog/2p-parser-theory'] === 'undefined') {
22
29
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-parser-theory' was not found. Please, check whether '@tuprolog/2p-parser-theory' is loaded prior to '@tuprolog/arg2p-core'.");
23
- }if (typeof this['@tuprolog/2p-solve-classic'] === 'undefined') {
30
+ }
31
+ if (typeof this['@tuprolog/2p-solve-classic'] === 'undefined') {
24
32
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-solve-classic' was not found. Please, check whether '@tuprolog/2p-solve-classic' is loaded prior to '@tuprolog/arg2p-core'.");
25
- }if (typeof this['@tuprolog/2p-parser-core'] === 'undefined') {
33
+ }
34
+ if (typeof this['@tuprolog/2p-parser-core'] === 'undefined') {
26
35
  throw new Error("Error loading module '@tuprolog/arg2p-core'. Its dependency '@tuprolog/2p-parser-core' was not found. Please, check whether '@tuprolog/2p-parser-core' is loaded prior to '@tuprolog/arg2p-core'.");
27
- }root['@tuprolog/arg2p-core'] = factory(typeof this['@tuprolog/arg2p-core'] === 'undefined' ? {} : this['@tuprolog/arg2p-core'], kotlin, this['@tuprolog/2p-solve'], this['@tuprolog/2p-dsl-theory'], this['@tuprolog/2p-dsl-core'], this['@tuprolog/2p-unify'], this['@tuprolog/2p-core'], this['@tuprolog/2p-theory'], this['@tuprolog/2p-parser-theory'], this['@tuprolog/2p-solve-classic'], this['@tuprolog/2p-parser-core']);
36
+ }
37
+ root['@tuprolog/arg2p-core'] = factory(typeof this['@tuprolog/arg2p-core'] === 'undefined' ? {} : this['@tuprolog/arg2p-core'], kotlin, this['@tuprolog/2p-solve'], this['@tuprolog/2p-dsl-theory'], this['@tuprolog/2p-dsl-core'], this['@tuprolog/2p-unify'], this['@tuprolog/2p-core'], this['@tuprolog/2p-theory'], this['@tuprolog/2p-parser-theory'], this['@tuprolog/2p-solve-classic'], this['@tuprolog/2p-parser-core']);
28
38
  }
29
39
  }(this, function (_, Kotlin, $module$_2p_solve, $module$_2p_dsl_theory, $module$_2p_dsl_core, $module$_2p_unify, $module$_2p_core, $module$_2p_theory, $module$_2p_parser_theory, $module$_2p_solve_classic, $module$_2p_parser_core) {
30
40
  'use strict';
@@ -77,6 +87,8 @@
77
87
  var equals = Kotlin.equals;
78
88
  var DomainError = $module$_2p_solve.it.unibo.tuprolog.solve.exception.error.DomainError;
79
89
  var DomainError$Expected = $module$_2p_solve.it.unibo.tuprolog.solve.exception.error.DomainError.Expected;
90
+ var SolveOptions = $module$_2p_solve.it.unibo.tuprolog.solve.SolveOptions;
91
+ var Long$Companion$MAX_VALUE = Kotlin.Long.MAX_VALUE;
80
92
  var Unit = Kotlin.kotlin.Unit;
81
93
  var filter = Kotlin.kotlin.sequences.filter_euau3h$;
82
94
  var prolog = $module$_2p_dsl_core.it.unibo.tuprolog.dsl.prolog;
@@ -114,14 +126,14 @@
114
126
  var IllegalArgumentException_init = Kotlin.kotlin.IllegalArgumentException_init;
115
127
  var copyToArray = Kotlin.kotlin.collections.copyToArray;
116
128
  var hashCode = Kotlin.hashCode;
129
+ var Collection = Kotlin.kotlin.collections.Collection;
117
130
  var AliasedLibrary = $module$_2p_solve.it.unibo.tuprolog.solve.library.AliasedLibrary;
118
131
  var compareBy = Kotlin.kotlin.comparisons.compareBy_bvgy4j$;
119
132
  var sortedWith = Kotlin.kotlin.sequences.sortedWith_vjgqpk$;
120
133
  var mapIndexed = Kotlin.kotlin.sequences.mapIndexed_b7yuyq$;
121
- var firstOrNull = Kotlin.kotlin.sequences.firstOrNull_veqyi0$;
134
+ var Pair = Kotlin.kotlin.Pair;
122
135
  var NoSuchElementException_init = Kotlin.kotlin.NoSuchElementException;
123
- var addAll = Kotlin.kotlin.collections.addAll_ipc267$;
124
- var firstOrNull_0 = Kotlin.kotlin.collections.firstOrNull_2p1efm$;
136
+ var firstOrNull = Kotlin.kotlin.collections.firstOrNull_2p1efm$;
125
137
  var plus_0 = Kotlin.kotlin.collections.plus_qloxvw$;
126
138
  var Cons = $module$_2p_core.it.unibo.tuprolog.core.Cons;
127
139
  DynamicLoader$WithLib.prototype = Object.create(DynamicLoader$AbstractWithLib.prototype);
@@ -311,7 +323,8 @@
311
323
  function Arg2pSolver$Companion_getInstance() {
312
324
  if (Arg2pSolver$Companion_instance === null) {
313
325
  new Arg2pSolver$Companion();
314
- }return Arg2pSolver$Companion_instance;
326
+ }
327
+ return Arg2pSolver$Companion_instance;
315
328
  }
316
329
  Arg2pSolver.$metadata$ = {
317
330
  kind: Kind_INTERFACE,
@@ -926,36 +939,18 @@
926
939
  PrologWithArgumentationImpl.prototype.write1 = function (term) {
927
940
  return this.$delegate_38xz9p$_0.write1(term);
928
941
  };
929
- PrologWithArgumentationImpl.prototype.neq2 = function ($receiver, right) {
930
- return this.$delegate_38xz9p$_0.neq2($receiver, right);
931
- };
932
- PrologWithArgumentationImpl.prototype.nid2 = function ($receiver, right) {
933
- return this.$delegate_38xz9p$_0.nid2($receiver, right);
934
- };
935
- PrologWithArgumentationImpl.prototype.power = function ($receiver, right) {
936
- return this.$delegate_38xz9p$_0.power($receiver, right);
937
- };
938
- PrologWithArgumentationImpl.prototype.eq2 = function ($receiver, right) {
939
- return this.$delegate_38xz9p$_0.eq2($receiver, right);
940
- };
941
- PrologWithArgumentationImpl.prototype.arithNeq2 = function ($receiver, right) {
942
- return this.$delegate_38xz9p$_0.arithNeq2($receiver, right);
943
- };
944
- PrologWithArgumentationImpl.prototype.id2 = function ($receiver, right) {
945
- return this.$delegate_38xz9p$_0.id2($receiver, right);
946
- };
947
- PrologWithArgumentationImpl.prototype.arithEq2 = function ($receiver, right) {
948
- return this.$delegate_38xz9p$_0.arithEq2($receiver, right);
949
- };
950
- PrologWithArgumentationImpl.prototype.pow = function ($receiver, right) {
951
- return this.$delegate_38xz9p$_0.pow($receiver, right);
952
- };
953
942
  PrologWithArgumentationImpl.prototype.anyAnd = function ($receiver, other) {
954
943
  return this.$delegate_38xz9p$_0.anyAnd($receiver, other);
955
944
  };
956
945
  PrologWithArgumentationImpl.prototype.append = function ($receiver, item, items) {
957
946
  return this.$delegate_38xz9p$_0.append($receiver, item, items);
958
947
  };
948
+ PrologWithArgumentationImpl.prototype.arithEq2 = function ($receiver, right) {
949
+ return this.$delegate_38xz9p$_0.arithEq2($receiver, right);
950
+ };
951
+ PrologWithArgumentationImpl.prototype.arithNeq2 = function ($receiver, right) {
952
+ return this.$delegate_38xz9p$_0.arithNeq2($receiver, right);
953
+ };
959
954
  PrologWithArgumentationImpl.prototype.concat = function ($receiver, other) {
960
955
  return this.$delegate_38xz9p$_0.concat($receiver, other);
961
956
  };
@@ -971,6 +966,9 @@
971
966
  PrologWithArgumentationImpl.prototype.anyDiv = function ($receiver, other) {
972
967
  return this.$delegate_38xz9p$_0.anyDiv($receiver, other);
973
968
  };
969
+ PrologWithArgumentationImpl.prototype.eq2 = function ($receiver, right) {
970
+ return this.$delegate_38xz9p$_0.eq2($receiver, right);
971
+ };
974
972
  PrologWithArgumentationImpl.prototype.anyEqualsTo = function ($receiver, other) {
975
973
  return this.$delegate_38xz9p$_0.anyEqualsTo($receiver, other);
976
974
  };
@@ -983,6 +981,9 @@
983
981
  PrologWithArgumentationImpl.prototype.anyGreaterThanOrEqualsTo = function ($receiver, other) {
984
982
  return this.$delegate_38xz9p$_0.anyGreaterThanOrEqualsTo($receiver, other);
985
983
  };
984
+ PrologWithArgumentationImpl.prototype.id2 = function ($receiver, right) {
985
+ return this.$delegate_38xz9p$_0.id2($receiver, right);
986
+ };
986
987
  PrologWithArgumentationImpl.prototype.anyIf = function ($receiver, other) {
987
988
  return this.$delegate_38xz9p$_0.anyIf($receiver, other);
988
989
  };
@@ -1013,6 +1014,12 @@
1013
1014
  PrologWithArgumentationImpl.prototype.anyMinus = function ($receiver, other) {
1014
1015
  return this.$delegate_38xz9p$_0.anyMinus($receiver, other);
1015
1016
  };
1017
+ PrologWithArgumentationImpl.prototype.neq2 = function ($receiver, right) {
1018
+ return this.$delegate_38xz9p$_0.neq2($receiver, right);
1019
+ };
1020
+ PrologWithArgumentationImpl.prototype.nid2 = function ($receiver, right) {
1021
+ return this.$delegate_38xz9p$_0.nid2($receiver, right);
1022
+ };
1016
1023
  PrologWithArgumentationImpl.prototype.anyNonGreaterThan = function ($receiver, other) {
1017
1024
  return this.$delegate_38xz9p$_0.anyNonGreaterThan($receiver, other);
1018
1025
  };
@@ -1277,7 +1284,8 @@
1277
1284
  throw this.exception_0;
1278
1285
  case 2:
1279
1286
  return this.result_0;
1280
- default:this.state_0 = 1;
1287
+ default:
1288
+ this.state_0 = 1;
1281
1289
  throw new Error('State Machine Unreachable execution');
1282
1290
  }
1283
1291
  } catch (e) {
@@ -1543,7 +1551,8 @@
1543
1551
  throw this.exception_0;
1544
1552
  case 2:
1545
1553
  return this.result_0;
1546
- default:this.state_0 = 1;
1554
+ default:
1555
+ this.state_0 = 1;
1547
1556
  throw new Error('State Machine Unreachable execution');
1548
1557
  }
1549
1558
  } catch (e) {
@@ -1621,7 +1630,8 @@
1621
1630
  throw this.exception_0;
1622
1631
  case 2:
1623
1632
  return this.result_0;
1624
- default:this.state_0 = 1;
1633
+ default:
1634
+ this.state_0 = 1;
1625
1635
  throw new Error('State Machine Unreachable execution');
1626
1636
  }
1627
1637
  } catch (e) {
@@ -1724,7 +1734,7 @@
1724
1734
  switch (this.state_0) {
1725
1735
  case 0:
1726
1736
  this.state_0 = 2;
1727
- this.result_0 = this.local$$receiver.yieldAll_swo9gw$(map(this.local$closure$solver.solve(this.local$closure$goal), DynamicLoader$AbstractWithLib$solve$lambda$lambda(this.local$closure$request)), this);
1737
+ this.result_0 = this.local$$receiver.yieldAll_swo9gw$(map(this.local$closure$solver.solveWithOptions(this.local$closure$goal, SolveOptions.Companion.allLazilyWithTimeout(Long$Companion$MAX_VALUE)), DynamicLoader$AbstractWithLib$solve$lambda$lambda(this.local$closure$request)), this);
1728
1738
  if (this.result_0 === COROUTINE_SUSPENDED)
1729
1739
  return COROUTINE_SUSPENDED;
1730
1740
  continue;
@@ -1732,7 +1742,8 @@
1732
1742
  throw this.exception_0;
1733
1743
  case 2:
1734
1744
  return this.result_0;
1735
- default:this.state_0 = 1;
1745
+ default:
1746
+ this.state_0 = 1;
1736
1747
  throw new Error('State Machine Unreachable execution');
1737
1748
  }
1738
1749
  } catch (e) {
@@ -1761,9 +1772,11 @@
1761
1772
  var goal = request.arguments.get_za3lpa$(1);
1762
1773
  if (!Kotlin.isType(lib, Atom)) {
1763
1774
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, lib);
1764
- }if (!Kotlin.isType(goal, Struct)) {
1775
+ }
1776
+ if (!Kotlin.isType(goal, Struct)) {
1765
1777
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.CALLABLE, goal);
1766
- }var $receiver = this.$outer.solver_0.dynamicLibraries();
1778
+ }
1779
+ var $receiver = this.$outer.solver_0.dynamicLibraries();
1767
1780
  var firstOrNull$result;
1768
1781
  firstOrNull$break: do {
1769
1782
  var tmp$_0;
@@ -1774,14 +1787,16 @@
1774
1787
  if (equals((Kotlin.isType(tmp$_1 = element, Loadable) ? tmp$_1 : throwCCE()).identifier(), lib.toString())) {
1775
1788
  firstOrNull$result = element;
1776
1789
  break firstOrNull$break;
1777
- }}
1790
+ }
1791
+ }
1778
1792
  firstOrNull$result = null;
1779
1793
  }
1780
1794
  while (false);
1781
1795
  tmp$ = firstOrNull$result;
1782
1796
  if (tmp$ == null) {
1783
1797
  throw DomainError.Companion.forGoal(request.context, request.signature, DomainError$Expected.Companion.of('Loadable Lib'), lib);
1784
- }this.$outer;
1798
+ }
1799
+ this.$outer;
1785
1800
  var this$DynamicLoader = this.$outer;
1786
1801
  var tmp$_2 = request.context;
1787
1802
  var tmp$_3 = Libraries.Companion;
@@ -1916,7 +1931,8 @@
1916
1931
  function DynamicLoader$Companion_getInstance() {
1917
1932
  if (DynamicLoader$Companion_instance === null) {
1918
1933
  new DynamicLoader$Companion();
1919
- }return DynamicLoader$Companion_instance;
1934
+ }
1935
+ return DynamicLoader$Companion_instance;
1920
1936
  }
1921
1937
  DynamicLoader.$metadata$ = {
1922
1938
  kind: Kind_CLASS,
@@ -2024,7 +2040,8 @@
2024
2040
  function FlagsBuilder$Companion_getInstance() {
2025
2041
  if (FlagsBuilder$Companion_instance === null) {
2026
2042
  new FlagsBuilder$Companion();
2027
- }return FlagsBuilder$Companion_instance;
2043
+ }
2044
+ return FlagsBuilder$Companion_instance;
2028
2045
  }
2029
2046
  FlagsBuilder.prototype.queryMode_6taknv$ = function (queryMode) {
2030
2047
  this.queryMode = queryMode;
@@ -2183,7 +2200,8 @@
2183
2200
  function MetaInterpreter_getInstance() {
2184
2201
  if (MetaInterpreter_instance === null) {
2185
2202
  new MetaInterpreter();
2186
- }return MetaInterpreter_instance;
2203
+ }
2204
+ return MetaInterpreter_instance;
2187
2205
  }
2188
2206
  function ModuleCalls() {
2189
2207
  ModuleCalls_instance = this;
@@ -2219,7 +2237,8 @@
2219
2237
  function ModuleCalls_getInstance() {
2220
2238
  if (ModuleCalls_instance === null) {
2221
2239
  new ModuleCalls();
2222
- }return ModuleCalls_instance;
2240
+ }
2241
+ return ModuleCalls_instance;
2223
2242
  }
2224
2243
  function ModulesPath() {
2225
2244
  ModulesPath_instance = this;
@@ -2242,7 +2261,8 @@
2242
2261
  function ModulesPath_getInstance() {
2243
2262
  if (ModulesPath_instance === null) {
2244
2263
  new ModulesPath();
2245
- }return ModulesPath_instance;
2264
+ }
2265
+ return ModulesPath_instance;
2246
2266
  }
2247
2267
  function ModuleCall() {
2248
2268
  ModuleCall_instance = this;
@@ -2286,7 +2306,8 @@
2286
2306
  throw this.exception_0;
2287
2307
  case 2:
2288
2308
  return this.result_0;
2289
- default:this.state_0 = 1;
2309
+ default:
2310
+ this.state_0 = 1;
2290
2311
  throw new Error('State Machine Unreachable execution');
2291
2312
  }
2292
2313
  } catch (e) {
@@ -2314,9 +2335,11 @@
2314
2335
  var goal = request.arguments.get_za3lpa$(1);
2315
2336
  if (!Kotlin.isType(modules, List)) {
2316
2337
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, modules);
2317
- }if (!Kotlin.isType(goal, Struct)) {
2338
+ }
2339
+ if (!Kotlin.isType(goal, Struct)) {
2318
2340
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.CALLABLE, goal);
2319
- }var tmp$ = request.context;
2341
+ }
2342
+ var tmp$ = request.context;
2320
2343
  var tmp$_0 = this.mineModulesPath_0(request.context);
2321
2344
  var $receiver = modules.toList();
2322
2345
  var destination = ArrayList_init(collectionSizeOrDefault($receiver, 10));
@@ -2374,7 +2397,8 @@
2374
2397
  function ModuleCall_getInstance() {
2375
2398
  if (ModuleCall_instance === null) {
2376
2399
  new ModuleCall();
2377
- }return ModuleCall_instance;
2400
+ }
2401
+ return ModuleCall_instance;
2378
2402
  }
2379
2403
  function AbstractModeBase() {
2380
2404
  LazyRawPrologContent.call(this);
@@ -2434,7 +2458,8 @@
2434
2458
  function GraphExtension_getInstance() {
2435
2459
  if (GraphExtension_instance === null) {
2436
2460
  new GraphExtension();
2437
- }return GraphExtension_instance;
2461
+ }
2462
+ return GraphExtension_instance;
2438
2463
  }
2439
2464
  function ArgumentLabellingMode() {
2440
2465
  ArgumentLabellingMode_instance = this;
@@ -2457,7 +2482,8 @@
2457
2482
  function ArgumentLabellingMode_getInstance() {
2458
2483
  if (ArgumentLabellingMode_instance === null) {
2459
2484
  new ArgumentLabellingMode();
2460
- }return ArgumentLabellingMode_instance;
2485
+ }
2486
+ return ArgumentLabellingMode_instance;
2461
2487
  }
2462
2488
  function StatementLabellingMode() {
2463
2489
  StatementLabellingMode_instance = this;
@@ -2480,7 +2506,8 @@
2480
2506
  function StatementLabellingMode_getInstance() {
2481
2507
  if (StatementLabellingMode_instance === null) {
2482
2508
  new StatementLabellingMode();
2483
- }return StatementLabellingMode_instance;
2509
+ }
2510
+ return StatementLabellingMode_instance;
2484
2511
  }
2485
2512
  function GraphBuildMode() {
2486
2513
  GraphBuildMode_instance = this;
@@ -2503,7 +2530,8 @@
2503
2530
  function GraphBuildMode_getInstance() {
2504
2531
  if (GraphBuildMode_instance === null) {
2505
2532
  new GraphBuildMode();
2506
- }return GraphBuildMode_instance;
2533
+ }
2534
+ return GraphBuildMode_instance;
2507
2535
  }
2508
2536
  function ArgumentationGraphBuilderBase() {
2509
2537
  LazyRawPrologContent.call(this);
@@ -2768,7 +2796,8 @@
2768
2796
  function BinaryStatementLabeller_getInstance() {
2769
2797
  if (BinaryStatementLabeller_instance === null) {
2770
2798
  new BinaryStatementLabeller();
2771
- }return BinaryStatementLabeller_instance;
2799
+ }
2800
+ return BinaryStatementLabeller_instance;
2772
2801
  }
2773
2802
  function BinaryLabelling() {
2774
2803
  BinaryLabelling_instance = this;
@@ -2789,7 +2818,8 @@
2789
2818
  function BinaryLabelling_getInstance() {
2790
2819
  if (BinaryLabelling_instance === null) {
2791
2820
  new BinaryLabelling();
2792
- }return BinaryLabelling_instance;
2821
+ }
2822
+ return BinaryLabelling_instance;
2793
2823
  }
2794
2824
  function BpCompleteLabellerBase() {
2795
2825
  LazyRawPrologContent.call(this);
@@ -3054,7 +3084,8 @@
3054
3084
  function PassThroughStatementLabeller_getInstance() {
3055
3085
  if (PassThroughStatementLabeller_instance === null) {
3056
3086
  new PassThroughStatementLabeller();
3057
- }return PassThroughStatementLabeller_instance;
3087
+ }
3088
+ return PassThroughStatementLabeller_instance;
3058
3089
  }
3059
3090
  function Labelling() {
3060
3091
  Labelling_instance = this;
@@ -3075,7 +3106,8 @@
3075
3106
  function Labelling_getInstance() {
3076
3107
  if (Labelling_instance === null) {
3077
3108
  new Labelling();
3078
- }return Labelling_instance;
3109
+ }
3110
+ return Labelling_instance;
3079
3111
  }
3080
3112
  function StatementLabellerBase() {
3081
3113
  LazyRawPrologContent.call(this);
@@ -3176,7 +3208,8 @@
3176
3208
  function RuleParserBase$Companion_getInstance() {
3177
3209
  if (RuleParserBase$Companion_instance === null) {
3178
3210
  new RuleParserBase$Companion();
3179
- }return RuleParserBase$Companion_instance;
3211
+ }
3212
+ return RuleParserBase$Companion_instance;
3180
3213
  }
3181
3214
  RuleParserBase.$metadata$ = {
3182
3215
  kind: Kind_CLASS,
@@ -3204,7 +3237,8 @@
3204
3237
  function AutoTransposition_getInstance() {
3205
3238
  if (AutoTransposition_instance === null) {
3206
3239
  new AutoTransposition();
3207
- }return AutoTransposition_instance;
3240
+ }
3241
+ return AutoTransposition_instance;
3208
3242
  }
3209
3243
  function PrologStrictCompatibility() {
3210
3244
  PrologStrictCompatibility_instance = this;
@@ -3227,7 +3261,8 @@
3227
3261
  function PrologStrictCompatibility_getInstance() {
3228
3262
  if (PrologStrictCompatibility_instance === null) {
3229
3263
  new PrologStrictCompatibility();
3230
- }return PrologStrictCompatibility_instance;
3264
+ }
3265
+ return PrologStrictCompatibility_instance;
3231
3266
  }
3232
3267
  function ConversionUtils() {
3233
3268
  ConversionUtils_instance = this;
@@ -3279,7 +3314,8 @@
3279
3314
  function ConversionUtils_getInstance() {
3280
3315
  if (ConversionUtils_instance === null) {
3281
3316
  new ConversionUtils();
3282
- }return ConversionUtils_instance;
3317
+ }
3318
+ return ConversionUtils_instance;
3283
3319
  }
3284
3320
  function StrictRules() {
3285
3321
  StrictRules_instance = this;
@@ -3319,7 +3355,8 @@
3319
3355
  function StrictRules_getInstance() {
3320
3356
  if (StrictRules_instance === null) {
3321
3357
  new StrictRules();
3322
- }return StrictRules_instance;
3358
+ }
3359
+ return StrictRules_instance;
3323
3360
  }
3324
3361
  function Axioms() {
3325
3362
  Axioms_instance = this;
@@ -3355,7 +3392,8 @@
3355
3392
  function Axioms_getInstance() {
3356
3393
  if (Axioms_instance === null) {
3357
3394
  new Axioms();
3358
- }return Axioms_instance;
3395
+ }
3396
+ return Axioms_instance;
3359
3397
  }
3360
3398
  function Premises() {
3361
3399
  Premises_instance = this;
@@ -3391,7 +3429,8 @@
3391
3429
  function Premises_getInstance() {
3392
3430
  if (Premises_instance === null) {
3393
3431
  new Premises();
3394
- }return Premises_instance;
3432
+ }
3433
+ return Premises_instance;
3395
3434
  }
3396
3435
  function DefeasibleRules() {
3397
3436
  DefeasibleRules_instance = this;
@@ -3441,7 +3480,8 @@
3441
3480
  function DefeasibleRules_getInstance() {
3442
3481
  if (DefeasibleRules_instance === null) {
3443
3482
  new DefeasibleRules();
3444
- }return DefeasibleRules_instance;
3483
+ }
3484
+ return DefeasibleRules_instance;
3445
3485
  }
3446
3486
  function Bps() {
3447
3487
  Bps_instance = this;
@@ -3478,7 +3518,8 @@
3478
3518
  function Bps_getInstance() {
3479
3519
  if (Bps_instance === null) {
3480
3520
  new Bps();
3481
- }return Bps_instance;
3521
+ }
3522
+ return Bps_instance;
3482
3523
  }
3483
3524
  function ExtractStrictIds() {
3484
3525
  ExtractStrictIds_instance = this;
@@ -3507,7 +3548,8 @@
3507
3548
  function ExtractStrictIds_getInstance() {
3508
3549
  if (ExtractStrictIds_instance === null) {
3509
3550
  new ExtractStrictIds();
3510
- }return ExtractStrictIds_instance;
3551
+ }
3552
+ return ExtractStrictIds_instance;
3511
3553
  }
3512
3554
  function RuleToClause() {
3513
3555
  RuleToClause_instance = this;
@@ -3534,7 +3576,8 @@
3534
3576
  case 3:
3535
3577
  block$result = Clause.Companion.of(Struct.Companion.of('rl', [it.get_za3lpa$(2)]), [item]);
3536
3578
  break block$break;
3537
- default:throw IllegalArgumentException_init();
3579
+ default:
3580
+ throw IllegalArgumentException_init();
3538
3581
  }
3539
3582
  }
3540
3583
  while (false);
@@ -3551,7 +3594,8 @@
3551
3594
  function RuleToClause_getInstance() {
3552
3595
  if (RuleToClause_instance === null) {
3553
3596
  new RuleToClause();
3554
- }return RuleToClause_instance;
3597
+ }
3598
+ return RuleToClause_instance;
3555
3599
  }
3556
3600
  function StructuredModeBase() {
3557
3601
  LazyRawPrologContent.call(this);
@@ -3611,7 +3655,8 @@
3611
3655
  function QueryMode_getInstance() {
3612
3656
  if (QueryMode_instance === null) {
3613
3657
  new QueryMode();
3614
- }return QueryMode_instance;
3658
+ }
3659
+ return QueryMode_instance;
3615
3660
  }
3616
3661
  function AmbiguityBlocking() {
3617
3662
  AmbiguityBlocking_instance = this;
@@ -3634,7 +3679,8 @@
3634
3679
  function AmbiguityBlocking_getInstance() {
3635
3680
  if (AmbiguityBlocking_instance === null) {
3636
3681
  new AmbiguityBlocking();
3637
- }return AmbiguityBlocking_instance;
3682
+ }
3683
+ return AmbiguityBlocking_instance;
3638
3684
  }
3639
3685
  function DebugBase() {
3640
3686
  LazyRawPrologContent.call(this);
@@ -3731,7 +3777,8 @@
3731
3777
  function OrderingPrinciple_getInstance() {
3732
3778
  if (OrderingPrinciple_instance === null) {
3733
3779
  new OrderingPrinciple();
3734
- }return OrderingPrinciple_instance;
3780
+ }
3781
+ return OrderingPrinciple_instance;
3735
3782
  }
3736
3783
  function OrderingComparator() {
3737
3784
  OrderingComparator_instance = this;
@@ -3754,7 +3801,8 @@
3754
3801
  function OrderingComparator_getInstance() {
3755
3802
  if (OrderingComparator_instance === null) {
3756
3803
  new OrderingComparator();
3757
- }return OrderingComparator_instance;
3804
+ }
3805
+ return OrderingComparator_instance;
3758
3806
  }
3759
3807
  function UtilsBase() {
3760
3808
  LazyRawPrologContent.call(this);
@@ -3777,7 +3825,7 @@
3777
3825
  var tmp$_2 = to(AppendOptimized_getInstance().signature, AppendOptimized_getInstance());
3778
3826
  var tmp$_3 = to(AssertAll_getInstance().signature, AssertAll_getInstance());
3779
3827
  var $this = ArgumentHash_getInstance();
3780
- return tmp$_1.aliased(tmp$, mapOf_0([tmp$_2, tmp$_3, to($this.signature, $this.wrappedImplementation)]), tmp$_0);
3828
+ return tmp$_1.aliased(tmp$, mapOf_0([tmp$_2, tmp$_3, to($this.signature, $this.wrappedImplementation), to(Contains_getInstance().signature, Contains_getInstance()), to(ContainsAny_getInstance().signature, ContainsAny_getInstance())]), tmp$_0);
3781
3829
  }
3782
3830
  });
3783
3831
  Object.defineProperty(UtilsBase.prototype, 'baseFlags', {
@@ -3835,7 +3883,8 @@
3835
3883
  throw this.exception_0;
3836
3884
  case 2:
3837
3885
  return this.result_0;
3838
- default:this.state_0 = 1;
3886
+ default:
3887
+ this.state_0 = 1;
3839
3888
  throw new Error('State Machine Unreachable execution');
3840
3889
  }
3841
3890
  } catch (e) {
@@ -3864,11 +3913,14 @@
3864
3913
  var res = request.arguments.get_za3lpa$(2);
3865
3914
  if (!Kotlin.isType(list1, List)) {
3866
3915
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list1);
3867
- }if (!Kotlin.isType(list2, List)) {
3916
+ }
3917
+ if (!Kotlin.isType(list2, List)) {
3868
3918
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list2);
3869
- }if (!Kotlin.isType(res, Var)) {
3919
+ }
3920
+ if (!Kotlin.isType(res, Var)) {
3870
3921
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.VARIABLE, res);
3871
- }return sequence(AppendOptimized$solve$lambda(request, res, list1, list2));
3922
+ }
3923
+ return sequence(AppendOptimized$solve$lambda(request, res, list1, list2));
3872
3924
  };
3873
3925
  AppendOptimized.$metadata$ = {
3874
3926
  kind: Kind_OBJECT,
@@ -3879,7 +3931,8 @@
3879
3931
  function AppendOptimized_getInstance() {
3880
3932
  if (AppendOptimized_instance === null) {
3881
3933
  new AppendOptimized();
3882
- }return AppendOptimized_instance;
3934
+ }
3935
+ return AppendOptimized_instance;
3883
3936
  }
3884
3937
  function AssertAll() {
3885
3938
  AssertAll_instance = this;
@@ -3925,7 +3978,8 @@
3925
3978
  throw this.exception_0;
3926
3979
  case 2:
3927
3980
  return this.result_0;
3928
- default:this.state_0 = 1;
3981
+ default:
3982
+ this.state_0 = 1;
3929
3983
  throw new Error('State Machine Unreachable execution');
3930
3984
  }
3931
3985
  } catch (e) {
@@ -3952,7 +4006,8 @@
3952
4006
  var list = request.arguments.get_za3lpa$(0);
3953
4007
  if (!Kotlin.isType(list, List)) {
3954
4008
  throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list);
3955
- }arg2pScope(AssertAll$solve$lambda(list, request));
4009
+ }
4010
+ arg2pScope(AssertAll$solve$lambda(list, request));
3956
4011
  return sequence(AssertAll$solve$lambda_0(request));
3957
4012
  };
3958
4013
  AssertAll.$metadata$ = {
@@ -3964,7 +4019,8 @@
3964
4019
  function AssertAll_getInstance() {
3965
4020
  if (AssertAll_instance === null) {
3966
4021
  new AssertAll();
3967
- }return AssertAll_instance;
4022
+ }
4023
+ return AssertAll_instance;
3968
4024
  }
3969
4025
  function ArgumentHash() {
3970
4026
  ArgumentHash_instance = this;
@@ -3982,7 +4038,219 @@
3982
4038
  function ArgumentHash_getInstance() {
3983
4039
  if (ArgumentHash_instance === null) {
3984
4040
  new ArgumentHash();
3985
- }return ArgumentHash_instance;
4041
+ }
4042
+ return ArgumentHash_instance;
4043
+ }
4044
+ function Contains() {
4045
+ Contains_instance = this;
4046
+ this.signature = new Signature('contains', 2);
4047
+ }
4048
+ function Coroutine$Contains$solve$lambda(closure$request_0, closure$list_0, closure$elem_0, $receiver_0, controller, continuation_0) {
4049
+ CoroutineImpl.call(this, continuation_0);
4050
+ this.$controller = controller;
4051
+ this.exceptionState_0 = 1;
4052
+ this.local$closure$request = closure$request_0;
4053
+ this.local$closure$list = closure$list_0;
4054
+ this.local$closure$elem = closure$elem_0;
4055
+ this.local$$receiver = $receiver_0;
4056
+ }
4057
+ Coroutine$Contains$solve$lambda.$metadata$ = {
4058
+ kind: Kotlin.Kind.CLASS,
4059
+ simpleName: null,
4060
+ interfaces: [CoroutineImpl]
4061
+ };
4062
+ Coroutine$Contains$solve$lambda.prototype = Object.create(CoroutineImpl.prototype);
4063
+ Coroutine$Contains$solve$lambda.prototype.constructor = Coroutine$Contains$solve$lambda;
4064
+ Coroutine$Contains$solve$lambda.prototype.doResume = function () {
4065
+ do
4066
+ try {
4067
+ switch (this.state_0) {
4068
+ case 0:
4069
+ var tmp$ = this.local$closure$request;
4070
+ var $receiver = this.local$closure$list.toList();
4071
+ var any$result;
4072
+ any$break: do {
4073
+ var tmp$_0;
4074
+ if (Kotlin.isType($receiver, Collection) && $receiver.isEmpty()) {
4075
+ any$result = false;
4076
+ break any$break;
4077
+ }
4078
+ tmp$_0 = $receiver.iterator();
4079
+ while (tmp$_0.hasNext()) {
4080
+ var element = tmp$_0.next();
4081
+ var closure$elem = this.local$closure$elem;
4082
+ if (Unificator.Companion.default.match(element, closure$elem)) {
4083
+ any$result = true;
4084
+ break any$break;
4085
+ }
4086
+ }
4087
+ any$result = false;
4088
+ }
4089
+ while (false);
4090
+ this.state_0 = 2;
4091
+ this.result_0 = this.local$$receiver.yield_11rb$(tmp$.replyWithCondition(any$result, void 0, []), this);
4092
+ if (this.result_0 === COROUTINE_SUSPENDED)
4093
+ return COROUTINE_SUSPENDED;
4094
+ continue;
4095
+ case 1:
4096
+ throw this.exception_0;
4097
+ case 2:
4098
+ return this.result_0;
4099
+ default:
4100
+ this.state_0 = 1;
4101
+ throw new Error('State Machine Unreachable execution');
4102
+ }
4103
+ } catch (e) {
4104
+ if (this.state_0 === 1) {
4105
+ this.exceptionState_0 = this.state_0;
4106
+ throw e;
4107
+ } else {
4108
+ this.state_0 = this.exceptionState_0;
4109
+ this.exception_0 = e;
4110
+ }
4111
+ }
4112
+ while (true);
4113
+ };
4114
+ function Contains$solve$lambda(closure$request_0, closure$list_0, closure$elem_0) {
4115
+ return function ($receiver_0, continuation_0, suspended) {
4116
+ var instance = new Coroutine$Contains$solve$lambda(closure$request_0, closure$list_0, closure$elem_0, $receiver_0, this, continuation_0);
4117
+ if (suspended)
4118
+ return instance;
4119
+ else
4120
+ return instance.doResume(null);
4121
+ };
4122
+ }
4123
+ Contains.prototype.solve = function (request) {
4124
+ var elem = request.arguments.get_za3lpa$(0);
4125
+ var list = request.arguments.get_za3lpa$(1);
4126
+ if (!Kotlin.isType(list, List)) {
4127
+ throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list);
4128
+ }
4129
+ return sequence(Contains$solve$lambda(request, list, elem));
4130
+ };
4131
+ Contains.$metadata$ = {
4132
+ kind: Kind_OBJECT,
4133
+ simpleName: 'Contains',
4134
+ interfaces: [Primitive]
4135
+ };
4136
+ var Contains_instance = null;
4137
+ function Contains_getInstance() {
4138
+ if (Contains_instance === null) {
4139
+ new Contains();
4140
+ }
4141
+ return Contains_instance;
4142
+ }
4143
+ function ContainsAny() {
4144
+ ContainsAny_instance = this;
4145
+ this.signature = new Signature('contains_any', 2);
4146
+ }
4147
+ function Coroutine$ContainsAny$solve$lambda(closure$request_0, closure$list_0, closure$elemList_0, $receiver_0, controller, continuation_0) {
4148
+ CoroutineImpl.call(this, continuation_0);
4149
+ this.$controller = controller;
4150
+ this.exceptionState_0 = 1;
4151
+ this.local$closure$request = closure$request_0;
4152
+ this.local$closure$list = closure$list_0;
4153
+ this.local$closure$elemList = closure$elemList_0;
4154
+ this.local$$receiver = $receiver_0;
4155
+ }
4156
+ Coroutine$ContainsAny$solve$lambda.$metadata$ = {
4157
+ kind: Kotlin.Kind.CLASS,
4158
+ simpleName: null,
4159
+ interfaces: [CoroutineImpl]
4160
+ };
4161
+ Coroutine$ContainsAny$solve$lambda.prototype = Object.create(CoroutineImpl.prototype);
4162
+ Coroutine$ContainsAny$solve$lambda.prototype.constructor = Coroutine$ContainsAny$solve$lambda;
4163
+ Coroutine$ContainsAny$solve$lambda.prototype.doResume = function () {
4164
+ do
4165
+ try {
4166
+ switch (this.state_0) {
4167
+ case 0:
4168
+ var tmp$ = this.local$closure$request;
4169
+ var $receiver = this.local$closure$list.toSequence();
4170
+ var any$result;
4171
+ any$break: do {
4172
+ var tmp$_0;
4173
+ tmp$_0 = $receiver.iterator();
4174
+ loop_label: while (tmp$_0.hasNext()) {
4175
+ var element = tmp$_0.next();
4176
+ var $receiver_0 = this.local$closure$elemList.toSequence();
4177
+ var any$result_0;
4178
+ any$break_0: do {
4179
+ var tmp$_1;
4180
+ tmp$_1 = $receiver_0.iterator();
4181
+ while (tmp$_1.hasNext()) {
4182
+ var element_0 = tmp$_1.next();
4183
+ if (Unificator.Companion.default.match(element, element_0)) {
4184
+ any$result_0 = true;
4185
+ break any$break_0;
4186
+ }
4187
+ }
4188
+ any$result_0 = false;
4189
+ }
4190
+ while (false);
4191
+ if (any$result_0) {
4192
+ any$result = true;
4193
+ break any$break;
4194
+ }
4195
+ }
4196
+ any$result = false;
4197
+ }
4198
+ while (false);
4199
+ this.state_0 = 2;
4200
+ this.result_0 = this.local$$receiver.yield_11rb$(tmp$.replyWithCondition(any$result, void 0, []), this);
4201
+ if (this.result_0 === COROUTINE_SUSPENDED)
4202
+ return COROUTINE_SUSPENDED;
4203
+ continue;
4204
+ case 1:
4205
+ throw this.exception_0;
4206
+ case 2:
4207
+ return this.result_0;
4208
+ default:
4209
+ this.state_0 = 1;
4210
+ throw new Error('State Machine Unreachable execution');
4211
+ }
4212
+ } catch (e) {
4213
+ if (this.state_0 === 1) {
4214
+ this.exceptionState_0 = this.state_0;
4215
+ throw e;
4216
+ } else {
4217
+ this.state_0 = this.exceptionState_0;
4218
+ this.exception_0 = e;
4219
+ }
4220
+ }
4221
+ while (true);
4222
+ };
4223
+ function ContainsAny$solve$lambda(closure$request_0, closure$list_0, closure$elemList_0) {
4224
+ return function ($receiver_0, continuation_0, suspended) {
4225
+ var instance = new Coroutine$ContainsAny$solve$lambda(closure$request_0, closure$list_0, closure$elemList_0, $receiver_0, this, continuation_0);
4226
+ if (suspended)
4227
+ return instance;
4228
+ else
4229
+ return instance.doResume(null);
4230
+ };
4231
+ }
4232
+ ContainsAny.prototype.solve = function (request) {
4233
+ var elemList = request.arguments.get_za3lpa$(0);
4234
+ var list = request.arguments.get_za3lpa$(1);
4235
+ if (!Kotlin.isType(list, List)) {
4236
+ throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list);
4237
+ }
4238
+ if (!Kotlin.isType(elemList, List)) {
4239
+ throw TypeError.Companion.forGoal(request.context, request.signature, TypeError$Expected.LIST, list);
4240
+ }
4241
+ return sequence(ContainsAny$solve$lambda(request, list, elemList));
4242
+ };
4243
+ ContainsAny.$metadata$ = {
4244
+ kind: Kind_OBJECT,
4245
+ simpleName: 'ContainsAny',
4246
+ interfaces: [Primitive]
4247
+ };
4248
+ var ContainsAny_instance = null;
4249
+ function ContainsAny_getInstance() {
4250
+ if (ContainsAny_instance === null) {
4251
+ new ContainsAny();
4252
+ }
4253
+ return ContainsAny_instance;
3986
4254
  }
3987
4255
  function MetaInterpreterLib() {
3988
4256
  MetaInterpreterLib_instance = this;
@@ -4039,7 +4307,8 @@
4039
4307
  function MetaInterpreterLib_getInstance() {
4040
4308
  if (MetaInterpreterLib_instance === null) {
4041
4309
  new MetaInterpreterLib();
4042
- }return MetaInterpreterLib_instance;
4310
+ }
4311
+ return MetaInterpreterLib_instance;
4043
4312
  }
4044
4313
  function graph($receiver, context) {
4045
4314
  var it = arguments_0($receiver, context);
@@ -4083,7 +4352,12 @@
4083
4352
  function attacks$lambda$lambda(it) {
4084
4353
  return it.isYes;
4085
4354
  }
4086
- function attacks$lambda$lambda_0(closure$arguments, this$) {
4355
+ function attacks$lambda$lambda_0(this$) {
4356
+ return function (it) {
4357
+ return new Pair(ensureNotNull(it.substitution.get_11rb$(this$.X)), ensureNotNull(it.substitution.get_11rb$(this$.Y)));
4358
+ };
4359
+ }
4360
+ function attacks$lambda$lambda_1(closure$arguments) {
4087
4361
  return function (solution) {
4088
4362
  var $receiver = closure$arguments;
4089
4363
  var first$result;
@@ -4092,11 +4366,11 @@
4092
4366
  tmp$ = $receiver.iterator();
4093
4367
  while (tmp$.hasNext()) {
4094
4368
  var element = tmp$.next();
4095
- var this$_0 = this$;
4096
- if (Unificator.Companion.default.match(element.termRepresentation(), ensureNotNull(solution.substitution.get_11rb$(this$_0.X)))) {
4369
+ if (element.hashCode() === solution.first.hashCode()) {
4097
4370
  first$result = element;
4098
4371
  break first$break;
4099
- }}
4372
+ }
4373
+ }
4100
4374
  throw new NoSuchElementException_init('Collection contains no element matching the predicate.');
4101
4375
  }
4102
4376
  while (false);
@@ -4108,11 +4382,11 @@
4108
4382
  tmp$_1 = $receiver_0.iterator();
4109
4383
  while (tmp$_1.hasNext()) {
4110
4384
  var element_0 = tmp$_1.next();
4111
- var this$_1 = this$;
4112
- if (Unificator.Companion.default.match(element_0.termRepresentation(), ensureNotNull(solution.substitution.get_11rb$(this$_1.Y)))) {
4385
+ if (element_0.hashCode() === solution.second.hashCode()) {
4113
4386
  first$result_0 = element_0;
4114
4387
  break first$break;
4115
- }}
4388
+ }
4389
+ }
4116
4390
  throw new NoSuchElementException_init('Collection contains no element matching the predicate.');
4117
4391
  }
4118
4392
  while (false);
@@ -4121,7 +4395,7 @@
4121
4395
  }
4122
4396
  function attacks$lambda(this$attacks, closure$context, closure$arguments) {
4123
4397
  return function ($receiver) {
4124
- return map(filter(this$attacks.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke('attack', $receiver._, [$receiver.X, $receiver.Y, $receiver._])])), attacks$lambda$lambda), attacks$lambda$lambda_0(closure$arguments, $receiver));
4398
+ return map(map(filter(this$attacks.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke('attack', $receiver._, [$receiver.X, $receiver.Y, $receiver._])])), attacks$lambda$lambda), attacks$lambda$lambda_0($receiver)), attacks$lambda$lambda_1(closure$arguments));
4125
4399
  };
4126
4400
  }
4127
4401
  function attacks($receiver, context, arguments_0) {
@@ -4129,15 +4403,15 @@
4129
4403
  return emptyList();
4130
4404
  return toList(prolog(attacks$lambda($receiver, context, arguments_0)));
4131
4405
  }
4132
- function supports$lambda$lambda$lambda(it) {
4406
+ function supports$lambda$lambda(it) {
4133
4407
  return it.isYes;
4134
4408
  }
4135
- function supports$lambda$lambda$lambda_0(this$) {
4409
+ function supports$lambda$lambda_0(this$) {
4136
4410
  return function (it) {
4137
- return ensureNotNull(it.substitution.get_11rb$(this$.X));
4411
+ return new Pair(ensureNotNull(it.substitution.get_11rb$(this$.X)), ensureNotNull(it.substitution.get_11rb$(this$.Y)));
4138
4412
  };
4139
4413
  }
4140
- function supports$lambda$lambda$lambda_1(closure$arguments, closure$argument) {
4414
+ function supports$lambda$lambda_1(closure$arguments) {
4141
4415
  return function (solution) {
4142
4416
  var $receiver = closure$arguments;
4143
4417
  var first$result;
@@ -4146,65 +4420,85 @@
4146
4420
  tmp$ = $receiver.iterator();
4147
4421
  while (tmp$.hasNext()) {
4148
4422
  var element = tmp$.next();
4149
- if (Unificator.Companion.default.match(element.termRepresentation(), solution)) {
4423
+ if (element.hashCode() === solution.second.hashCode()) {
4150
4424
  first$result = element;
4151
4425
  break first$break;
4152
- }}
4426
+ }
4427
+ }
4153
4428
  throw new NoSuchElementException_init('Collection contains no element matching the predicate.');
4154
4429
  }
4155
4430
  while (false);
4156
- var $receiver_0 = new Support(first$result, closure$argument);
4157
- closure$argument.supports.add_11rb$($receiver_0.supporter);
4158
- return $receiver_0;
4431
+ var $receiver_0 = first$result;
4432
+ var $receiver_1 = closure$arguments;
4433
+ var first$result_0;
4434
+ first$break: do {
4435
+ var tmp$_0;
4436
+ tmp$_0 = $receiver_1.iterator();
4437
+ while (tmp$_0.hasNext()) {
4438
+ var element_0 = tmp$_0.next();
4439
+ if (element_0.hashCode() === solution.first.hashCode()) {
4440
+ first$result_0 = element_0;
4441
+ break first$break;
4442
+ }
4443
+ }
4444
+ throw new NoSuchElementException_init('Collection contains no element matching the predicate.');
4445
+ }
4446
+ while (false);
4447
+ var $receiver_2 = new Support(first$result_0, $receiver_0);
4448
+ $receiver_0.supports.add_11rb$($receiver_2.supporter);
4449
+ return $receiver_2;
4159
4450
  };
4160
4451
  }
4161
- function supports$lambda$lambda(this$supports, closure$context, closure$argument, closure$arguments) {
4452
+ function supports$lambda(this$supports, closure$context, closure$arguments) {
4162
4453
  return function ($receiver) {
4163
- return toList(map(map(filter(this$supports.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke('support', $receiver.X, [closure$argument.termRepresentation()])])), supports$lambda$lambda$lambda), supports$lambda$lambda$lambda_0($receiver)), supports$lambda$lambda$lambda_1(closure$arguments, closure$argument)));
4454
+ return toList(map(map(filter(this$supports.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke('support', $receiver.X, [$receiver.Y])])), supports$lambda$lambda), supports$lambda$lambda_0($receiver)), supports$lambda$lambda_1(closure$arguments)));
4164
4455
  };
4165
4456
  }
4166
4457
  function supports($receiver, context, arguments_0) {
4167
- var destination = ArrayList_init_0();
4168
- var tmp$;
4169
- tmp$ = arguments_0.iterator();
4170
- while (tmp$.hasNext()) {
4171
- var element = tmp$.next();
4172
- var list = prolog(supports$lambda$lambda($receiver, context, element, arguments_0));
4173
- addAll(destination, list);
4174
- }
4175
- return destination;
4458
+ return prolog(supports$lambda($receiver, context, arguments_0));
4176
4459
  }
4177
4460
  function labels$checkFunctor$lambda$lambda(it) {
4178
4461
  return it.isYes;
4179
4462
  }
4180
- function labels$checkFunctor$lambda$lambda_0(closure$functor) {
4181
- return function (it) {
4182
- return closure$functor;
4463
+ function labels$checkFunctor$lambda$lambda_0(closure$arguments, this$, closure$functor) {
4464
+ return function (res) {
4465
+ var $receiver = closure$arguments;
4466
+ var first$result;
4467
+ first$break: do {
4468
+ var tmp$;
4469
+ tmp$ = $receiver.iterator();
4470
+ while (tmp$.hasNext()) {
4471
+ var element = tmp$.next();
4472
+ var this$_0 = this$;
4473
+ var tmp$_0 = element.hashCode();
4474
+ var $receiver_0 = res.substitution.get_11rb$(this$_0.X);
4475
+ var tmp$_1;
4476
+ if (tmp$_0 === ((tmp$_1 = $receiver_0 != null ? hashCode($receiver_0) : null) != null ? tmp$_1 : 0)) {
4477
+ first$result = element;
4478
+ break first$break;
4479
+ }
4480
+ }
4481
+ throw new NoSuchElementException_init('Collection contains no element matching the predicate.');
4482
+ }
4483
+ while (false);
4484
+ return new LabelledArgument(first$result, closure$functor);
4183
4485
  };
4184
4486
  }
4185
- function labels$checkFunctor$lambda(this$labels, closure$context, closure$functor, closure$argument) {
4487
+ function labels$checkFunctor$lambda(this$labels, closure$context, closure$functor, closure$arguments) {
4186
4488
  return function ($receiver) {
4187
- return firstOrNull(map(filter(this$labels.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke(closure$functor, closure$argument.termRepresentation(), [])])), labels$checkFunctor$lambda$lambda), labels$checkFunctor$lambda$lambda_0(closure$functor)));
4489
+ return toList(map(filter(this$labels.solve($receiver.stringInvoke('context_check', closure$context, [$receiver.stringInvoke(closure$functor, $receiver.X, [])])), labels$checkFunctor$lambda$lambda), labels$checkFunctor$lambda$lambda_0(closure$arguments, $receiver, closure$functor)));
4188
4490
  };
4189
4491
  }
4190
- function labels$checkFunctor(this$labels, closure$context) {
4191
- return function (functor, argument) {
4192
- return prolog(labels$checkFunctor$lambda(this$labels, closure$context, functor, argument));
4492
+ function labels$checkFunctor(this$labels, closure$context, closure$arguments) {
4493
+ return function (functor) {
4494
+ return prolog(labels$checkFunctor$lambda(this$labels, closure$context, functor, closure$arguments));
4193
4495
  };
4194
4496
  }
4195
4497
  function labels($receiver, context, arguments_0) {
4196
- var checkFunctor = labels$checkFunctor($receiver, context);
4197
- var destination = ArrayList_init(collectionSizeOrDefault(arguments_0, 10));
4198
- var tmp$;
4199
- tmp$ = arguments_0.iterator();
4200
- while (tmp$.hasNext()) {
4201
- var item = tmp$.next();
4202
- var tmp$_0, tmp$_1;
4203
- destination.add_11rb$(new LabelledArgument(item, (tmp$_1 = (tmp$_0 = checkFunctor('in', item)) != null ? tmp$_0 : checkFunctor('out', item)) != null ? tmp$_1 : 'und'));
4204
- }
4205
- return destination;
4498
+ var checkFunctor = labels$checkFunctor($receiver, context, arguments_0);
4499
+ return plus(plus(checkFunctor('in'), checkFunctor('out')), checkFunctor('und'));
4206
4500
  }
4207
- function Argument(rules, topRule, conclusion, groundings, defeasibleRules, defeasiblePremises, lastDefeasibleRules) {
4501
+ function Argument(rules, topRule, conclusion, groundings, defeasibleRules, defeasiblePremises, lastDefeasibleRules, term) {
4208
4502
  Argument$Companion_getInstance();
4209
4503
  if (groundings === void 0)
4210
4504
  groundings = emptyList();
@@ -4214,6 +4508,8 @@
4214
4508
  defeasiblePremises = emptyList();
4215
4509
  if (lastDefeasibleRules === void 0)
4216
4510
  lastDefeasibleRules = emptyList();
4511
+ if (term === void 0)
4512
+ term = null;
4217
4513
  this.rules = rules;
4218
4514
  this.topRule = topRule;
4219
4515
  this.conclusion = conclusion;
@@ -4221,16 +4517,22 @@
4221
4517
  this.defeasibleRules = defeasibleRules;
4222
4518
  this.defeasiblePremises = defeasiblePremises;
4223
4519
  this.lastDefeasibleRules = lastDefeasibleRules;
4520
+ this.term_0 = term;
4224
4521
  this.identifier = '';
4225
4522
  this.supports = ArrayList_init_0();
4226
4523
  }
4524
+ Argument.prototype.hashCode = function () {
4525
+ var $receiver = this.term_0;
4526
+ var tmp$;
4527
+ return (tmp$ = $receiver != null ? hashCode($receiver) : null) != null ? tmp$ : 0;
4528
+ };
4227
4529
  Object.defineProperty(Argument.prototype, 'descriptor', {
4228
4530
  configurable: true,
4229
4531
  get: function () {
4230
4532
  var tmp$, tmp$_0, tmp$_1;
4231
4533
  tmp$_1 = this.identifier + ' : ';
4232
4534
  if (equals(this.topRule, 'none'))
4233
- tmp$_0 = (tmp$ = firstOrNull_0(this.rules)) != null ? tmp$ : '';
4535
+ tmp$_0 = (tmp$ = firstOrNull(this.rules)) != null ? tmp$ : '';
4234
4536
  else {
4235
4537
  var $receiver = this.supports;
4236
4538
  var destination = ArrayList_init(collectionSizeOrDefault($receiver, 10));
@@ -4253,7 +4555,8 @@
4253
4555
  }
4254
4556
  });
4255
4557
  Argument.prototype.termRepresentation = function () {
4256
- return parse_1(Struct.Companion, '[' + this.rules + ', ' + this.topRule + ', [' + this.conclusion + '], ' + this.groundings + ', [' + this.lastDefeasibleRules + ', ' + this.defeasibleRules + ', ' + this.defeasiblePremises + ']]');
4558
+ var tmp$;
4559
+ return (tmp$ = this.term_0) != null ? tmp$ : parse_1(Struct.Companion, '[' + this.rules + ', ' + this.topRule + ', [' + this.conclusion + '], ' + this.groundings + ', [' + this.lastDefeasibleRules + ', ' + this.defeasibleRules + ', ' + this.defeasiblePremises + ']]');
4257
4560
  };
4258
4561
  Argument.prototype.toString = function () {
4259
4562
  return 'argument(' + this.termRepresentation() + ')';
@@ -4322,7 +4625,7 @@
4322
4625
  var argDefeasiblePremises = Argument$Companion$of$argDefeasiblePremises(termAsList, toStringList);
4323
4626
  var argLastDefeasibleRules = Argument$Companion$of$argLastDefeasibleRules(termAsList, toStringList);
4324
4627
  var it = termAsList(term);
4325
- return new Argument(argRules(it), argTopRule(it), argConclusion(it), argGroundings(it), argDefeasibleRules(it), argDefeasiblePremises(it), argLastDefeasibleRules(it));
4628
+ return new Argument(argRules(it), argTopRule(it), argConclusion(it), argGroundings(it), argDefeasibleRules(it), argDefeasiblePremises(it), argLastDefeasibleRules(it), term);
4326
4629
  };
4327
4630
  Argument$Companion.$metadata$ = {
4328
4631
  kind: Kind_OBJECT,
@@ -4333,7 +4636,8 @@
4333
4636
  function Argument$Companion_getInstance() {
4334
4637
  if (Argument$Companion_instance === null) {
4335
4638
  new Argument$Companion();
4336
- }return Argument$Companion_instance;
4639
+ }
4640
+ return Argument$Companion_instance;
4337
4641
  }
4338
4642
  Argument.$metadata$ = {
4339
4643
  kind: Kind_CLASS,
@@ -4361,22 +4665,14 @@
4361
4665
  Argument.prototype.component7 = function () {
4362
4666
  return this.lastDefeasibleRules;
4363
4667
  };
4364
- Argument.prototype.copy_2b7ur7$ = function (rules, topRule, conclusion, groundings, defeasibleRules, defeasiblePremises, lastDefeasibleRules) {
4365
- return new Argument(rules === void 0 ? this.rules : rules, topRule === void 0 ? this.topRule : topRule, conclusion === void 0 ? this.conclusion : conclusion, groundings === void 0 ? this.groundings : groundings, defeasibleRules === void 0 ? this.defeasibleRules : defeasibleRules, defeasiblePremises === void 0 ? this.defeasiblePremises : defeasiblePremises, lastDefeasibleRules === void 0 ? this.lastDefeasibleRules : lastDefeasibleRules);
4668
+ Argument.prototype.component8_0 = function () {
4669
+ return this.term_0;
4366
4670
  };
4367
- Argument.prototype.hashCode = function () {
4368
- var result = 0;
4369
- result = result * 31 + Kotlin.hashCode(this.rules) | 0;
4370
- result = result * 31 + Kotlin.hashCode(this.topRule) | 0;
4371
- result = result * 31 + Kotlin.hashCode(this.conclusion) | 0;
4372
- result = result * 31 + Kotlin.hashCode(this.groundings) | 0;
4373
- result = result * 31 + Kotlin.hashCode(this.defeasibleRules) | 0;
4374
- result = result * 31 + Kotlin.hashCode(this.defeasiblePremises) | 0;
4375
- result = result * 31 + Kotlin.hashCode(this.lastDefeasibleRules) | 0;
4376
- return result;
4671
+ Argument.prototype.copy_fhhptr$ = function (rules, topRule, conclusion, groundings, defeasibleRules, defeasiblePremises, lastDefeasibleRules, term) {
4672
+ return new Argument(rules === void 0 ? this.rules : rules, topRule === void 0 ? this.topRule : topRule, conclusion === void 0 ? this.conclusion : conclusion, groundings === void 0 ? this.groundings : groundings, defeasibleRules === void 0 ? this.defeasibleRules : defeasibleRules, defeasiblePremises === void 0 ? this.defeasiblePremises : defeasiblePremises, lastDefeasibleRules === void 0 ? this.lastDefeasibleRules : lastDefeasibleRules, term === void 0 ? this.term_0 : term);
4377
4673
  };
4378
4674
  Argument.prototype.equals = function (other) {
4379
- return this === other || (other !== null && (typeof other === 'object' && (Object.getPrototypeOf(this) === Object.getPrototypeOf(other) && (Kotlin.equals(this.rules, other.rules) && Kotlin.equals(this.topRule, other.topRule) && Kotlin.equals(this.conclusion, other.conclusion) && Kotlin.equals(this.groundings, other.groundings) && Kotlin.equals(this.defeasibleRules, other.defeasibleRules) && Kotlin.equals(this.defeasiblePremises, other.defeasiblePremises) && Kotlin.equals(this.lastDefeasibleRules, other.lastDefeasibleRules)))));
4675
+ return this === other || (other !== null && (typeof other === 'object' && (Object.getPrototypeOf(this) === Object.getPrototypeOf(other) && (Kotlin.equals(this.rules, other.rules) && Kotlin.equals(this.topRule, other.topRule) && Kotlin.equals(this.conclusion, other.conclusion) && Kotlin.equals(this.groundings, other.groundings) && Kotlin.equals(this.defeasibleRules, other.defeasibleRules) && Kotlin.equals(this.defeasiblePremises, other.defeasiblePremises) && Kotlin.equals(this.lastDefeasibleRules, other.lastDefeasibleRules) && Kotlin.equals(this.term_0, other.term_0)))));
4380
4676
  };
4381
4677
  function Attack(attacker, target, type, on) {
4382
4678
  if (type === void 0)
@@ -4457,7 +4753,8 @@
4457
4753
  function Graph$Companion_getInstance() {
4458
4754
  if (Graph$Companion_instance === null) {
4459
4755
  new Graph$Companion();
4460
- }return Graph$Companion_instance;
4756
+ }
4757
+ return Graph$Companion_instance;
4461
4758
  }
4462
4759
  Graph.$metadata$ = {
4463
4760
  kind: Kind_CLASS,
@@ -4683,7 +4980,8 @@
4683
4980
  function EngineInterface_getInstance() {
4684
4981
  if (EngineInterface_instance === null) {
4685
4982
  new EngineInterface();
4686
- }return EngineInterface_instance;
4983
+ }
4984
+ return EngineInterface_instance;
4687
4985
  }
4688
4986
  function AbstractMode() {
4689
4987
  AbstractMode_instance = this;
@@ -4704,7 +5002,8 @@
4704
5002
  function AbstractMode_getInstance() {
4705
5003
  if (AbstractMode_instance === null) {
4706
5004
  new AbstractMode();
4707
- }return AbstractMode_instance;
5005
+ }
5006
+ return AbstractMode_instance;
4708
5007
  }
4709
5008
  function ArgumentationGraphBuilder() {
4710
5009
  ArgumentationGraphBuilder_instance = this;
@@ -4725,7 +5024,8 @@
4725
5024
  function ArgumentationGraphBuilder_getInstance() {
4726
5025
  if (ArgumentationGraphBuilder_instance === null) {
4727
5026
  new ArgumentationGraphBuilder();
4728
- }return ArgumentationGraphBuilder_instance;
5027
+ }
5028
+ return ArgumentationGraphBuilder_instance;
4729
5029
  }
4730
5030
  function AttackRestrictionHandler() {
4731
5031
  AttackRestrictionHandler_instance = this;
@@ -4746,7 +5046,8 @@
4746
5046
  function AttackRestrictionHandler_getInstance() {
4747
5047
  if (AttackRestrictionHandler_instance === null) {
4748
5048
  new AttackRestrictionHandler();
4749
- }return AttackRestrictionHandler_instance;
5049
+ }
5050
+ return AttackRestrictionHandler_instance;
4750
5051
  }
4751
5052
  function BpMetaGraphHandler() {
4752
5053
  BpMetaGraphHandler_instance = this;
@@ -4767,7 +5068,8 @@
4767
5068
  function BpMetaGraphHandler_getInstance() {
4768
5069
  if (BpMetaGraphHandler_instance === null) {
4769
5070
  new BpMetaGraphHandler();
4770
- }return BpMetaGraphHandler_instance;
5071
+ }
5072
+ return BpMetaGraphHandler_instance;
4771
5073
  }
4772
5074
  function DefeasiblePreferencesHandler() {
4773
5075
  DefeasiblePreferencesHandler_instance = this;
@@ -4788,7 +5090,8 @@
4788
5090
  function DefeasiblePreferencesHandler_getInstance() {
4789
5091
  if (DefeasiblePreferencesHandler_instance === null) {
4790
5092
  new DefeasiblePreferencesHandler();
4791
- }return DefeasiblePreferencesHandler_instance;
5093
+ }
5094
+ return DefeasiblePreferencesHandler_instance;
4792
5095
  }
4793
5096
  function GenericDefeasiblePreferencesHandler() {
4794
5097
  GenericDefeasiblePreferencesHandler_instance = this;
@@ -4809,7 +5112,8 @@
4809
5112
  function GenericDefeasiblePreferencesHandler_getInstance() {
4810
5113
  if (GenericDefeasiblePreferencesHandler_instance === null) {
4811
5114
  new GenericDefeasiblePreferencesHandler();
4812
- }return GenericDefeasiblePreferencesHandler_instance;
5115
+ }
5116
+ return GenericDefeasiblePreferencesHandler_instance;
4813
5117
  }
4814
5118
  function StrictPreferencesHandler() {
4815
5119
  StrictPreferencesHandler_instance = this;
@@ -4830,7 +5134,8 @@
4830
5134
  function StrictPreferencesHandler_getInstance() {
4831
5135
  if (StrictPreferencesHandler_instance === null) {
4832
5136
  new StrictPreferencesHandler();
4833
- }return StrictPreferencesHandler_instance;
5137
+ }
5138
+ return StrictPreferencesHandler_instance;
4834
5139
  }
4835
5140
  function BpCompleteLabeller() {
4836
5141
  BpCompleteLabeller_instance = this;
@@ -4851,7 +5156,8 @@
4851
5156
  function BpCompleteLabeller_getInstance() {
4852
5157
  if (BpCompleteLabeller_instance === null) {
4853
5158
  new BpCompleteLabeller();
4854
- }return BpCompleteLabeller_instance;
5159
+ }
5160
+ return BpCompleteLabeller_instance;
4855
5161
  }
4856
5162
  function BpLabeller() {
4857
5163
  BpLabeller_instance = this;
@@ -4872,7 +5178,8 @@
4872
5178
  function BpLabeller_getInstance() {
4873
5179
  if (BpLabeller_instance === null) {
4874
5180
  new BpLabeller();
4875
- }return BpLabeller_instance;
5181
+ }
5182
+ return BpLabeller_instance;
4876
5183
  }
4877
5184
  function BpPartialLabeller() {
4878
5185
  BpPartialLabeller_instance = this;
@@ -4893,7 +5200,8 @@
4893
5200
  function BpPartialLabeller_getInstance() {
4894
5201
  if (BpPartialLabeller_instance === null) {
4895
5202
  new BpPartialLabeller();
4896
- }return BpPartialLabeller_instance;
5203
+ }
5204
+ return BpPartialLabeller_instance;
4897
5205
  }
4898
5206
  function CompleteLabeller() {
4899
5207
  CompleteLabeller_instance = this;
@@ -4914,7 +5222,8 @@
4914
5222
  function CompleteLabeller_getInstance() {
4915
5223
  if (CompleteLabeller_instance === null) {
4916
5224
  new CompleteLabeller();
4917
- }return CompleteLabeller_instance;
5225
+ }
5226
+ return CompleteLabeller_instance;
4918
5227
  }
4919
5228
  function GroundedLabeller() {
4920
5229
  GroundedLabeller_instance = this;
@@ -4935,7 +5244,8 @@
4935
5244
  function GroundedLabeller_getInstance() {
4936
5245
  if (GroundedLabeller_instance === null) {
4937
5246
  new GroundedLabeller();
4938
- }return GroundedLabeller_instance;
5247
+ }
5248
+ return GroundedLabeller_instance;
4939
5249
  }
4940
5250
  function GroundedLabellerOptimized() {
4941
5251
  GroundedLabellerOptimized_instance = this;
@@ -4956,7 +5266,8 @@
4956
5266
  function GroundedLabellerOptimized_getInstance() {
4957
5267
  if (GroundedLabellerOptimized_instance === null) {
4958
5268
  new GroundedLabellerOptimized();
4959
- }return GroundedLabellerOptimized_instance;
5269
+ }
5270
+ return GroundedLabellerOptimized_instance;
4960
5271
  }
4961
5272
  function StatementLabeller() {
4962
5273
  StatementLabeller_instance = this;
@@ -4977,7 +5288,8 @@
4977
5288
  function StatementLabeller_getInstance() {
4978
5289
  if (StatementLabeller_instance === null) {
4979
5290
  new StatementLabeller();
4980
- }return StatementLabeller_instance;
5291
+ }
5292
+ return StatementLabeller_instance;
4981
5293
  }
4982
5294
  function RuleParser() {
4983
5295
  RuleParser_instance = this;
@@ -4998,7 +5310,8 @@
4998
5310
  function RuleParser_getInstance() {
4999
5311
  if (RuleParser_instance === null) {
5000
5312
  new RuleParser();
5001
- }return RuleParser_instance;
5313
+ }
5314
+ return RuleParser_instance;
5002
5315
  }
5003
5316
  function AbstractMode_0() {
5004
5317
  AbstractMode_instance_0 = this;
@@ -5013,7 +5326,8 @@
5013
5326
  function AbstractMode_getInstance_0() {
5014
5327
  if (AbstractMode_instance_0 === null) {
5015
5328
  new AbstractMode_0();
5016
- }return AbstractMode_instance_0;
5329
+ }
5330
+ return AbstractMode_instance_0;
5017
5331
  }
5018
5332
  function ArgumentationEngineInterface() {
5019
5333
  ArgumentationEngineInterface_instance = this;
@@ -5028,11 +5342,12 @@
5028
5342
  function ArgumentationEngineInterface_getInstance() {
5029
5343
  if (ArgumentationEngineInterface_instance === null) {
5030
5344
  new ArgumentationEngineInterface();
5031
- }return ArgumentationEngineInterface_instance;
5345
+ }
5346
+ return ArgumentationEngineInterface_instance;
5032
5347
  }
5033
5348
  function ArgumentationGraph() {
5034
5349
  ArgumentationGraph_instance = this;
5035
- this.theoryCode = trimIndent('\n buildArgumentationGraph :-\n buildArguments,\n buildAttacks.\n buildArguments :-\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 \tbuildArgumentsFromRules(b, Rules, Rules, n).\n buildArgumentsFromPremises :-\n findall(\n _,\n (\n parser::classic_rule(PremiseID, Premise),\n checkStrict(PremiseID, DefPrem),\n ground(Premise),\n context_assert(argument([[PremiseID], none, Premise, [], [[], [], DefPrem]])),\n context_assert(conc(Premise) :- argument([[PremiseID], none, Premise, [], [[], [], DefPrem]])),\n context_assert(newConc(a, Premise)),\n utils::hash(argument([[PremiseID], none, Premise, [], [[], [], DefPrem]]), Id),\n context_assert(arg(Id) :- argument([[PremiseID], none, Premise, [], [[], [], DefPrem]]))\n ),\n _\n ).\n buildArgumentsFromEmptyRules :-\n findall(\n _,\n (\n emptyRule([RuleID, RulePrem, RuleHead]),\n checkStrict(RuleID, DefRule),\n ground(RuleHead),\n context_assert(argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])),\n context_assert(conc(Premise) :- argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])),\n context_assert(newConc(a, Premise)),\n utils::hash(argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]]), Id),\n context_assert(arg(Id) :- argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]]))\n ),\n _\n ).\n emptyRule([RuleID, Body, RuleHead]) :-\n parser::classic_rule(RuleID, Body, RuleHead),\n \\+ (member(X, Body), X \\= ~(_), X \\= prolog(_)),\n checkPrologClauses(Body).\n checkPrologClauses([]) :- !.\n checkPrologClauses([~(_)|T]) :- checkPrologClauses(T), !.\n checkPrologClauses([prolog(Check)|T]) :-\n (callable(Check) -> call(Check); Check),\n checkPrologClauses(T).\n clean(Tn, Rules) :-\n invert(Tn, Tx),\n context_retract(newConc(Tx, _)),\n buildArgumentsFromRules(Tx, Rules, Rules, n).\n check_new(Tn, H) :-\n copy_term(H, [_, RuleBody, _]),\n member(prolog(_), RuleBody), !.\n check_new(Tn, H) :-\n copy_term(H, [_, RuleBody, _]),\n member(X, RuleBody),\n invert(Tn, Tx),\n context_check(newConc(Tx, [X])).\n invert(a, b).\n invert(b, a).\n buildArgumentsFromRules(_, Rules, [], n).\n buildArgumentsFromRules(Tn, Rules, [], y) :- clean(Tn, Rules).\n buildArgumentsFromRules(Tn, Rules, [H|T], _) :-\n once(check_new(Tn, H)),\n copy_term(H, HH),\n findall(true, buildArgumentsFromRule(Tn, HH), R),\n R \\== [],\n buildArgumentsFromRules(Tn, Rules, T, y), !.\n buildArgumentsFromRules(Tn, Rules, [_|T], X) :-\n buildArgumentsFromRules(Tn, Rules, T, X).\n buildArgumentsFromRule(Tn, [RuleID, RuleBody, RuleHead]) :-\n \truleBodyIsSupported(RuleBody, [], [], SupportRules, ArgSupports),\n \t\\+ member(RuleID, SupportRules),\n \tground(RuleHead),\n \tutils::sort([RuleID|SupportRules], SortedPremises),\n \t\\+ context_check(argument([SortedPremises, RuleID, RuleHead, RuleBody, _])),\n \tbuildArgumentInfo(ArgSupports, RuleID, Info),\n NewArgument = [SortedPremises, RuleID, RuleHead, RuleBody, Info],\n context_assert(conc(RuleHead) :- argument(NewArgument)),\n context_assert(newConc(Tn, RuleHead)),\n \tcontext_assert(argument(NewArgument)),\n \tutils::hash(argument(NewArgument), Id),\n \tcontext_assert(arg(Id) :- argument(NewArgument)),\n \tsupports(NewArgument, ArgSupports).\n supports(Argument, Supports) :-\n findall(_, (\n member(S, Supports),\n context_assert(support(S, Argument))\n ), _).\n checkStrict(Id, [Id]) :- \\+ parser::check_strict(Id).\n checkStrict(Id, []) :- parser::check_strict(Id).\n buildArgumentInfo(Supports, RuleId, [LastDefRules, DefRules, DefPrem]) :-\n defeasibleRules(RuleId, Supports, DefRules),\n ordinaryPremises(Supports, DefPrem),\n lastDefeasibleRules(Supports, RuleId, LastDefRules).\n ordinaryPremises(Supports, DefPrem) :-\n findall(Def, member([_, _, _, _, [_, _, Def]], Supports), Prem),\n utils::appendLists(Prem, TempPrem),\n utils::sortDistinct(TempPrem, DefPrem).\n defeasibleRules(RuleId, Supports, DefRules) :-\n \tfindall(Def, member([_, _, _, _, [_, Def, _]], Supports), UnsortedRules),\n \tcheckStrict(RuleId, DefRule),\n \tutils::appendLists([DefRule|UnsortedRules], TempRules),\n \tutils::sortDistinct(TempRules, DefRules).\n lastDefeasibleRules(_, TopRule, [TopRule]) :-\n TopRule \\== none, \\+ parser::check_strict(TopRule).\n lastDefeasibleRules(Supports, TopRule, LastRules) :-\n \tparser::check_strict(TopRule),\n \tfindall(Def, member([_, _, _, _, [Def, _, _]], Supports), Res),\n \tutils::appendLists(Res, TempLastRules),\n \tutils::sortDistinct(TempLastRules, LastRules).\n ruleBodyIsSupported([], ResultPremises, ResultSupports, ResultPremises, ResultSupports).\n ruleBodyIsSupported([~(_)|Others], Premises, Supports, ResultPremises, ResultSupports) :-\n \truleBodyIsSupported(Others, Premises, Supports, ResultPremises, ResultSupports), !.\n ruleBodyIsSupported([prolog(Check)|Others], Premises, Supports, ResultPremises, ResultSupports) :-\n \t(callable(Check) -> call(Check); Check),\n \truleBodyIsSupported(Others, Premises, Supports, ResultPremises, ResultSupports), !.\n ruleBodyIsSupported([Statement|Others], Premises, Supports, ResultPremises, ResultSupports) :-\n context_check(clause(conc([Statement]), argument([ArgumentID, RuleID, [Statement], Body, Info]))),\n \tappend(ArgumentID, Premises, NewPremises),\n \truleBodyIsSupported(Others, NewPremises, [[ArgumentID, RuleID, [Statement], Body, Info]|Supports], ResultPremises, ResultSupports).\n findPossibleAttackers([_, _, Head, _, _], Conf) :-\n conflict(Conf, Head, Guard).\n findPossibleAttackers([_, _, Head, _, _], Conf) :-\n conflict(Conf, Head).\n findPossibleAttackers([_, _, _, Prem, _], [Conf]) :-\n member(~(Conf), Prem).\n findPossibleAttackers([_, RuleID, _, _, _], [undercut(RuleID)]).\n buildAttacks :-\n \tbuildDirectAttacks,\n \tbuildTransitiveAttacks.\n buildDirectAttacks :-\n findall(_, buildDirectAttack, _).\n buildDirectAttack :-\n context_check(argument(A)),\n findPossibleAttackers(A, BB),\n \tcontext_check(clause(conc(BB), argument(B))),\n \tA \\== B,\n attacks(T, B, A),\n \t\\+ context_check(attack(T, B, A, A)),\n \tcontext_assert(attack(T, B, A, A)),\n \tutils::hash(argument(A), IdA),\n \tutils::hash(argument(B), IdB),\n \tcontext_assert(att(IdB, IdA) :- attack(T, B, A, A)),\n \tfail.\n buildDirectAttack.\n buildTransitiveAttacks :-\n \tcontext_check(attack(T, A, B, D)),\n \tcontext_check(support(B, C)),\n \t\\+ context_check(attack(T, A, C, D)), !,\n \tcontext_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, B, C, D)),\n buildTransitiveAttacks.\n buildTransitiveAttacks.\n attacks(rebut, A, B) :- rebuts(A, B), !.\n attacks(contrary_rebut, A, B) :- contraryRebuts(A, B), !.\n attacks(undermine, A, B) :- undermines(A, B), !.\n attacks(contrary_undermine, A, B) :- contraryUndermines(A, B), !.\n attacks(undercut, A, B) :- undercuts(A, B), !.\n expanded_conflict(HeadA, HeadB) :-\n conflict(HeadA, HeadB).\n expanded_conflict(HeadA, HeadB) :-\n conflict(HeadA, HeadB, Guard),\n (callable(Guard) -> call(Guard); Guard).\n rebuts([IDPremisesA, RuleA, RuleHeadA, _, _], [IDPremisesB, RuleB, RuleHeadB, _, Info]) :-\n \tRuleB \\== none,\n Info \\== [[], [], []],\n \texpanded_conflict(RuleHeadA, RuleHeadB).\n contraryRebuts([IDPremisesA, RuleA, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n \tRuleA \\== none,\n \tRuleB \\== none,\n \tmember(~(RuleHeadA), Body).\n undermines([IDPremisesA, RuleA, RuleHeadA, _, _], [[IDPremiseB], none, RuleHeadB, _, Info]) :-\n \tInfo \\== [[], [], []],\n \texpanded_conflict(RuleHeadA, RuleHeadB).\n contraryUndermines([IDPremisesA, none, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n \tRuleB \\== none,\n \tmember(~(RuleHeadA), Body).\n undercuts([_, _, [undercut(RuleB)], _, _], [_, RuleB, _, _, [[RuleB], _, _]]).\n check(-Atom).\n conflict([Atom], [-Atom]) :- \\+ check(Atom).\n conflict([-Atom], [Atom]).\n conflict([o(Atom)], [o(-Atom)]) :- \\+ check(Atom).\n conflict([o(-Atom)], [o(Atom)]).\n conflict([p(Atom)], [o(-Atom)]) :- \\+ check(Atom).\n conflict([o(-Atom)], [p(Atom)]).\n conflict([p(-Atom)], [o(Atom)]).\n conflict([o(Atom)], [p(-Atom)]) :- \\+ check(Atom).\n conflict([sup(X, Y)], [sup(Y, X)]).\n ');
5350
+ this.theoryCode = trimIndent('\n buildArgumentationGraph :-\n buildArguments,\n buildAttacks.\n buildArguments :-\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).\n buildArgumentsFromPremises :-\n findall(\n _,\n (\n parser::classic_rule(PremiseID, Premise),\n checkStrict(PremiseID, DefPrem),\n ground(Premise),\n context_assert(argument([[PremiseID], none, Premise, [], [[], [], DefPrem]])),\n context_assert(conc(Premise) :- argument([[PremiseID], none, Premise, [], [[], [], DefPrem]])),\n context_assert(newConc(a, Premise)),\n utils::hash(argument([[PremiseID], none, Premise, [], [[], [], DefPrem]]), Id),\n context_assert(arg(Id) :- argument([[PremiseID], none, Premise, [], [[], [], DefPrem]]))\n ),\n _\n ).\n buildArgumentsFromEmptyRules :-\n findall(\n _,\n (\n emptyRule([RuleID, RulePrem, RuleHead]),\n checkStrict(RuleID, DefRule),\n ground(RuleHead),\n context_assert(argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])),\n context_assert(conc(RuleHead) :- argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]])),\n context_assert(newConc(a, RuleHead)),\n utils::hash(argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]]), Id),\n context_assert(arg(Id) :- argument([[RuleID], RuleID, RuleHead, RulePrem, [DefRule, DefRule, []]]))\n ),\n _\n ).\n emptyRule([RuleID, Body, RuleHead]) :-\n parser::classic_rule(RuleID, Body, RuleHead),\n \\+ (member(X, Body), X \\= ~(_), X \\= prolog(_)),\n checkPrologClauses(Body).\n checkPrologClauses([]) :- !.\n checkPrologClauses([~(_)|T]) :- checkPrologClauses(T), !.\n checkPrologClauses([prolog(Check)|T]) :-\n (callable(Check) -> call(Check); Check),\n checkPrologClauses(T).\n clean(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).\n invert(a, b).\n invert(b, a).\n buildArgumentsFromRules(_, _, Rules, [], n) :- !.\n buildArgumentsFromRules(_, Tn, Rules, [], y) :- !, clean(Tn, Rules).\n buildArgumentsFromRules(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), !.\n buildArgumentsFromRules(N, Tn, Rules, [_|T], X) :-\n buildArgumentsFromRules(N, Tn, Rules, T, X).\n buildArgumentsFromRule(Tn, [RuleID, RuleBody, RuleHead]) :-\n \truleBodyIsSupported(RuleID, RuleHead, RuleBody, RuleBody, [[], [], [], []], Argument),\n context_assert(newConc(Tn, RuleHead)).\n checkStrict(Id, []) :- parser::check_strict(Id), !.\n checkStrict(Id, [Id]).\n defRules(Id, Def, Def) :- parser::check_strict(Id), !.\n defRules(Id, Def, [Id|Def]).\n lastDefRules(Id, LDef, LDef) :- parser::check_strict(Id), !.\n lastDefRules(Id, LDef, [Id]) :- Id \\== none, \\+ parser::check_strict(Id).\n argumentInfo(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).\n ruleBodyIsSupported(RuleID, RuleHead, RuleBody, [], [TAll, TLDef, TDef, TPrem], Argument) :-\n ground(RuleHead),\n \\+ context_check(clause(conc(RuleHead), argument([_, RuleID, RuleHead, RuleBody, _]))),\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_assert(conc(RuleHead) :- argument(Argument)),\n context_assert(argument(Argument)),\n utils::hash(argument(Argument), Id),\n context_assert(arg(Id) :- argument(Argument)).\n ruleBodyIsSupported(RuleID, RuleHead, RuleBody, [~(_)|Others], Info, Argument) :-\n \truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\n ruleBodyIsSupported(RuleID, RuleHead, RuleBody, [prolog(Check)|Others], Info, Argument) :-\n \t(callable(Check) -> call(Check); Check),\n \truleBodyIsSupported(RuleID, RuleHead, RuleBody, Others, Info, Argument).\n ruleBodyIsSupported(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 \tcontext_assert(support([ArgumentID, RuleID, [Statement], Body, [NLDef, NDef, NPrem]], Argument)).\n findPossibleAttackers([_, _, Head, _, _], Conf) :-\n conflict(Conf, Head, Guard).\n findPossibleAttackers([_, _, Head, _, _], Conf) :-\n conflict(Conf, Head).\n findPossibleAttackers([_, _, _, Prem, _], [Conf]) :-\n member(~(Conf), Prem).\n findPossibleAttackers([_, RuleID, _, _, _], [undercut(RuleID)]).\n buildAttacks :-\n \tbuildDirectAttacks,\n \tbuildTransitiveAttacks.\n buildDirectAttacks :-\n findall(_, buildDirectAttack, _).\n buildDirectAttack :-\n context_check(argument(A)),\n findPossibleAttackers(A, BB),\n \tcontext_check(clause(conc(BB), argument(B))),\n \tA \\== B,\n attacks(T, B, A),\n \t\\+ context_check(attack(T, B, A, A)),\n \tcontext_assert(attack(T, B, A, A)),\n \tutils::hash(argument(A), IdA),\n \tutils::hash(argument(B), IdB),\n \tcontext_assert(att(IdB, IdA) :- attack(T, B, A, A)),\n \tfail.\n buildDirectAttack.\n buildTransitiveAttacks :-\n \tcontext_check(attack(T, A, B, D)),\n \tcontext_check(support(B, C)),\n \t\\+ context_check(attack(T, A, C, D)), !,\n \tcontext_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, B, C, D)),\n buildTransitiveAttacks.\n buildTransitiveAttacks.\n attacks(rebut, A, B) :- rebuts(A, B), !.\n attacks(contrary_rebut, A, B) :- contraryRebuts(A, B), !.\n attacks(undermine, A, B) :- undermines(A, B), !.\n attacks(contrary_undermine, A, B) :- contraryUndermines(A, B), !.\n attacks(undercut, A, B) :- undercuts(A, B), !.\n expanded_conflict(HeadA, HeadB) :-\n conflict(HeadA, HeadB).\n expanded_conflict(HeadA, HeadB) :-\n conflict(HeadA, HeadB, Guard),\n (callable(Guard) -> call(Guard); Guard).\n rebuts([IDPremisesA, RuleA, RuleHeadA, _, _], [IDPremisesB, RuleB, RuleHeadB, _, Info]) :-\n \tRuleB \\== none,\n Info \\== [[], [], []],\n \texpanded_conflict(RuleHeadA, RuleHeadB).\n contraryRebuts([IDPremisesA, RuleA, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n \tRuleA \\== none,\n \tRuleB \\== none,\n \tutils::contains(~(RuleHeadA), Body).\n undermines([IDPremisesA, RuleA, RuleHeadA, _, _], [[IDPremiseB], none, RuleHeadB, _, Info]) :-\n \tInfo \\== [[], [], []],\n \texpanded_conflict(RuleHeadA, RuleHeadB).\n contraryUndermines([IDPremisesA, none, [RuleHeadA], _, _], [IDPremisesB, RuleB, RuleHeadB, Body, Info]) :-\n \tRuleB \\== none,\n \tutils::contains(~(RuleHeadA), Body).\n undercuts([_, _, [undercut(RuleB)], _, _], [_, RuleB, _, _, [[RuleB], _, _]]).\n check(-Atom).\n conflict([Atom], [-Atom]) :- \\+ check(Atom).\n conflict([-Atom], [Atom]).\n conflict([o(Atom)], [o(-Atom)]) :- \\+ check(Atom).\n conflict([o(-Atom)], [o(Atom)]).\n conflict([p(Atom)], [o(-Atom)]) :- \\+ check(Atom).\n conflict([o(-Atom)], [p(Atom)]).\n conflict([p(-Atom)], [o(Atom)]).\n conflict([o(Atom)], [p(-Atom)]) :- \\+ check(Atom).\n conflict([sup(X, Y)], [sup(Y, X)]).\n ');
5036
5351
  }
5037
5352
  ArgumentationGraph.$metadata$ = {
5038
5353
  kind: Kind_OBJECT,
@@ -5043,7 +5358,8 @@
5043
5358
  function ArgumentationGraph_getInstance() {
5044
5359
  if (ArgumentationGraph_instance === null) {
5045
5360
  new ArgumentationGraph();
5046
- }return ArgumentationGraph_instance;
5361
+ }
5362
+ return ArgumentationGraph_instance;
5047
5363
  }
5048
5364
  function AttackRestriction() {
5049
5365
  AttackRestriction_instance = this;
@@ -5058,7 +5374,8 @@
5058
5374
  function AttackRestriction_getInstance() {
5059
5375
  if (AttackRestriction_instance === null) {
5060
5376
  new AttackRestriction();
5061
- }return AttackRestriction_instance;
5377
+ }
5378
+ return AttackRestriction_instance;
5062
5379
  }
5063
5380
  function Bp() {
5064
5381
  Bp_instance = this;
@@ -5073,7 +5390,8 @@
5073
5390
  function Bp_getInstance() {
5074
5391
  if (Bp_instance === null) {
5075
5392
  new Bp();
5076
- }return Bp_instance;
5393
+ }
5394
+ return Bp_instance;
5077
5395
  }
5078
5396
  function BpGrounded() {
5079
5397
  BpGrounded_instance = this;
@@ -5088,7 +5406,8 @@
5088
5406
  function BpGrounded_getInstance() {
5089
5407
  if (BpGrounded_instance === null) {
5090
5408
  new BpGrounded();
5091
- }return BpGrounded_instance;
5409
+ }
5410
+ return BpGrounded_instance;
5092
5411
  }
5093
5412
  function BpGroundedComplete() {
5094
5413
  BpGroundedComplete_instance = this;
@@ -5103,7 +5422,8 @@
5103
5422
  function BpGroundedComplete_getInstance() {
5104
5423
  if (BpGroundedComplete_instance === null) {
5105
5424
  new BpGroundedComplete();
5106
- }return BpGroundedComplete_instance;
5425
+ }
5426
+ return BpGroundedComplete_instance;
5107
5427
  }
5108
5428
  function BpGroundedPartial() {
5109
5429
  BpGroundedPartial_instance = this;
@@ -5118,7 +5438,8 @@
5118
5438
  function BpGroundedPartial_getInstance() {
5119
5439
  if (BpGroundedPartial_instance === null) {
5120
5440
  new BpGroundedPartial();
5121
- }return BpGroundedPartial_instance;
5441
+ }
5442
+ return BpGroundedPartial_instance;
5122
5443
  }
5123
5444
  function Complete() {
5124
5445
  Complete_instance = this;
@@ -5133,7 +5454,8 @@
5133
5454
  function Complete_getInstance() {
5134
5455
  if (Complete_instance === null) {
5135
5456
  new Complete();
5136
- }return Complete_instance;
5457
+ }
5458
+ return Complete_instance;
5137
5459
  }
5138
5460
  function Debug() {
5139
5461
  Debug_instance = this;
@@ -5148,7 +5470,8 @@
5148
5470
  function Debug_getInstance() {
5149
5471
  if (Debug_instance === null) {
5150
5472
  new Debug();
5151
- }return Debug_instance;
5473
+ }
5474
+ return Debug_instance;
5152
5475
  }
5153
5476
  function DefPreferences() {
5154
5477
  DefPreferences_instance = this;
@@ -5163,7 +5486,8 @@
5163
5486
  function DefPreferences_getInstance() {
5164
5487
  if (DefPreferences_instance === null) {
5165
5488
  new DefPreferences();
5166
- }return DefPreferences_instance;
5489
+ }
5490
+ return DefPreferences_instance;
5167
5491
  }
5168
5492
  function GenericDefPreferences() {
5169
5493
  GenericDefPreferences_instance = this;
@@ -5178,7 +5502,8 @@
5178
5502
  function GenericDefPreferences_getInstance() {
5179
5503
  if (GenericDefPreferences_instance === null) {
5180
5504
  new GenericDefPreferences();
5181
- }return GenericDefPreferences_instance;
5505
+ }
5506
+ return GenericDefPreferences_instance;
5182
5507
  }
5183
5508
  function Grounded() {
5184
5509
  Grounded_instance = this;
@@ -5193,7 +5518,8 @@
5193
5518
  function Grounded_getInstance() {
5194
5519
  if (Grounded_instance === null) {
5195
5520
  new Grounded();
5196
- }return Grounded_instance;
5521
+ }
5522
+ return Grounded_instance;
5197
5523
  }
5198
5524
  function GroundedOptimized() {
5199
5525
  GroundedOptimized_instance = this;
@@ -5208,7 +5534,8 @@
5208
5534
  function GroundedOptimized_getInstance() {
5209
5535
  if (GroundedOptimized_instance === null) {
5210
5536
  new GroundedOptimized();
5211
- }return GroundedOptimized_instance;
5537
+ }
5538
+ return GroundedOptimized_instance;
5212
5539
  }
5213
5540
  function Preferences() {
5214
5541
  Preferences_instance = this;
@@ -5223,7 +5550,8 @@
5223
5550
  function Preferences_getInstance() {
5224
5551
  if (Preferences_instance === null) {
5225
5552
  new Preferences();
5226
- }return Preferences_instance;
5553
+ }
5554
+ return Preferences_instance;
5227
5555
  }
5228
5556
  function QueryMode_0() {
5229
5557
  QueryMode_instance_0 = this;
@@ -5238,7 +5566,8 @@
5238
5566
  function QueryMode_getInstance_0() {
5239
5567
  if (QueryMode_instance_0 === null) {
5240
5568
  new QueryMode_0();
5241
- }return QueryMode_instance_0;
5569
+ }
5570
+ return QueryMode_instance_0;
5242
5571
  }
5243
5572
  function RuleTranslator() {
5244
5573
  RuleTranslator_instance = this;
@@ -5253,7 +5582,8 @@
5253
5582
  function RuleTranslator_getInstance() {
5254
5583
  if (RuleTranslator_instance === null) {
5255
5584
  new RuleTranslator();
5256
- }return RuleTranslator_instance;
5585
+ }
5586
+ return RuleTranslator_instance;
5257
5587
  }
5258
5588
  function StatementLabelling() {
5259
5589
  StatementLabelling_instance = this;
@@ -5268,7 +5598,8 @@
5268
5598
  function StatementLabelling_getInstance() {
5269
5599
  if (StatementLabelling_instance === null) {
5270
5600
  new StatementLabelling();
5271
- }return StatementLabelling_instance;
5601
+ }
5602
+ return StatementLabelling_instance;
5272
5603
  }
5273
5604
  function SuperiorityRelation() {
5274
5605
  SuperiorityRelation_instance = this;
@@ -5283,7 +5614,8 @@
5283
5614
  function SuperiorityRelation_getInstance() {
5284
5615
  if (SuperiorityRelation_instance === null) {
5285
5616
  new SuperiorityRelation();
5286
- }return SuperiorityRelation_instance;
5617
+ }
5618
+ return SuperiorityRelation_instance;
5287
5619
  }
5288
5620
  function Utils() {
5289
5621
  Utils_instance = this;
@@ -5298,7 +5630,8 @@
5298
5630
  function Utils_getInstance() {
5299
5631
  if (Utils_instance === null) {
5300
5632
  new Utils();
5301
- }return Utils_instance;
5633
+ }
5634
+ return Utils_instance;
5302
5635
  }
5303
5636
  function StructuredMode() {
5304
5637
  StructuredMode_instance = this;
@@ -5319,7 +5652,8 @@
5319
5652
  function StructuredMode_getInstance() {
5320
5653
  if (StructuredMode_instance === null) {
5321
5654
  new StructuredMode();
5322
- }return StructuredMode_instance;
5655
+ }
5656
+ return StructuredMode_instance;
5323
5657
  }
5324
5658
  function Debug_0() {
5325
5659
  Debug_instance_0 = this;
@@ -5340,7 +5674,8 @@
5340
5674
  function Debug_getInstance_0() {
5341
5675
  if (Debug_instance_0 === null) {
5342
5676
  new Debug_0();
5343
- }return Debug_instance_0;
5677
+ }
5678
+ return Debug_instance_0;
5344
5679
  }
5345
5680
  function SuperiorityRelation_0() {
5346
5681
  SuperiorityRelation_instance_0 = this;
@@ -5361,7 +5696,8 @@
5361
5696
  function SuperiorityRelation_getInstance_0() {
5362
5697
  if (SuperiorityRelation_instance_0 === null) {
5363
5698
  new SuperiorityRelation_0();
5364
- }return SuperiorityRelation_instance_0;
5699
+ }
5700
+ return SuperiorityRelation_instance_0;
5365
5701
  }
5366
5702
  function Utils_0() {
5367
5703
  Utils_instance_0 = this;
@@ -5382,7 +5718,8 @@
5382
5718
  function Utils_getInstance_0() {
5383
5719
  if (Utils_instance_0 === null) {
5384
5720
  new Utils_0();
5385
- }return Utils_instance_0;
5721
+ }
5722
+ return Utils_instance_0;
5386
5723
  }
5387
5724
  Object.defineProperty(Arg2pSolver, 'Companion', {
5388
5725
  get: Arg2pSolver$Companion_getInstance
@@ -5545,6 +5882,12 @@
5545
5882
  Object.defineProperty(package$utils, 'ArgumentHash', {
5546
5883
  get: ArgumentHash_getInstance
5547
5884
  });
5885
+ Object.defineProperty(package$utils, 'Contains', {
5886
+ get: Contains_getInstance
5887
+ });
5888
+ Object.defineProperty(package$utils, 'ContainsAny', {
5889
+ get: ContainsAny_getInstance
5890
+ });
5548
5891
  var package$meta = package$core.meta || (package$core.meta = {});
5549
5892
  Object.defineProperty(package$meta, 'MetaInterpreterLib', {
5550
5893
  get: MetaInterpreterLib_getInstance
@@ -5808,21 +6151,17 @@
5808
6151
  PrologWithArgumentation.prototype.unifyWithOccurCheck = PrologScopeWithTheories.prototype.unifyWithOccurCheck;
5809
6152
  PrologWithArgumentation.prototype.var1 = PrologScopeWithTheories.prototype.var1;
5810
6153
  PrologWithArgumentation.prototype.write1 = PrologScopeWithTheories.prototype.write1;
5811
- PrologWithArgumentation.prototype.neq2 = PrologScopeWithTheories.prototype.neq2;
5812
- PrologWithArgumentation.prototype.nid2 = PrologScopeWithTheories.prototype.nid2;
5813
- PrologWithArgumentation.prototype.power = PrologScopeWithTheories.prototype.power;
5814
- PrologWithArgumentation.prototype.eq2 = PrologScopeWithTheories.prototype.eq2;
5815
- PrologWithArgumentation.prototype.arithNeq2 = PrologScopeWithTheories.prototype.arithNeq2;
5816
- PrologWithArgumentation.prototype.id2 = PrologScopeWithTheories.prototype.id2;
5817
- PrologWithArgumentation.prototype.arithEq2 = PrologScopeWithTheories.prototype.arithEq2;
5818
- PrologWithArgumentation.prototype.pow = PrologScopeWithTheories.prototype.pow;
5819
6154
  PrologWithArgumentation.prototype.anyAnd = PrologScopeWithTheories.prototype.anyAnd;
6155
+ PrologWithArgumentation.prototype.arithEq2 = PrologScopeWithTheories.prototype.arithEq2;
6156
+ PrologWithArgumentation.prototype.arithNeq2 = PrologScopeWithTheories.prototype.arithNeq2;
5820
6157
  PrologWithArgumentation.prototype.substitutionContainsKey = PrologScopeWithTheories.prototype.substitutionContainsKey;
5821
6158
  PrologWithArgumentation.prototype.substitutionContainsValue = PrologScopeWithTheories.prototype.substitutionContainsValue;
5822
6159
  PrologWithArgumentation.prototype.anyDiv = PrologScopeWithTheories.prototype.anyDiv;
6160
+ PrologWithArgumentation.prototype.eq2 = PrologScopeWithTheories.prototype.eq2;
5823
6161
  PrologWithArgumentation.prototype.anyEqualsTo = PrologScopeWithTheories.prototype.anyEqualsTo;
5824
6162
  PrologWithArgumentation.prototype.anyGreaterThan = PrologScopeWithTheories.prototype.anyGreaterThan;
5825
6163
  PrologWithArgumentation.prototype.anyGreaterThanOrEqualsTo = PrologScopeWithTheories.prototype.anyGreaterThanOrEqualsTo;
6164
+ PrologWithArgumentation.prototype.id2 = PrologScopeWithTheories.prototype.id2;
5826
6165
  PrologWithArgumentation.prototype.anyIf = PrologScopeWithTheories.prototype.anyIf;
5827
6166
  PrologWithArgumentation.prototype.anyIfVararg = PrologScopeWithTheories.prototype.anyIfVararg;
5828
6167
  PrologWithArgumentation.prototype.anyImpliedBy = PrologScopeWithTheories.prototype.anyImpliedBy;
@@ -5835,6 +6174,8 @@
5835
6174
  PrologWithArgumentation.prototype.anyMatches = PrologScopeWithTheories.prototype.anyMatches;
5836
6175
  PrologWithArgumentation.prototype.anyMguWith = PrologScopeWithTheories.prototype.anyMguWith;
5837
6176
  PrologWithArgumentation.prototype.anyMinus = PrologScopeWithTheories.prototype.anyMinus;
6177
+ PrologWithArgumentation.prototype.neq2 = PrologScopeWithTheories.prototype.neq2;
6178
+ PrologWithArgumentation.prototype.nid2 = PrologScopeWithTheories.prototype.nid2;
5838
6179
  PrologWithArgumentation.prototype.anyNonGreaterThan = PrologScopeWithTheories.prototype.anyNonGreaterThan;
5839
6180
  PrologWithArgumentation.prototype.anyNonLowerThan = PrologScopeWithTheories.prototype.anyNonLowerThan;
5840
6181
  PrologWithArgumentation.prototype.anyNotEqualsTo = PrologScopeWithTheories.prototype.anyNotEqualsTo;