eyelang 1.3.8 → 1.4.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/README.md +19 -14
- package/SPEC.md +4 -4
- package/conformance/expected/core/001_fact_query.out +0 -8
- package/conformance/expected/core/002_rule_recursion.out +0 -41
- package/conformance/expected/core/003_terms_and_readback.out +0 -104
- package/conformance/expected/core/004_conjunction_and_parentheses.out +0 -25
- package/conformance/expected/core/005_list_deconstruction.out +0 -32
- package/conformance/expected/core/006_comma_formula_data.out +0 -15
- package/conformance/expected/core/007_anonymous_variables.out +0 -19
- package/conformance/expected/core/008_graphic_atoms.out +0 -24
- package/conformance/expected/core/009_comments_and_whitespace.out +0 -30
- package/conformance/expected/core/010_variable_scope_and_reuse.out +0 -52
- package/conformance/expected/core/011_predicate_arity.out +0 -30
- package/conformance/expected/core/012_nested_compound_unification.out +0 -30
- package/conformance/expected/core/013_multiple_clauses_order.out +0 -44
- package/conformance/expected/core/014_failure_filters_answers.out +0 -19
- package/conformance/expected/core/015_improper_list_unification.out +0 -45
- package/conformance/expected/core/016_zero_arity_compound.out +0 -15
- package/conformance/expected/core/017_three_step_recursion.out +0 -99
- package/conformance/expected/core/018_quoted_atom_readback.out +0 -45
- package/conformance/expected/core/019_parenthesized_three_conjuncts.out +0 -36
- package/conformance/expected/core/020_nested_list_terms.out +0 -30
- package/conformance/expected/extension/001_default_derived_output.out +0 -56
- package/conformance/expected/extension/002_materialize_focus.out +0 -22
- package/conformance/expected/extension/003_arithmetic_and_comparison.out +0 -148
- package/conformance/expected/extension/004_strings_and_atoms.out +0 -58
- package/conformance/expected/extension/005_lists_aggregation_ordering.out +0 -135
- package/conformance/expected/extension/006_formula_terms.out +0 -76
- package/conformance/expected/extension/007_negation_once_generators.out +0 -40
- package/conformance/expected/extension/008_equality_and_inequality.out +0 -58
- package/conformance/expected/extension/009_list_relations.out +0 -73
- package/conformance/expected/extension/010_append_splits.out +0 -45
- package/conformance/expected/extension/011_matching_and_comparison.out +0 -70
- package/conformance/expected/extension/012_memoize_declaration.out +0 -41
- package/conformance/expected/extension/013_numeric_functions.out +0 -105
- package/conformance/expected/extension/014_between_enumeration.out +0 -45
- package/conformance/expected/extension/015_smallest_divisor.out +0 -15
- package/conformance/expected/extension/016_negation_filter.out +0 -38
- package/conformance/expected/extension/017_once_user_predicate.out +0 -21
- package/conformance/expected/extension/018_findall_user_goal.out +0 -15
- package/conformance/expected/extension/019_sort_deduplicates_atoms.out +0 -15
- package/conformance/expected/extension/020_append_bound_prefix_suffix.out +0 -30
- package/conformance/expected/extension/021_nth0_index_generation.out +0 -15
- package/conformance/expected/extension/022_set_nth0_edges.out +0 -30
- package/conformance/expected/extension/023_select_duplicate_occurrences.out +0 -30
- package/conformance/expected/extension/024_not_member_filter.out +0 -19
- package/conformance/expected/extension/025_is_list_filter.out +0 -19
- package/conformance/expected/extension/026_nested_formula_terms.out +0 -114
- package/conformance/expected/extension/027_materialize_excludes_source_fact.out +0 -14
- package/conformance/expected/extension/028_numeric_and_lexical_comparison.out +0 -42
- package/conformance/expected/extension/029_string_matching_filters.out +0 -38
- package/conformance/expected/extension/030_string_and_atom_concat.out +0 -30
- package/conformance/expected/extension/031_countall_empty_and_nonempty.out +0 -18
- package/conformance/expected/extension/032_sumall_numeric_template.out +0 -8
- package/conformance/expected/extension/033_aggregate_min_template.out +0 -8
- package/conformance/expected/extension/034_aggregate_max_compound_key.out +0 -8
- package/examples/output/access-control-policy.pl +0 -156
- package/examples/output/ackermann.pl +0 -1240
- package/examples/output/age.pl +0 -69
- package/examples/output/aliases-and-namespaces.pl +0 -73
- package/examples/output/alignment-demo.pl +0 -862
- package/examples/output/allen-interval-calculus.pl +0 -9169
- package/examples/output/ancestor.pl +0 -134
- package/examples/output/animal.pl +0 -64
- package/examples/output/annotation.pl +0 -76
- package/examples/output/backward.pl +0 -21
- package/examples/output/basic-monadic.pl +0 -22770
- package/examples/output/bayes-diagnosis.pl +0 -195
- package/examples/output/bayes-therapy.pl +0 -34873
- package/examples/output/beam-deflection.pl +0 -222
- package/examples/output/blocks-world-planning.pl +0 -1339
- package/examples/output/bmi.pl +0 -1903
- package/examples/output/braking-safety-worlds.pl +0 -2452
- package/examples/output/buck-converter-design.pl +0 -663
- package/examples/output/cache-performance.pl +0 -306
- package/examples/output/canary-release.pl +0 -167
- package/examples/output/cat-koko.pl +0 -83
- package/examples/output/clinical-trial-screening.pl +0 -380
- package/examples/output/collatz-1000.pl +0 -19000
- package/examples/output/combinatorics-findall-sort.pl +0 -56
- package/examples/output/competitive-enzyme-kinetics.pl +0 -563
- package/examples/output/complex-matrix-stability.pl +0 -250
- package/examples/output/complex.pl +0 -653
- package/examples/output/composition-of-injective-functions-is-injective.pl +0 -256
- package/examples/output/context-association.pl +0 -75
- package/examples/output/control-system.pl +0 -328
- package/examples/output/cryptarithmetic-send-more-money.pl +0 -168
- package/examples/output/cyclic-path.pl +0 -504
- package/examples/output/d3-group.pl +0 -56
- package/examples/output/dairy-energy-balance.pl +0 -1034
- package/examples/output/data-negotiation.pl +0 -75
- package/examples/output/deep-taxonomy-10.pl +0 -1235
- package/examples/output/deep-taxonomy-100.pl +0 -1235
- package/examples/output/deep-taxonomy-1000.pl +0 -1235
- package/examples/output/deep-taxonomy-10000.pl +0 -2915
- package/examples/output/deep-taxonomy-100000.pl +0 -20240
- package/examples/output/delfour.pl +0 -2829
- package/examples/output/dense-hamiltonian-cycle.pl +0 -207
- package/examples/output/deontic-logic.pl +0 -105
- package/examples/output/derived-rule.pl +0 -41
- package/examples/output/diamond-property.pl +0 -303
- package/examples/output/dijkstra-findall-sort.pl +0 -484
- package/examples/output/dijkstra-risk-path.pl +0 -4841
- package/examples/output/dijkstra.pl +0 -1336
- package/examples/output/dining-philosophers.pl +0 -21646
- package/examples/output/dog.pl +0 -30
- package/examples/output/drone-corridor-planner.pl +0 -2466
- package/examples/output/easter-computus.pl +0 -5690
- package/examples/output/electrical-rc-filter.pl +0 -102
- package/examples/output/epidemic-policy.pl +0 -760
- package/examples/output/equivalence-classes-overlap-implies-same-class.pl +0 -1080
- package/examples/output/eulerian-path.pl +0 -383
- package/examples/output/ev-range-worlds.pl +0 -2294
- package/examples/output/exact-cover-sudoku.pl +0 -396
- package/examples/output/existential-rule.pl +0 -38
- package/examples/output/exoplanet-validation-worlds.pl +0 -1904
- package/examples/output/expression-eval.pl +0 -104
- package/examples/output/family-cousins.pl +0 -3852
- package/examples/output/fastpow.pl +0 -1064
- package/examples/output/fft8-numeric.pl +0 -2556
- package/examples/output/fibonacci.pl +0 -2060
- package/examples/output/field-nitrogen-balance.pl +0 -1452
- package/examples/output/floating-point.pl +0 -151
- package/examples/output/four-color-map.pl +0 -191
- package/examples/output/fundamental-theorem-arithmetic.pl +0 -1610
- package/examples/output/gcd-bezout-identity.pl +0 -1842
- package/examples/output/gd-step-certified.pl +0 -32354
- package/examples/output/gdpr-compliance.pl +0 -193
- package/examples/output/goldbach-1000.pl +0 -17490
- package/examples/output/good-cobbler.pl +0 -15
- package/examples/output/gps.pl +0 -4166
- package/examples/output/graph-reachability.pl +0 -148
- package/examples/output/gray-code-counter.pl +0 -835
- package/examples/output/greatest-lower-bound-uniqueness.pl +0 -148
- package/examples/output/group-inverse-uniqueness.pl +0 -82
- package/examples/output/hamiltonian-cycle.pl +0 -102
- package/examples/output/hamiltonian-path.pl +0 -14157
- package/examples/output/hamming-code.pl +0 -2665
- package/examples/output/hanoi.pl +0 -184
- package/examples/output/heat-loss.pl +0 -223
- package/examples/output/heron-theorem.pl +0 -253
- package/examples/output/ideal-gas-law.pl +0 -148
- package/examples/output/illegitimate-reasoning.pl +0 -530
- package/examples/output/kaprekar.pl +0 -208
- package/examples/output/law-of-cosines.pl +0 -165
- package/examples/output/least-squares-regression.pl +0 -1447
- package/examples/output/list-collection.pl +0 -49
- package/examples/output/lldm.pl +0 -17298
- package/examples/output/manufacturing-quality-control.pl +0 -562
- package/examples/output/matrix.pl +0 -206
- package/examples/output/microgrid-dispatch.pl +0 -787
- package/examples/output/monkey-bananas.pl +0 -575
- package/examples/output/n-queens.pl +0 -2046
- package/examples/output/network-sla.pl +0 -282
- package/examples/output/newton-raphson.pl +0 -756
- package/examples/output/nixon-diamond.pl +0 -176
- package/examples/output/odrl-dpv-healthcare-risk-ranked.pl +0 -6148
- package/examples/output/odrl-dpv-risk-ranked.pl +0 -12961
- package/examples/output/orbital-transfer-design.pl +0 -961
- package/examples/output/path-discovery.pl +0 -333
- package/examples/output/peano-arithmetic.pl +0 -1432
- package/examples/output/peasant.pl +0 -190
- package/examples/output/pendulum-period.pl +0 -271
- package/examples/output/polynomial.pl +0 -7952
- package/examples/output/project-portfolio-optimization.pl +0 -93
- package/examples/output/proof-contrapositive.pl +0 -75
- package/examples/output/quadratic-formula.pl +0 -454
- package/examples/output/quine-mccluskey.pl +0 -188
- package/examples/output/radioactive-decay.pl +0 -299
- package/examples/output/sat-dpll.pl +0 -121
- package/examples/output/security-incident-correlation.pl +0 -267
- package/examples/output/service-impact.pl +0 -457
- package/examples/output/sieve.pl +0 -19
- package/examples/output/skolem-functions.pl +0 -264
- package/examples/output/socket-age.pl +0 -31
- package/examples/output/socket-family.pl +0 -56
- package/examples/output/socrates.pl +0 -36
- package/examples/output/statistics-summary.pl +0 -741
- package/examples/output/sudoku.pl +0 -38
- package/examples/output/superdense-coding.pl +0 -476
- package/examples/output/traveling-salesman.pl +0 -284
- package/examples/output/turing.pl +0 -2144
- package/examples/output/vector-similarity.pl +0 -421
- package/examples/output/witch.pl +0 -209
- package/examples/output/wolf-goat-cabbage.pl +0 -900
- package/examples/output/zebra.pl +0 -401
- package/examples/proof/age.pl +71 -0
- package/examples/proof/aliases-and-namespaces.pl +78 -0
- package/examples/proof/ancestor.pl +140 -0
- package/examples/proof/animal.pl +68 -0
- package/examples/proof/annotation.pl +80 -0
- package/examples/proof/backward.pl +22 -0
- package/examples/proof/cat-koko.pl +86 -0
- package/examples/proof/data-negotiation.pl +76 -0
- package/examples/proof/derived-rule.pl +43 -0
- package/examples/proof/dog.pl +31 -0
- package/examples/proof/electrical-rc-filter.pl +105 -0
- package/examples/proof/existential-rule.pl +40 -0
- package/examples/proof/floating-point.pl +160 -0
- package/examples/proof/good-cobbler.pl +16 -0
- package/examples/proof/group-inverse-uniqueness.pl +84 -0
- package/examples/proof/list-collection.pl +52 -0
- package/examples/proof/proof-contrapositive.pl +78 -0
- package/examples/proof/socket-age.pl +32 -0
- package/examples/proof/socket-family.pl +59 -0
- package/examples/proof/socrates.pl +38 -0
- package/examples/socket-age.pl +4 -4
- package/examples/socket-family.pl +4 -4
- package/package.json +1 -1
- package/playground-worker.mjs +4 -4
- package/playground.html +15 -15
- package/src/cli.js +10 -10
- package/src/index.js +3 -2
- package/src/parser.js +130 -1
- package/src/program.js +33 -27
- package/test/run-all.js +0 -0
- package/test/run-conformance.js +0 -0
- package/test/run-examples.js +38 -8
- package/test/run-regression.js +29 -28
|
@@ -1,336 +1,3 @@
|
|
|
1
1
|
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague").
|
|
2
|
-
why(
|
|
3
|
-
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"),
|
|
4
|
-
proof(
|
|
5
|
-
goal(airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
6
|
-
by(rule("path-discovery.pl", clause(3))),
|
|
7
|
-
bindings([binding("RouteText", "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("From", "Ostend-Bruges International Airport"), binding("To", "Václav Havel Airport Prague"), binding("MaxStopOvers", 2), binding("Source", res_airport_310), binding("Destination", res_airport_1587), binding("MaxLegs", 3), binding("Path", [res_airport_310, res_airport_309, res_airport_1452, res_airport_1587])]),
|
|
8
|
-
uses([
|
|
9
|
-
proof(
|
|
10
|
-
goal(route_query("Ostend-Bruges International Airport", "Václav Havel Airport Prague", 2)),
|
|
11
|
-
by(fact("path-discovery.pl", clause(2)))
|
|
12
|
-
),
|
|
13
|
-
proof(
|
|
14
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
15
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
16
|
-
),
|
|
17
|
-
proof(
|
|
18
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
19
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
20
|
-
),
|
|
21
|
-
proof(
|
|
22
|
-
goal(add(2, 1, 3)),
|
|
23
|
-
by(builtin(add, 3))
|
|
24
|
-
),
|
|
25
|
-
proof(
|
|
26
|
-
goal(bounded_path(flight, res_airport_310, res_airport_1587, 3, [res_airport_310, res_airport_309, res_airport_1452, res_airport_1587])),
|
|
27
|
-
by(builtin(bounded_path, 5))
|
|
28
|
-
),
|
|
29
|
-
proof(
|
|
30
|
-
goal(route_text([res_airport_310, res_airport_309, res_airport_1452, res_airport_1587], "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
31
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
32
|
-
bindings([binding("Node", res_airport_310), binding("Rest", [res_airport_309, res_airport_1452, res_airport_1587]), binding("Text", "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("Label", "Ostend-Bruges International Airport"), binding("Tail", "Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("Prefix", "Ostend-Bruges International Airport -> ")]),
|
|
33
|
-
uses([
|
|
34
|
-
proof(
|
|
35
|
-
goal(neq([res_airport_309, res_airport_1452, res_airport_1587], [])),
|
|
36
|
-
by(builtin(neq, 2))
|
|
37
|
-
),
|
|
38
|
-
proof(
|
|
39
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
40
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
41
|
-
),
|
|
42
|
-
proof(
|
|
43
|
-
goal(route_text([res_airport_309, res_airport_1452, res_airport_1587], "Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
44
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
45
|
-
bindings([binding("Node", res_airport_309), binding("Rest", [res_airport_1452, res_airport_1587]), binding("Text", "Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("Label", "Liège Airport"), binding("Tail", "Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("Prefix", "Liège Airport -> ")]),
|
|
46
|
-
uses([
|
|
47
|
-
proof(
|
|
48
|
-
goal(neq([res_airport_1452, res_airport_1587], [])),
|
|
49
|
-
by(builtin(neq, 2))
|
|
50
|
-
),
|
|
51
|
-
proof(
|
|
52
|
-
goal(airport(res_airport_309, "Liège Airport")),
|
|
53
|
-
by(fact("path-discovery.pl", clause(1198)))
|
|
54
|
-
),
|
|
55
|
-
proof(
|
|
56
|
-
goal(route_text([res_airport_1452, res_airport_1587], "Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
57
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
58
|
-
bindings([binding("Node", res_airport_1452), binding("Rest", [res_airport_1587]), binding("Text", "Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague"), binding("Label", "Heraklion International Nikos Kazantzakis Airport"), binding("Tail", "Václav Havel Airport Prague"), binding("Prefix", "Heraklion International Nikos Kazantzakis Airport -> ")]),
|
|
59
|
-
uses([
|
|
60
|
-
proof(
|
|
61
|
-
goal(neq([res_airport_1587], [])),
|
|
62
|
-
by(builtin(neq, 2))
|
|
63
|
-
),
|
|
64
|
-
proof(
|
|
65
|
-
goal(airport(res_airport_1452, "Heraklion International Nikos Kazantzakis Airport")),
|
|
66
|
-
by(fact("path-discovery.pl", clause(248)))
|
|
67
|
-
),
|
|
68
|
-
proof(
|
|
69
|
-
goal(route_text([res_airport_1587], "Václav Havel Airport Prague")),
|
|
70
|
-
by(rule("path-discovery.pl", clause(4))),
|
|
71
|
-
bindings([binding("Node", res_airport_1587), binding("Text", "Václav Havel Airport Prague")]),
|
|
72
|
-
uses([
|
|
73
|
-
proof(
|
|
74
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
75
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
76
|
-
)
|
|
77
|
-
])
|
|
78
|
-
),
|
|
79
|
-
proof(
|
|
80
|
-
goal(str_concat("Heraklion International Nikos Kazantzakis Airport", " -> ", "Heraklion International Nikos Kazantzakis Airport -> ")),
|
|
81
|
-
by(builtin(str_concat, 3))
|
|
82
|
-
),
|
|
83
|
-
proof(
|
|
84
|
-
goal(str_concat("Heraklion International Nikos Kazantzakis Airport -> ", "Václav Havel Airport Prague", "Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
85
|
-
by(builtin(str_concat, 3))
|
|
86
|
-
)
|
|
87
|
-
])
|
|
88
|
-
),
|
|
89
|
-
proof(
|
|
90
|
-
goal(str_concat("Liège Airport", " -> ", "Liège Airport -> ")),
|
|
91
|
-
by(builtin(str_concat, 3))
|
|
92
|
-
),
|
|
93
|
-
proof(
|
|
94
|
-
goal(str_concat("Liège Airport -> ", "Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague", "Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
95
|
-
by(builtin(str_concat, 3))
|
|
96
|
-
)
|
|
97
|
-
])
|
|
98
|
-
),
|
|
99
|
-
proof(
|
|
100
|
-
goal(str_concat("Ostend-Bruges International Airport", " -> ", "Ostend-Bruges International Airport -> ")),
|
|
101
|
-
by(builtin(str_concat, 3))
|
|
102
|
-
),
|
|
103
|
-
proof(
|
|
104
|
-
goal(str_concat("Ostend-Bruges International Airport -> ", "Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague", "Ostend-Bruges International Airport -> Liège Airport -> Heraklion International Nikos Kazantzakis Airport -> Václav Havel Airport Prague")),
|
|
105
|
-
by(builtin(str_concat, 3))
|
|
106
|
-
)
|
|
107
|
-
])
|
|
108
|
-
)
|
|
109
|
-
])
|
|
110
|
-
)
|
|
111
|
-
).
|
|
112
|
-
|
|
113
2
|
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague").
|
|
114
|
-
why(
|
|
115
|
-
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague"),
|
|
116
|
-
proof(
|
|
117
|
-
goal(airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague")),
|
|
118
|
-
by(rule("path-discovery.pl", clause(3))),
|
|
119
|
-
bindings([binding("RouteText", "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague"), binding("From", "Ostend-Bruges International Airport"), binding("To", "Václav Havel Airport Prague"), binding("MaxStopOvers", 2), binding("Source", res_airport_310), binding("Destination", res_airport_1587), binding("MaxLegs", 3), binding("Path", [res_airport_310, res_airport_309, res_airport_1472, res_airport_1587])]),
|
|
120
|
-
uses([
|
|
121
|
-
proof(
|
|
122
|
-
goal(route_query("Ostend-Bruges International Airport", "Václav Havel Airport Prague", 2)),
|
|
123
|
-
by(fact("path-discovery.pl", clause(2)))
|
|
124
|
-
),
|
|
125
|
-
proof(
|
|
126
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
127
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
128
|
-
),
|
|
129
|
-
proof(
|
|
130
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
131
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
132
|
-
),
|
|
133
|
-
proof(
|
|
134
|
-
goal(add(2, 1, 3)),
|
|
135
|
-
by(builtin(add, 3))
|
|
136
|
-
),
|
|
137
|
-
proof(
|
|
138
|
-
goal(bounded_path(flight, res_airport_310, res_airport_1587, 3, [res_airport_310, res_airport_309, res_airport_1472, res_airport_1587])),
|
|
139
|
-
by(builtin(bounded_path, 5))
|
|
140
|
-
),
|
|
141
|
-
proof(
|
|
142
|
-
goal(route_text([res_airport_310, res_airport_309, res_airport_1472, res_airport_1587], "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague")),
|
|
143
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
144
|
-
bindings([binding("Node", res_airport_310), binding("Rest", [res_airport_309, res_airport_1472, res_airport_1587]), binding("Text", "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague"), binding("Label", "Ostend-Bruges International Airport"), binding("Tail", "Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague"), binding("Prefix", "Ostend-Bruges International Airport -> ")]),
|
|
145
|
-
uses([
|
|
146
|
-
proof(
|
|
147
|
-
goal(neq([res_airport_309, res_airport_1472, res_airport_1587], [])),
|
|
148
|
-
by(builtin(neq, 2))
|
|
149
|
-
),
|
|
150
|
-
proof(
|
|
151
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
152
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
153
|
-
),
|
|
154
|
-
proof(
|
|
155
|
-
goal(route_text([res_airport_309, res_airport_1472, res_airport_1587], "Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague")),
|
|
156
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
157
|
-
bindings([binding("Node", res_airport_309), binding("Rest", [res_airport_1472, res_airport_1587]), binding("Text", "Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague"), binding("Label", "Liège Airport"), binding("Tail", "Diagoras Airport -> Václav Havel Airport Prague"), binding("Prefix", "Liège Airport -> ")]),
|
|
158
|
-
uses([
|
|
159
|
-
proof(
|
|
160
|
-
goal(neq([res_airport_1472, res_airport_1587], [])),
|
|
161
|
-
by(builtin(neq, 2))
|
|
162
|
-
),
|
|
163
|
-
proof(
|
|
164
|
-
goal(airport(res_airport_309, "Liège Airport")),
|
|
165
|
-
by(fact("path-discovery.pl", clause(1198)))
|
|
166
|
-
),
|
|
167
|
-
proof(
|
|
168
|
-
goal(route_text([res_airport_1472, res_airport_1587], "Diagoras Airport -> Václav Havel Airport Prague")),
|
|
169
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
170
|
-
bindings([binding("Node", res_airport_1472), binding("Rest", [res_airport_1587]), binding("Text", "Diagoras Airport -> Václav Havel Airport Prague"), binding("Label", "Diagoras Airport"), binding("Tail", "Václav Havel Airport Prague"), binding("Prefix", "Diagoras Airport -> ")]),
|
|
171
|
-
uses([
|
|
172
|
-
proof(
|
|
173
|
-
goal(neq([res_airport_1587], [])),
|
|
174
|
-
by(builtin(neq, 2))
|
|
175
|
-
),
|
|
176
|
-
proof(
|
|
177
|
-
goal(airport(res_airport_1472, "Diagoras Airport")),
|
|
178
|
-
by(fact("path-discovery.pl", clause(266)))
|
|
179
|
-
),
|
|
180
|
-
proof(
|
|
181
|
-
goal(route_text([res_airport_1587], "Václav Havel Airport Prague")),
|
|
182
|
-
by(rule("path-discovery.pl", clause(4))),
|
|
183
|
-
bindings([binding("Node", res_airport_1587), binding("Text", "Václav Havel Airport Prague")]),
|
|
184
|
-
uses([
|
|
185
|
-
proof(
|
|
186
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
187
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
188
|
-
)
|
|
189
|
-
])
|
|
190
|
-
),
|
|
191
|
-
proof(
|
|
192
|
-
goal(str_concat("Diagoras Airport", " -> ", "Diagoras Airport -> ")),
|
|
193
|
-
by(builtin(str_concat, 3))
|
|
194
|
-
),
|
|
195
|
-
proof(
|
|
196
|
-
goal(str_concat("Diagoras Airport -> ", "Václav Havel Airport Prague", "Diagoras Airport -> Václav Havel Airport Prague")),
|
|
197
|
-
by(builtin(str_concat, 3))
|
|
198
|
-
)
|
|
199
|
-
])
|
|
200
|
-
),
|
|
201
|
-
proof(
|
|
202
|
-
goal(str_concat("Liège Airport", " -> ", "Liège Airport -> ")),
|
|
203
|
-
by(builtin(str_concat, 3))
|
|
204
|
-
),
|
|
205
|
-
proof(
|
|
206
|
-
goal(str_concat("Liège Airport -> ", "Diagoras Airport -> Václav Havel Airport Prague", "Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague")),
|
|
207
|
-
by(builtin(str_concat, 3))
|
|
208
|
-
)
|
|
209
|
-
])
|
|
210
|
-
),
|
|
211
|
-
proof(
|
|
212
|
-
goal(str_concat("Ostend-Bruges International Airport", " -> ", "Ostend-Bruges International Airport -> ")),
|
|
213
|
-
by(builtin(str_concat, 3))
|
|
214
|
-
),
|
|
215
|
-
proof(
|
|
216
|
-
goal(str_concat("Ostend-Bruges International Airport -> ", "Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague", "Ostend-Bruges International Airport -> Liège Airport -> Diagoras Airport -> Václav Havel Airport Prague")),
|
|
217
|
-
by(builtin(str_concat, 3))
|
|
218
|
-
)
|
|
219
|
-
])
|
|
220
|
-
)
|
|
221
|
-
])
|
|
222
|
-
)
|
|
223
|
-
).
|
|
224
|
-
|
|
225
3
|
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague").
|
|
226
|
-
why(
|
|
227
|
-
airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague"),
|
|
228
|
-
proof(
|
|
229
|
-
goal(airroute(discovered, "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
230
|
-
by(rule("path-discovery.pl", clause(3))),
|
|
231
|
-
bindings([binding("RouteText", "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("From", "Ostend-Bruges International Airport"), binding("To", "Václav Havel Airport Prague"), binding("MaxStopOvers", 2), binding("Source", res_airport_310), binding("Destination", res_airport_1587), binding("MaxLegs", 3), binding("Path", [res_airport_310, res_airport_309, res_airport_3998, res_airport_1587])]),
|
|
232
|
-
uses([
|
|
233
|
-
proof(
|
|
234
|
-
goal(route_query("Ostend-Bruges International Airport", "Václav Havel Airport Prague", 2)),
|
|
235
|
-
by(fact("path-discovery.pl", clause(2)))
|
|
236
|
-
),
|
|
237
|
-
proof(
|
|
238
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
239
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
240
|
-
),
|
|
241
|
-
proof(
|
|
242
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
243
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
244
|
-
),
|
|
245
|
-
proof(
|
|
246
|
-
goal(add(2, 1, 3)),
|
|
247
|
-
by(builtin(add, 3))
|
|
248
|
-
),
|
|
249
|
-
proof(
|
|
250
|
-
goal(bounded_path(flight, res_airport_310, res_airport_1587, 3, [res_airport_310, res_airport_309, res_airport_3998, res_airport_1587])),
|
|
251
|
-
by(builtin(bounded_path, 5))
|
|
252
|
-
),
|
|
253
|
-
proof(
|
|
254
|
-
goal(route_text([res_airport_310, res_airport_309, res_airport_3998, res_airport_1587], "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
255
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
256
|
-
bindings([binding("Node", res_airport_310), binding("Rest", [res_airport_309, res_airport_3998, res_airport_1587]), binding("Text", "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("Label", "Ostend-Bruges International Airport"), binding("Tail", "Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("Prefix", "Ostend-Bruges International Airport -> ")]),
|
|
257
|
-
uses([
|
|
258
|
-
proof(
|
|
259
|
-
goal(neq([res_airport_309, res_airport_3998, res_airport_1587], [])),
|
|
260
|
-
by(builtin(neq, 2))
|
|
261
|
-
),
|
|
262
|
-
proof(
|
|
263
|
-
goal(airport(res_airport_310, "Ostend-Bruges International Airport")),
|
|
264
|
-
by(fact("path-discovery.pl", clause(1205)))
|
|
265
|
-
),
|
|
266
|
-
proof(
|
|
267
|
-
goal(route_text([res_airport_309, res_airport_3998, res_airport_1587], "Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
268
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
269
|
-
bindings([binding("Node", res_airport_309), binding("Rest", [res_airport_3998, res_airport_1587]), binding("Text", "Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("Label", "Liège Airport"), binding("Tail", "Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("Prefix", "Liège Airport -> ")]),
|
|
270
|
-
uses([
|
|
271
|
-
proof(
|
|
272
|
-
goal(neq([res_airport_3998, res_airport_1587], [])),
|
|
273
|
-
by(builtin(neq, 2))
|
|
274
|
-
),
|
|
275
|
-
proof(
|
|
276
|
-
goal(airport(res_airport_309, "Liège Airport")),
|
|
277
|
-
by(fact("path-discovery.pl", clause(1198)))
|
|
278
|
-
),
|
|
279
|
-
proof(
|
|
280
|
-
goal(route_text([res_airport_3998, res_airport_1587], "Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
281
|
-
by(rule("path-discovery.pl", clause(5))),
|
|
282
|
-
bindings([binding("Node", res_airport_3998), binding("Rest", [res_airport_1587]), binding("Text", "Palma De Mallorca Airport -> Václav Havel Airport Prague"), binding("Label", "Palma De Mallorca Airport"), binding("Tail", "Václav Havel Airport Prague"), binding("Prefix", "Palma De Mallorca Airport -> ")]),
|
|
283
|
-
uses([
|
|
284
|
-
proof(
|
|
285
|
-
goal(neq([res_airport_1587], [])),
|
|
286
|
-
by(builtin(neq, 2))
|
|
287
|
-
),
|
|
288
|
-
proof(
|
|
289
|
-
goal(airport(res_airport_3998, "Palma De Mallorca Airport")),
|
|
290
|
-
by(fact("path-discovery.pl", clause(1731)))
|
|
291
|
-
),
|
|
292
|
-
proof(
|
|
293
|
-
goal(route_text([res_airport_1587], "Václav Havel Airport Prague")),
|
|
294
|
-
by(rule("path-discovery.pl", clause(4))),
|
|
295
|
-
bindings([binding("Node", res_airport_1587), binding("Text", "Václav Havel Airport Prague")]),
|
|
296
|
-
uses([
|
|
297
|
-
proof(
|
|
298
|
-
goal(airport(res_airport_1587, "Václav Havel Airport Prague")),
|
|
299
|
-
by(fact("path-discovery.pl", clause(324)))
|
|
300
|
-
)
|
|
301
|
-
])
|
|
302
|
-
),
|
|
303
|
-
proof(
|
|
304
|
-
goal(str_concat("Palma De Mallorca Airport", " -> ", "Palma De Mallorca Airport -> ")),
|
|
305
|
-
by(builtin(str_concat, 3))
|
|
306
|
-
),
|
|
307
|
-
proof(
|
|
308
|
-
goal(str_concat("Palma De Mallorca Airport -> ", "Václav Havel Airport Prague", "Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
309
|
-
by(builtin(str_concat, 3))
|
|
310
|
-
)
|
|
311
|
-
])
|
|
312
|
-
),
|
|
313
|
-
proof(
|
|
314
|
-
goal(str_concat("Liège Airport", " -> ", "Liège Airport -> ")),
|
|
315
|
-
by(builtin(str_concat, 3))
|
|
316
|
-
),
|
|
317
|
-
proof(
|
|
318
|
-
goal(str_concat("Liège Airport -> ", "Palma De Mallorca Airport -> Václav Havel Airport Prague", "Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
319
|
-
by(builtin(str_concat, 3))
|
|
320
|
-
)
|
|
321
|
-
])
|
|
322
|
-
),
|
|
323
|
-
proof(
|
|
324
|
-
goal(str_concat("Ostend-Bruges International Airport", " -> ", "Ostend-Bruges International Airport -> ")),
|
|
325
|
-
by(builtin(str_concat, 3))
|
|
326
|
-
),
|
|
327
|
-
proof(
|
|
328
|
-
goal(str_concat("Ostend-Bruges International Airport -> ", "Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague", "Ostend-Bruges International Airport -> Liège Airport -> Palma De Mallorca Airport -> Václav Havel Airport Prague")),
|
|
329
|
-
by(builtin(str_concat, 3))
|
|
330
|
-
)
|
|
331
|
-
])
|
|
332
|
-
)
|
|
333
|
-
])
|
|
334
|
-
)
|
|
335
|
-
).
|
|
336
|
-
|