eyeprolog 1.6.2 → 1.6.4
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/examples/book/README.md +1 -1
- package/examples/book/chapter-11/01-query.pl +12 -0
- package/examples/output/abstract-interpretation.pl +25 -16
- package/examples/output/access-control-policy.pl +11 -2
- package/examples/output/ackermann.pl +19 -12
- package/examples/output/age.pl +11 -2
- package/examples/output/aliases-and-namespaces.pl +14 -5
- package/examples/output/alignment-demo.pl +45 -32
- package/examples/output/allen-interval-calculus.pl +163 -154
- package/examples/output/ancestor.pl +11 -6
- package/examples/output/animal.pl +11 -4
- package/examples/output/annotation.pl +13 -4
- package/examples/output/attributed-variables.pl +7 -2
- package/examples/output/auroracare.pl +207 -117
- package/examples/output/backward.pl +4 -1
- package/examples/output/basic-monadic.pl +1521 -1518
- package/examples/output/bayes-diagnosis.pl +30 -17
- package/examples/output/bayes-therapy.pl +50 -23
- package/examples/output/beam-deflection.pl +16 -5
- package/examples/output/bench.pl +5 -1
- package/examples/output/binomial-vandermonde.pl +7 -4
- package/examples/output/blocks-world-planning.pl +16 -4
- package/examples/output/bmi.pl +121 -41
- package/examples/output/braking-safety-worlds.pl +29 -18
- package/examples/output/buck-converter-design.pl +21 -6
- package/examples/output/bulk-stream-write.pl +4 -1
- package/examples/output/cache-performance.pl +14 -4
- package/examples/output/canary-release.pl +16 -5
- package/examples/output/cat-koko.pl +8 -3
- package/examples/output/catalan-convolution.pl +7 -4
- package/examples/output/cdcl-sat-solver.pl +12 -7
- package/examples/output/chart-parser.pl +9 -6
- package/examples/output/clinical-trial-screening.pl +16 -9
- package/examples/output/clpb-boolean-circuit.pl +10 -5
- package/examples/output/clpb-cardinality.pl +8 -3
- package/examples/output/clpb-feature-model.pl +10 -5
- package/examples/output/clpb-weighted-planning.pl +4 -1
- package/examples/output/clpz-factorial.pl +4 -1
- package/examples/output/clpz-global-constraints.pl +10 -7
- package/examples/output/clpz-n-queens.pl +8 -3
- package/examples/output/clpz-resource-allocation.pl +6 -3
- package/examples/output/clpz-sudoku-9x9.pl +5 -1
- package/examples/output/collatz-1000.pl +2837 -1000
- package/examples/output/combinatorics-findall-sort.pl +11 -2
- package/examples/output/competitive-enzyme-kinetics.pl +21 -6
- package/examples/output/complex.pl +24 -6
- package/examples/output/composition-of-injective-functions-is-injective.pl +5 -2
- package/examples/output/context-association.pl +12 -3
- package/examples/output/context-schema-audit.pl +17 -12
- package/examples/output/continued-fraction-sqrt2.pl +7 -4
- package/examples/output/control-system.pl +15 -6
- package/examples/output/critical-path-schedule.pl +22 -19
- package/examples/output/cross-organization-data-sharing.pl +21 -8
- package/examples/output/cyclic-path.pl +19 -16
- package/examples/output/d3-group.pl +11 -2
- package/examples/output/dairy-energy-balance.pl +24 -13
- package/examples/output/data-negotiation.pl +4 -1
- package/examples/output/dcg-command-parser.pl +7 -4
- package/examples/output/dcg-expression-language.pl +8 -5
- package/examples/output/declarative-fault-localization.pl +4 -1
- package/examples/output/deep-taxonomy-10.pl +41 -16
- package/examples/output/deep-taxonomy-100.pl +41 -16
- package/examples/output/deep-taxonomy-1000.pl +43 -16
- package/examples/output/deep-taxonomy-10000.pl +43 -16
- package/examples/output/deep-taxonomy-100000.pl +43 -16
- package/examples/output/defeasible-reasoning.pl +13 -6
- package/examples/output/delfour.pl +96 -31
- package/examples/output/deontic-logic.pl +11 -4
- package/examples/output/derived-backward-rule.pl +10 -3
- package/examples/output/derived-rule.pl +9 -2
- package/examples/output/diamond-property.pl +11 -4
- package/examples/output/dif-constraints.pl +7 -2
- package/examples/output/dijkstra-findall-sort.pl +9 -2
- package/examples/output/dijkstra-risk-path.pl +48 -29
- package/examples/output/dijkstra.pl +21 -16
- package/examples/output/dining-philosophers.pl +369 -350
- package/examples/output/dog.pl +4 -1
- package/examples/output/donald-gerald-robert.pl +8 -5
- package/examples/output/dpv-odrl-purpose-mapping.pl +95 -18
- package/examples/output/drone-corridor-planner.pl +54 -17
- package/examples/output/easter-computus.pl +37 -30
- package/examples/output/electrical-rc-filter.pl +10 -3
- package/examples/output/enigma1225.pl +5 -1
- package/examples/output/epidemic-policy.pl +27 -14
- package/examples/output/equality-saturation.pl +10 -5
- package/examples/output/equivalence-classes-overlap-implies-same-class.pl +21 -18
- package/examples/output/eulerian-path.pl +12 -3
- package/examples/output/ev-range-worlds.pl +32 -19
- package/examples/output/existential-rule.pl +5 -2
- package/examples/output/exoplanet-validation-worlds.pl +35 -22
- package/examples/output/explainable-ev-depot-configuration.pl +17 -8
- package/examples/output/expression-eval.pl +4 -1
- package/examples/output/family-cousins.pl +35 -28
- package/examples/output/fast-fourier-transform.pl +5 -1
- package/examples/output/fastpow.pl +17 -6
- package/examples/output/fft8-numeric.pl +13 -4
- package/examples/output/fibonacci.pl +13 -6
- package/examples/output/field-nitrogen-balance.pl +36 -21
- package/examples/output/flandor.pl +136 -43
- package/examples/output/floating-point.pl +14 -9
- package/examples/output/four-color-map.pl +12 -3
- package/examples/output/fundamental-theorem-arithmetic.pl +28 -9
- package/examples/output/gd-step-certified.pl +98 -79
- package/examples/output/gdpr-compliance.pl +11 -6
- package/examples/output/goldbach.pl +27 -24
- package/examples/output/good-cobbler.pl +4 -1
- package/examples/output/gps.pl +48 -21
- package/examples/output/graph-reachability.pl +8 -3
- package/examples/output/graph.pl +24 -21
- package/examples/output/gray-code-counter.pl +6 -1
- package/examples/output/greatest-lower-bound-uniqueness.pl +5 -2
- package/examples/output/group-inverse-uniqueness.pl +5 -2
- package/examples/output/hamiltonian-path.pl +126 -121
- package/examples/output/hamming-code.pl +19 -6
- package/examples/output/hanoi.pl +6 -1
- package/examples/output/heat-loss.pl +16 -5
- package/examples/output/herbrand-semantics.pl +5 -2
- package/examples/output/herbrand-witnesses.pl +16 -7
- package/examples/output/heron-theorem.pl +13 -4
- package/examples/output/http-client.pl +1 -0
- package/examples/output/ideal-gas-law.pl +10 -3
- package/examples/output/illegitimate-reasoning.pl +40 -19
- package/examples/output/integer-partitions.pl +7 -4
- package/examples/output/integrity-check.pl +7 -2
- package/examples/output/intuitionistic-logic-kripke.pl +16 -5
- package/examples/output/iso-atomic-conversion.pl +16 -13
- package/examples/output/iso-control-and-errors.pl +8 -5
- package/examples/output/iso-dynamic-database.pl +9 -4
- package/examples/output/iso-extension-pipeline-audit.pl +5 -1
- package/examples/output/iso-extensions.pl +9 -6
- package/examples/output/iso-grouped-solutions.pl +8 -5
- package/examples/output/iso-integer-arithmetic.pl +8 -5
- package/examples/output/iso-operators.pl +6 -3
- package/examples/output/iso-reflective-terms.pl +10 -7
- package/examples/output/iso-term-io.pl +6 -3
- package/examples/output/job-shop-scheduling.pl +8 -3
- package/examples/output/json.pl +7 -2
- package/examples/output/knapsack-optimization.pl +7 -4
- package/examples/output/knights-tour-warnsdorff.pl +6 -1
- package/examples/output/knowledge-engineering-alignment-flow.pl +34 -21
- package/examples/output/knuth-bendix-completion.pl +12 -7
- package/examples/output/language.pl +9 -6
- package/examples/output/law-of-cosines.pl +10 -3
- package/examples/output/least-squares-regression.pl +17 -5
- package/examples/output/lee.pl +5 -1
- package/examples/output/linear-logic-resources.pl +7 -2
- package/examples/output/list-collection.pl +18 -7
- package/examples/output/lldm.pl +19 -6
- package/examples/output/manufacturing-quality-control.pl +13 -6
- package/examples/output/map-four-color-search.pl +6 -1
- package/examples/output/markov-logic-network.pl +57 -32
- package/examples/output/matrix-chain-order.pl +9 -4
- package/examples/output/matrix-noncommutativity.pl +6 -3
- package/examples/output/microgrid-dispatch.pl +21 -6
- package/examples/output/missionaries-cannibals.pl +8 -3
- package/examples/output/modal-logic-kripke.pl +9 -4
- package/examples/output/modular-exponentiation.pl +7 -4
- package/examples/output/monkey-bananas.pl +10 -5
- package/examples/output/network-sla.pl +13 -4
- package/examples/output/newton-raphson.pl +6 -3
- package/examples/output/nixon-diamond.pl +12 -5
- package/examples/output/observability-log-correlation.pl +52 -28
- package/examples/output/odrl-dpv-fpv-trust-flow.pl +50 -9
- package/examples/output/odrl-dpv-healthcare-risk-ranked.pl +80 -15
- package/examples/output/odrl-dpv-risk-ranked.pl +105 -20
- package/examples/output/odrl-policy-advanced.pl +35 -6
- package/examples/output/odrl-policy-reasoning.pl +128 -34
- package/examples/output/odrl-policy.pl +25 -4
- package/examples/output/operational-incident-response.pl +19 -8
- package/examples/output/orbital-transfer-design.pl +24 -7
- package/examples/output/partial-evaluator.pl +10 -4
- package/examples/output/path-discovery.pl +18 -3
- package/examples/output/peano-arithmetic.pl +6 -1
- package/examples/output/peano-calculus.pl +8 -3
- package/examples/output/peasant.pl +21 -10
- package/examples/output/pell-equation.pl +7 -4
- package/examples/output/pendulum-period.pl +13 -4
- package/examples/output/pi.pl +4 -1
- package/examples/output/pointer-analysis.pl +19 -8
- package/examples/output/polynomial.pl +25 -14
- package/examples/output/portable-library-overlap.pl +5 -1
- package/examples/output/prime-range.pl +6 -3
- package/examples/output/proof-contrapositive.pl +12 -3
- package/examples/output/propositional-dynamic-logic.pl +13 -1
- package/examples/output/quadratic-formula.pl +11 -6
- package/examples/output/quine-mccluskey.pl +28 -7
- package/examples/output/radioactive-decay.pl +17 -5
- package/examples/output/rdf12-annotated-claims.pl +50 -9
- package/examples/output/rdf12-annotation.pl +25 -4
- package/examples/output/rdf12-directional-language.pl +15 -2
- package/examples/output/rdf12-nested-triple-term.pl +10 -1
- package/examples/output/rdf12-trig-graph-join.pl +10 -1
- package/examples/output/rdf12-trig-named-graph.pl +20 -3
- package/examples/output/rdf12-trig-triple-term.pl +10 -1
- package/examples/output/rdf12-triple-term.pl +10 -1
- package/examples/output/register-allocation.pl +14 -8
- package/examples/output/reified-conditionals.pl +4 -1
- package/examples/output/relational-cube-lookup.pl +7 -2
- package/examples/output/reusable-builtins.pl +8 -5
- package/examples/output/riemann-hypothesis.pl +17 -12
- package/examples/output/route-planning.pl +11 -4
- package/examples/output/sat-solver-dpll.pl +22 -11
- package/examples/output/sbom-vulnerability-response.pl +16 -4
- package/examples/output/scientific-evidence-graph.pl +22 -9
- package/examples/output/security-incident-correlation.pl +12 -3
- package/examples/output/send-more-money.pl +6 -3
- package/examples/output/service-impact.pl +18 -11
- package/examples/output/shoelace-polygon-area.pl +4 -1
- package/examples/output/sieve.pl +6 -1
- package/examples/output/skolem-functions.pl +31 -16
- package/examples/output/snaf.pl +4 -1
- package/examples/output/socrates.pl +7 -2
- package/examples/output/spacecraft-battery-diagnosis.pl +11 -4
- package/examples/output/stable-marriage.pl +7 -2
- package/examples/output/statistics-summary.pl +13 -4
- package/examples/output/stirling-bell-numbers.pl +7 -4
- package/examples/output/superdense-coding.pl +13 -6
- package/examples/output/symbiotic-knowledge-graph.pl +105 -42
- package/examples/output/symbolic-derivative.pl +9 -4
- package/examples/output/takeuchi.pl +4 -1
- package/examples/output/term-tools.pl +9 -6
- package/examples/output/totient-summatory.pl +7 -4
- package/examples/output/trust-flow-provenance-threshold.pl +15 -6
- package/examples/output/truth-maintenance-system.pl +36 -25
- package/examples/output/turing.pl +19 -12
- package/examples/output/type-inference.pl +14 -8
- package/examples/output/universal-vs-existential-termination.pl +4 -1
- package/examples/output/uuid.pl +4 -1
- package/examples/output/vanilla-meta-interpreter.pl +4 -1
- package/examples/output/vector-similarity.pl +13 -4
- package/examples/output/vulnerability-impact.pl +31 -20
- package/examples/output/web-names.pl +11 -3
- package/examples/output/weighted-interval-scheduling.pl +8 -5
- package/examples/output/witch.pl +18 -7
- package/examples/output/wolf-goat-cabbage.pl +8 -3
- package/examples/output/workplace-compliance.pl +7 -4
- package/examples/output/zebra.pl +10 -3
- package/examples/proof/access-control-policy.pl +81 -98
- package/examples/proof/age.pl +38 -39
- package/examples/proof/aliases-and-namespaces.pl +45 -63
- package/examples/proof/ancestor.pl +42 -108
- package/examples/proof/animal.pl +29 -57
- package/examples/proof/annotation.pl +112 -124
- package/examples/proof/attributed-variables.pl +35 -42
- package/examples/proof/backward.pl +11 -19
- package/examples/proof/bayes-diagnosis.pl +167 -221
- package/examples/proof/beam-deflection.pl +110 -126
- package/examples/proof/cache-performance.pl +124 -185
- package/examples/proof/canary-release.pl +91 -128
- package/examples/proof/cat-koko.pl +34 -57
- package/examples/proof/catalan-convolution.pl +74 -95
- package/examples/proof/cdcl-sat-solver.pl +82 -128
- package/examples/proof/chart-parser.pl +299 -300
- package/examples/proof/clinical-trial-screening.pl +138 -276
- package/examples/proof/clpb-boolean-circuit.pl +50 -88
- package/examples/proof/clpb-cardinality.pl +18 -17
- package/examples/proof/clpb-feature-model.pl +71 -88
- package/examples/proof/combinatorics-findall-sort.pl +57 -41
- package/examples/proof/composition-of-injective-functions-is-injective.pl +86 -134
- package/examples/proof/context-association.pl +126 -99
- package/examples/proof/d3-group.pl +51 -41
- package/examples/proof/data-negotiation.pl +64 -48
- package/examples/proof/dcg-command-parser.pl +50 -50
- package/examples/proof/declarative-fault-localization.pl +54 -55
- package/examples/proof/defeasible-reasoning.pl +89 -84
- package/examples/proof/deontic-logic.pl +81 -77
- package/examples/proof/derived-backward-rule.pl +36 -60
- package/examples/proof/derived-rule.pl +26 -32
- package/examples/proof/diamond-property.pl +64 -258
- package/examples/proof/dif-constraints.pl +25 -28
- package/examples/proof/dog.pl +25 -21
- package/examples/proof/electrical-rc-filter.pl +76 -67
- package/examples/proof/enigma1225.pl +23 -12
- package/examples/proof/epidemic-policy.pl +231 -460
- package/examples/proof/equality-saturation.pl +60 -84
- package/examples/proof/equivalence-classes-overlap-implies-same-class.pl +197 -720
- package/examples/proof/existential-rule.pl +22 -24
- package/examples/proof/expression-eval.pl +72 -71
- package/examples/proof/floating-point.pl +65 -119
- package/examples/proof/four-color-map.pl +105 -122
- package/examples/proof/gdpr-compliance.pl +136 -149
- package/examples/proof/good-cobbler.pl +17 -12
- package/examples/proof/graph-reachability.pl +79 -105
- package/examples/proof/greatest-lower-bound-uniqueness.pl +44 -106
- package/examples/proof/group-inverse-uniqueness.pl +41 -58
- package/examples/proof/hanoi.pl +138 -89
- package/examples/proof/heat-loss.pl +109 -142
- package/examples/proof/herbrand-semantics.pl +13 -24
- package/examples/proof/herbrand-witnesses.pl +70 -89
- package/examples/proof/ideal-gas-law.pl +75 -89
- package/examples/proof/integrity-check.pl +27 -33
- package/examples/proof/intuitionistic-logic-kripke.pl +114 -109
- package/examples/proof/iso-control-and-errors.pl +84 -106
- package/examples/proof/iso-dynamic-database.pl +40 -57
- package/examples/proof/iso-extension-pipeline-audit.pl +57 -18
- package/examples/proof/iso-extensions.pl +70 -76
- package/examples/proof/iso-grouped-solutions.pl +87 -111
- package/examples/proof/iso-integer-arithmetic.pl +44 -65
- package/examples/proof/iso-operators.pl +46 -46
- package/examples/proof/job-shop-scheduling.pl +50 -51
- package/examples/proof/json.pl +40 -31
- package/examples/proof/knapsack-optimization.pl +53 -71
- package/examples/proof/knights-tour-warnsdorff.pl +512 -271
- package/examples/proof/language.pl +59 -108
- package/examples/proof/linear-logic-resources.pl +187 -124
- package/examples/proof/list-collection.pl +67 -94
- package/examples/proof/modal-logic-kripke.pl +88 -103
- package/examples/proof/nixon-diamond.pl +79 -146
- package/examples/proof/partial-evaluator.pl +248 -322
- package/examples/proof/peasant.pl +131 -138
- package/examples/proof/prime-range.pl +27 -44
- package/examples/proof/proof-contrapositive.pl +38 -61
- package/examples/proof/propositional-dynamic-logic.pl +101 -69
- package/examples/proof/rdf12-annotation.pl +130 -90
- package/examples/proof/rdf12-directional-language.pl +56 -24
- package/examples/proof/rdf12-nested-triple-term.pl +33 -12
- package/examples/proof/rdf12-trig-graph-join.pl +40 -13
- package/examples/proof/rdf12-trig-named-graph.pl +79 -38
- package/examples/proof/rdf12-trig-triple-term.pl +33 -12
- package/examples/proof/rdf12-triple-term.pl +33 -12
- package/examples/proof/reified-conditionals.pl +25 -15
- package/examples/proof/reusable-builtins.pl +102 -74
- package/examples/proof/route-planning.pl +79 -126
- package/examples/proof/security-incident-correlation.pl +108 -187
- package/examples/proof/sieve.pl +27 -13
- package/examples/proof/snaf.pl +11 -13
- package/examples/proof/socrates.pl +15 -31
- package/examples/proof/spacecraft-battery-diagnosis.pl +153 -172
- package/examples/proof/stable-marriage.pl +82 -78
- package/examples/proof/symbolic-derivative.pl +150 -140
- package/examples/proof/term-tools.pl +49 -76
- package/examples/proof/totient-summatory.pl +51 -81
- package/examples/proof/trust-flow-provenance-threshold.pl +139 -160
- package/examples/proof/universal-vs-existential-termination.pl +33 -30
- package/examples/proof/uuid.pl +41 -21
- package/examples/proof/vanilla-meta-interpreter.pl +17 -13
- package/examples/proof/web-names.pl +86 -46
- package/examples/proof/weighted-interval-scheduling.pl +480 -3887
- package/examples/proof/witch.pl +43 -173
- package/examples/proof/workplace-compliance.pl +65 -57
- package/index.d.ts +39 -0
- package/package.json +1 -1
- package/src/check-proof.js +231 -0
- package/src/cleanup.js +7 -0
- package/src/cli.js +24 -24
- package/src/execute.js +34 -2
- package/src/explain.js +150 -1
- package/src/index.js +27 -11
- package/src/iso.js +17 -1
- package/src/result-format.js +208 -0
- package/src/solver.js +88 -15
- package/test/conformance/README.md +1 -1
- package/test/conformance/expected/aggregation/044_findall_user_goal.pl +4 -1
- package/test/conformance/expected/aggregation/057_countall_empty_and_nonempty.pl +4 -1
- package/test/conformance/expected/aggregation/058_sumall_numeric_template.pl +4 -1
- package/test/conformance/expected/aggregation/059_aggregate_min_template.pl +4 -1
- package/test/conformance/expected/aggregation/060_aggregate_max_compound_key.pl +4 -1
- package/test/conformance/expected/aggregation/075_aggregation_edges.pl +10 -7
- package/test/conformance/expected/aggregation/098_aggregation_nested_templates.pl +11 -6
- package/test/conformance/expected/aggregation/aggregate_max_no_answers_fails.pl +4 -1
- package/test/conformance/expected/aggregation/aggregate_min_structured_key.pl +4 -1
- package/test/conformance/expected/aggregation/countall_zero.pl +4 -1
- package/test/conformance/expected/aggregation/existential_qualifier_autoload.pl +8 -5
- package/test/conformance/expected/aggregation/extra_aggregate_max_iri_key.pl +4 -1
- package/test/conformance/expected/aggregation/extra_aggregate_min_tie_first.pl +4 -1
- package/test/conformance/expected/aggregation/extra_countall_with_filter.pl +4 -1
- package/test/conformance/expected/aggregation/extra_findall_repeated_template.pl +4 -1
- package/test/conformance/expected/aggregation/extra_sumall_float_template.pl +4 -1
- package/test/conformance/expected/aggregation/findall_empty_bag.pl +4 -1
- package/test/conformance/expected/aggregation/sumall_empty_zero.pl +4 -1
- package/test/conformance/expected/arithmetic/024_numeric_literal_readback.pl +6 -3
- package/test/conformance/expected/arithmetic/029_arithmetic_and_comparison.pl +12 -9
- package/test/conformance/expected/arithmetic/039_numeric_functions.pl +10 -7
- package/test/conformance/expected/arithmetic/040_between_enumeration.pl +6 -3
- package/test/conformance/expected/arithmetic/041_smallest_divisor.pl +4 -1
- package/test/conformance/expected/arithmetic/054_numeric_and_lexical_comparison.pl +6 -3
- package/test/conformance/expected/arithmetic/061_date_difference.pl +5 -2
- package/test/conformance/expected/arithmetic/062_reusable_numeric_builtins.pl +11 -8
- package/test/conformance/expected/arithmetic/066_numeric_edges.pl +10 -7
- package/test/conformance/expected/arithmetic/079_big_integer_arithmetic.pl +9 -6
- package/test/conformance/expected/arithmetic/080_rounding_modes.pl +11 -8
- package/test/conformance/expected/arithmetic/081_zero_safe_numeric_functions.pl +10 -7
- package/test/conformance/expected/arithmetic/082_comparison_semantics.pl +11 -8
- package/test/conformance/expected/arithmetic/083_between_modes_and_empty_ranges.pl +11 -8
- package/test/conformance/expected/arithmetic/between_bound_value.pl +4 -1
- package/test/conformance/expected/arithmetic/between_singleton.pl +4 -1
- package/test/conformance/expected/arithmetic/duration_comparison.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_acos_one.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_asin_zero.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_atan2_axis.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_difference_leap_day.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_difference_same_day.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_div_float_exact.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_div_integer_trunc.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_exp_zero.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_ge_equal_duration.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_le_equal_string.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_log_one.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_mod_negative_right.pl +4 -1
- package/test/conformance/expected/arithmetic/extra_pow_large_integer.pl +4 -1
- package/test/conformance/expected/arithmetic/float_add_and_div.pl +5 -2
- package/test/conformance/expected/arithmetic/min_max_mixed.pl +5 -2
- package/test/conformance/expected/arithmetic/mod_negative_left.pl +4 -1
- package/test/conformance/expected/arithmetic/neg_abs_integer.pl +5 -2
- package/test/conformance/expected/arithmetic/pow_negative_exponent_fails.pl +4 -1
- package/test/conformance/expected/arithmetic/pow_zero_exponent.pl +4 -1
- package/test/conformance/expected/arithmetic/rounding_negative_float.pl +7 -4
- package/test/conformance/expected/arithmetic/smallest_divisor_prime.pl +4 -1
- package/test/conformance/expected/atoms/008_graphic_atoms.pl +6 -3
- package/test/conformance/expected/atoms/016_arity_zero_atom.pl +4 -1
- package/test/conformance/expected/atoms/018_quoted_atom_readback.pl +6 -3
- package/test/conformance/expected/atoms/103_angle_iri_atoms.pl +8 -3
- package/test/conformance/expected/atoms/angle_iri_percent_encoded.pl +3 -0
- package/test/conformance/expected/atoms/extra_graphic_backslash_atom.pl +3 -0
- package/test/conformance/expected/atoms/extra_iri_mailto_plus.pl +3 -0
- package/test/conformance/expected/atoms/extra_iri_uuid_scheme.pl +3 -0
- package/test/conformance/expected/atoms/extra_quoted_atom_with_quote_readback.pl +3 -0
- package/test/conformance/expected/atoms/graphic_angle_atom_stays_graphic.pl +4 -1
- package/test/conformance/expected/atoms/graphic_atom_predicate.pl +4 -1
- package/test/conformance/expected/atoms/graphic_less_than_atom.pl +4 -1
- package/test/conformance/expected/atoms/iri_as_predicate_name_quoted.pl +4 -1
- package/test/conformance/expected/atoms/iri_atoms_in_lists.pl +4 -1
- package/test/conformance/expected/atoms/iri_mailto_readback.pl +4 -1
- package/test/conformance/expected/atoms/iri_query_fragment_readback.pl +4 -1
- package/test/conformance/expected/atoms/iri_quoted_absolute_readback.pl +5 -2
- package/test/conformance/expected/atoms/iri_quoted_and_angle_unify.pl +3 -0
- package/test/conformance/expected/atoms/iri_urn_readback.pl +4 -1
- package/test/conformance/expected/atoms/question_mark_graphic_atom.pl +4 -1
- package/test/conformance/expected/atoms/quoted_relative_iri_not_angle.pl +3 -0
- package/test/conformance/expected/atoms/quoted_urn_iri_readback.pl +4 -1
- package/test/conformance/expected/atoms/zero_arity_atom_roundtrip.pl +6 -3
- package/test/conformance/expected/builtins/037_matching_and_comparison.pl +8 -5
- package/test/conformance/expected/builtins/076_composed_reusable_builtins.pl +8 -5
- package/test/conformance/expected/builtins/100_reusable_builtin_workflow.pl +9 -6
- package/test/conformance/expected/builtins/atom_string_iri_atom.pl +4 -1
- package/test/conformance/expected/builtins/eq_unifies_iri_atoms.pl +3 -0
- package/test/conformance/expected/builtins/extra_difference_end_before_start_fails.pl +3 -0
- package/test/conformance/expected/builtins/extra_difference_invalid_date_fails.pl +3 -0
- package/test/conformance/expected/builtins/extra_eq_binds_both_sides.pl +4 -1
- package/test/conformance/expected/builtins/extra_neq_different_iri_atoms.pl +4 -1
- package/test/conformance/expected/builtins/extra_neq_same_iri_fails.pl +4 -1
- package/test/conformance/expected/builtins/extra_uuid_v4.pl +4 -1
- package/test/conformance/expected/context/032_context_parts.pl +6 -3
- package/test/conformance/expected/context/051_nested_context_parts.pl +6 -3
- package/test/conformance/expected/context/052_context_member.pl +5 -2
- package/test/conformance/expected/context/094_context_enumeration.pl +11 -8
- package/test/conformance/expected/context/context_compound_formula.pl +4 -1
- package/test/conformance/expected/context/context_fails_when_missing.pl +4 -1
- package/test/conformance/expected/context/context_parts_from_formula.pl +5 -2
- package/test/conformance/expected/context/extra_context_atom_parts.pl +5 -2
- package/test/conformance/expected/context/extra_context_ignores_string_parts.pl +4 -1
- package/test/conformance/expected/context/extra_context_list_parts.pl +5 -2
- package/test/conformance/expected/context/extra_context_term_nested_order.pl +6 -3
- package/test/conformance/expected/control/014_failure_filters_answers.pl +4 -1
- package/test/conformance/expected/control/043_once_user_predicate.pl +4 -1
- package/test/conformance/expected/control/074_forall_edges.pl +8 -5
- package/test/conformance/expected/control/097_control_negation_once_forall.pl +9 -6
- package/test/conformance/expected/control/double_negation_ground_goal.pl +4 -1
- package/test/conformance/expected/control/extra_forall_bound_check.pl +4 -1
- package/test/conformance/expected/control/extra_forall_counterexample_fails.pl +3 -0
- package/test/conformance/expected/control/extra_not_unbound_existing_goal_fails.pl +3 -0
- package/test/conformance/expected/control/extra_not_unbound_unknown_goal_succeeds.pl +4 -1
- package/test/conformance/expected/control/extra_once_empty_fails.pl +3 -0
- package/test/conformance/expected/control/extra_once_preserves_binding.pl +4 -1
- package/test/conformance/expected/control/forall_detects_counterexample.pl +4 -1
- package/test/conformance/expected/control/forall_empty_generator_true.pl +4 -1
- package/test/conformance/expected/control/negation_with_bound_generator.pl +4 -1
- package/test/conformance/expected/control/once_keeps_first_answer.pl +4 -1
- package/test/conformance/expected/explicit-tabling/038_explicit_tabling.pl +5 -2
- package/test/conformance/expected/explicit-tabling/102_recursive_inference.pl +9 -6
- package/test/conformance/expected/explicit-tabling/explicit_left_recursion_path.pl +5 -2
- package/test/conformance/expected/explicit-tabling/explicit_tabling_preserves_answers.pl +6 -3
- package/test/conformance/expected/explicit-tabling/extra_explicit_bound_cycle.pl +5 -2
- package/test/conformance/expected/explicit-tabling/extra_explicit_open_call.pl +5 -2
- package/test/conformance/expected/iso/arg_first_success.pl +4 -1
- package/test/conformance/expected/iso/arg_last_success.pl +4 -1
- package/test/conformance/expected/iso/arg_out_of_range_fails.pl +4 -1
- package/test/conformance/expected/iso/arithmetic.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_bit_and.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_bit_or.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_bit_shift.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_comparison_equal.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_comparison_not_equal.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_integer_quotient.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_remainder.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_unary_plus.pl +4 -1
- package/test/conformance/expected/iso/arithmetic_underflow_rounds.pl +4 -1
- package/test/conformance/expected/iso/atom_chars_forward.pl +4 -1
- package/test/conformance/expected/iso/atom_chars_reverse.pl +4 -1
- package/test/conformance/expected/iso/atom_codes_forward.pl +4 -1
- package/test/conformance/expected/iso/atom_codes_reverse.pl +4 -1
- package/test/conformance/expected/iso/atom_concat_forward.pl +4 -1
- package/test/conformance/expected/iso/atom_concat_prefix.pl +4 -1
- package/test/conformance/expected/iso/atom_concat_suffix.pl +4 -1
- package/test/conformance/expected/iso/atom_length_unicode.pl +4 -1
- package/test/conformance/expected/iso/atom_length_zero.pl +4 -1
- package/test/conformance/expected/iso/atomic_term_processing.pl +23 -6
- package/test/conformance/expected/iso/bitwise_complement.pl +4 -1
- package/test/conformance/expected/iso/call_success.pl +4 -1
- package/test/conformance/expected/iso/catch_recovers.pl +4 -1
- package/test/conformance/expected/iso/char_code_forward.pl +4 -1
- package/test/conformance/expected/iso/char_code_reverse.pl +4 -1
- package/test/conformance/expected/iso/clause_body_conversion.pl +13 -4
- package/test/conformance/expected/iso/clause_static_and_dynamic_access.pl +10 -3
- package/test/conformance/expected/iso/compare_equal_result.pl +4 -1
- package/test/conformance/expected/iso/compare_greater_result.pl +4 -1
- package/test/conformance/expected/iso/compare_less_result.pl +4 -1
- package/test/conformance/expected/iso/control_and_terms.pl +5 -2
- package/test/conformance/expected/iso/copy_term_fresh_variables.pl +4 -1
- package/test/conformance/expected/iso/core_predicates.pl +4 -1
- package/test/conformance/expected/iso/corrigenda_arithmetic.pl +27 -1
- package/test/conformance/expected/iso/corrigenda_bar_operator.pl +4 -1
- package/test/conformance/expected/iso/corrigenda_call_closure.pl +6 -1
- package/test/conformance/expected/iso/corrigenda_catch_callability.pl +4 -1
- package/test/conformance/expected/iso/corrigenda_retractall.pl +4 -1
- package/test/conformance/expected/iso/corrigenda_sort_keysort.pl +4 -1
- package/test/conformance/expected/iso/corrigenda_term_predicates.pl +4 -1
- package/test/conformance/expected/iso/corrigendum1_double_quote_operator.pl +4 -1
- package/test/conformance/expected/iso/corrigendum3_write_variable_names.pl +4 -1
- package/test/conformance/expected/iso/cut_control.pl +30 -11
- package/test/conformance/expected/iso/cut_disjunction_scope.pl +5 -2
- package/test/conformance/expected/iso/dcg_ambiguous_alternatives.pl +4 -1
- package/test/conformance/expected/iso/dcg_call_phrase_semicontext.pl +13 -4
- package/test/conformance/expected/iso/dcg_control_constructs.pl +17 -6
- package/test/conformance/expected/iso/dcg_declaration_nonterminal_indicators.pl +4 -1
- package/test/conformance/expected/iso/dcg_double_quotes_atom.pl +4 -1
- package/test/conformance/expected/iso/dcg_double_quotes_codes.pl +4 -1
- package/test/conformance/expected/iso/dcg_dynamic_body_control.pl +8 -5
- package/test/conformance/expected/iso/dcg_dynamic_nonterminal_indicator.pl +4 -1
- package/test/conformance/expected/iso/dcg_explicit_qualified_head.pl +4 -1
- package/test/conformance/expected/iso/dcg_module_nonterminal_indicator.pl +7 -2
- package/test/conformance/expected/iso/dcg_nested_phrase_call.pl +4 -1
- package/test/conformance/expected/iso/dcg_operator_table.pl +5 -2
- package/test/conformance/expected/iso/dcg_partial_sequences.pl +6 -3
- package/test/conformance/expected/iso/dcg_phrase_steadfastness.pl +7 -4
- package/test/conformance/expected/iso/dcg_qualified_chain.pl +7 -2
- package/test/conformance/expected/iso/dcg_recursive_sequences.pl +10 -3
- package/test/conformance/expected/iso/dcg_terminals_and_remainder.pl +7 -2
- package/test/conformance/expected/iso/dcg_variable_hygiene.pl +9 -2
- package/test/conformance/expected/iso/double_quoted_lists.pl +25 -8
- package/test/conformance/expected/iso/dynamic_database.pl +8 -3
- package/test/conformance/expected/iso/exceptions_and_flags.pl +21 -3
- package/test/conformance/expected/iso/false_builtin.pl +5 -2
- package/test/conformance/expected/iso/functor_construct_atom.pl +4 -1
- package/test/conformance/expected/iso/functor_construct_compound.pl +4 -1
- package/test/conformance/expected/iso/functor_decompose_atom.pl +4 -1
- package/test/conformance/expected/iso/functor_decompose_compound.pl +4 -1
- package/test/conformance/expected/iso/functor_decompose_number.pl +4 -1
- package/test/conformance/expected/iso/grouped_solutions_and_clauses.pl +25 -10
- package/test/conformance/expected/iso/halt.pl +3 -0
- package/test/conformance/expected/iso/identity_shared_variable.pl +4 -1
- package/test/conformance/expected/iso/if_then_else_fallback.pl +4 -1
- package/test/conformance/expected/iso/if_then_success.pl +4 -1
- package/test/conformance/expected/iso/include_and_ensure_loaded.pl +5 -2
- package/test/conformance/expected/iso/lexical_and_curly_terms.pl +23 -1
- package/test/conformance/expected/iso/logtalk_abolish.pl +4 -1
- package/test/conformance/expected/iso/logtalk_arg_unification.pl +4 -1
- package/test/conformance/expected/iso/logtalk_assert_order.pl +4 -1
- package/test/conformance/expected/iso/logtalk_atom_chars.pl +4 -1
- package/test/conformance/expected/iso/logtalk_atom_codes.pl +4 -1
- package/test/conformance/expected/iso/logtalk_atom_concat.pl +8 -1
- package/test/conformance/expected/iso/logtalk_atom_length.pl +4 -1
- package/test/conformance/expected/iso/logtalk_bagof.pl +4 -1
- package/test/conformance/expected/iso/logtalk_char_code.pl +4 -1
- package/test/conformance/expected/iso/logtalk_clause.pl +4 -1
- package/test/conformance/expected/iso/logtalk_compare_standard_order.pl +4 -1
- package/test/conformance/expected/iso/logtalk_copy_term_semantics.pl +4 -1
- package/test/conformance/expected/iso/logtalk_current_predicate.pl +4 -1
- package/test/conformance/expected/iso/logtalk_current_streams.pl +4 -1
- package/test/conformance/expected/iso/logtalk_dcg_conjunction_disjunction.pl +17 -8
- package/test/conformance/expected/iso/logtalk_dcg_cut.pl +7 -4
- package/test/conformance/expected/iso/logtalk_dcg_cut_positions.pl +7 -4
- package/test/conformance/expected/iso/logtalk_dcg_embedded_goals.pl +13 -4
- package/test/conformance/expected/iso/logtalk_dcg_embedded_sequences.pl +10 -3
- package/test/conformance/expected/iso/logtalk_dcg_graphic_nonterminal.pl +4 -1
- package/test/conformance/expected/iso/logtalk_dcg_if_then_else.pl +22 -7
- package/test/conformance/expected/iso/logtalk_dcg_negation_positions.pl +7 -4
- package/test/conformance/expected/iso/logtalk_dcg_nonterminals.pl +10 -3
- package/test/conformance/expected/iso/logtalk_dcg_phrase_identity.pl +9 -6
- package/test/conformance/expected/iso/logtalk_dcg_semicontext_variants.pl +13 -4
- package/test/conformance/expected/iso/logtalk_dcg_semicontexts.pl +13 -4
- package/test/conformance/expected/iso/logtalk_dcg_terminal_variables.pl +10 -3
- package/test/conformance/expected/iso/logtalk_dcg_terminals.pl +17 -6
- package/test/conformance/expected/iso/logtalk_dcg_variable_bodies.pl +11 -4
- package/test/conformance/expected/iso/logtalk_findall.pl +4 -1
- package/test/conformance/expected/iso/logtalk_number_chars.pl +4 -1
- package/test/conformance/expected/iso/logtalk_number_codes.pl +4 -1
- package/test/conformance/expected/iso/logtalk_occurs_check.pl +4 -1
- package/test/conformance/expected/iso/logtalk_once.pl +4 -1
- package/test/conformance/expected/iso/logtalk_operators.pl +4 -1
- package/test/conformance/expected/iso/logtalk_prolog_flags.pl +6 -1
- package/test/conformance/expected/iso/logtalk_repeat.pl +4 -1
- package/test/conformance/expected/iso/logtalk_retract.pl +4 -1
- package/test/conformance/expected/iso/logtalk_setof.pl +4 -1
- package/test/conformance/expected/iso/logtalk_sub_atom.pl +4 -1
- package/test/conformance/expected/iso/logtalk_term_comparison.pl +4 -1
- package/test/conformance/expected/iso/logtalk_term_variables.pl +16 -5
- package/test/conformance/expected/iso/logtalk_univ.pl +6 -1
- package/test/conformance/expected/iso/negation_success.pl +4 -1
- package/test/conformance/expected/iso/nonidentity_distinct_variables.pl +4 -1
- package/test/conformance/expected/iso/nonunifiable_compounds.pl +4 -1
- package/test/conformance/expected/iso/number_chars_integer.pl +4 -1
- package/test/conformance/expected/iso/number_chars_minus_line_comment.pl +4 -1
- package/test/conformance/expected/iso/number_codes_decimal.pl +4 -1
- package/test/conformance/expected/iso/occurs_check_rejects_cycle.pl +4 -1
- package/test/conformance/expected/iso/once_commits_first.pl +4 -1
- package/test/conformance/expected/iso/operator_atoms_as_arguments.pl +8 -3
- package/test/conformance/expected/iso/operators.pl +20 -5
- package/test/conformance/expected/iso/part3_grammar_body_constructs.pl +16 -13
- package/test/conformance/expected/iso/part3_phrase_examples.pl +11 -6
- package/test/conformance/expected/iso/public_procedure_access.pl +19 -6
- package/test/conformance/expected/iso/remaining_builtins_and_directives.pl +10 -3
- package/test/conformance/expected/iso/scryer_backslash_atom.pl +4 -1
- package/test/conformance/expected/iso/scryer_bare_exponent_lexing.pl +4 -1
- package/test/conformance/expected/iso/scryer_bracket_and_curly_term_parsing.pl +4 -1
- package/test/conformance/expected/iso/scryer_call_zero_arity.pl +4 -1
- package/test/conformance/expected/iso/scryer_current_predicate_after_existence_error.pl +4 -1
- package/test/conformance/expected/iso/scryer_current_prolog_flag_shared_var.pl +4 -1
- package/test/conformance/expected/iso/scryer_default_prefix_operator_priorities.pl +4 -1
- package/test/conformance/expected/iso/scryer_dollar_sign_atoms.pl +4 -1
- package/test/conformance/expected/iso/scryer_empty_list_atom_functor.pl +4 -1
- package/test/conformance/expected/iso/scryer_exponent_minus_lexing.pl +4 -1
- package/test/conformance/expected/iso/scryer_large_float_exponent.pl +4 -1
- package/test/conformance/expected/iso/scryer_lexical_terms.pl +13 -4
- package/test/conformance/expected/iso/scryer_line_continuation_in_quoted_atoms.pl +4 -1
- package/test/conformance/expected/iso/scryer_lower_priority_prefix_with_infix.pl +4 -1
- package/test/conformance/expected/iso/scryer_mixed_prefix_infix_operator_priority.pl +4 -1
- package/test/conformance/expected/iso/scryer_op_bar_prefix_permission.pl +4 -1
- package/test/conformance/expected/iso/scryer_op_error_conditions.pl +19 -5
- package/test/conformance/expected/iso/scryer_op_name_list_unbound_element.pl +4 -1
- package/test/conformance/expected/iso/scryer_op_name_type_error.pl +4 -1
- package/test/conformance/expected/iso/scryer_op_specifier_type_error.pl +4 -1
- package/test/conformance/expected/iso/scryer_op_wrong_arity_existence_error.pl +4 -1
- package/test/conformance/expected/iso/scryer_operator_application_vs_functor_notation.pl +4 -1
- package/test/conformance/expected/iso/scryer_operator_precedence.pl +4 -1
- package/test/conformance/expected/iso/scryer_postfix_operator_negative_number.pl +4 -1
- package/test/conformance/expected/iso/scryer_prefix_minus_chain.pl +4 -1
- package/test/conformance/expected/iso/scryer_quote_and_char_code_literals.pl +4 -1
- package/test/conformance/expected/iso/scryer_special_atom_names.pl +4 -1
- package/test/conformance/expected/iso/scryer_subnormal_float_underflow.pl +4 -1
- package/test/conformance/expected/iso/scryer_unary_plus_compound.pl +4 -1
- package/test/conformance/expected/iso/scryer_user_operator_with_prefix_minus.pl +4 -1
- package/test/conformance/expected/iso/streams_and_term_io.pl +25 -7
- package/test/conformance/expected/iso/sub_atom_empty.pl +4 -1
- package/test/conformance/expected/iso/sub_atom_prefix.pl +4 -1
- package/test/conformance/expected/iso/sub_atom_suffix.pl +4 -1
- package/test/conformance/expected/iso/swipl_call_n_builds_control_construct.pl +4 -1
- package/test/conformance/expected/iso/swipl_catch_partial_unification_rethrow.pl +4 -1
- package/test/conformance/expected/iso/swipl_keysort_remaining_errors.pl +7 -1
- package/test/conformance/expected/iso/swipl_length_errors.pl +7 -1
- package/test/conformance/expected/iso/swipl_memberchk_binding_retention.pl +4 -1
- package/test/conformance/expected/iso/swipl_occurs_check.pl +4 -1
- package/test/conformance/expected/iso/swipl_operator_syntax.pl +8 -3
- package/test/conformance/expected/iso/swipl_operator_table_self_named.pl +12 -1
- package/test/conformance/expected/iso/swipl_sort_partial_list_errors.pl +4 -1
- package/test/conformance/expected/iso/swipl_write_canonical_var_and_curly.pl +4 -1
- package/test/conformance/expected/iso/term_modes_and_ordering.pl +13 -4
- package/test/conformance/expected/iso/term_order_atom_less.pl +4 -1
- package/test/conformance/expected/iso/term_order_equal_greater_or_equal.pl +4 -1
- package/test/conformance/expected/iso/term_order_equal_less_or_equal.pl +4 -1
- package/test/conformance/expected/iso/term_order_number_greater.pl +4 -1
- package/test/conformance/expected/iso/throw_copies_ball.pl +7 -2
- package/test/conformance/expected/iso/trealla_append_modes.pl +11 -6
- package/test/conformance/expected/iso/trealla_arithmetic_constants.pl +4 -1
- package/test/conformance/expected/iso/trealla_atom_codes_unicode.pl +7 -2
- package/test/conformance/expected/iso/trealla_atom_enumeration.pl +14 -9
- package/test/conformance/expected/iso/trealla_bagof_multi_free_variables.pl +12 -5
- package/test/conformance/expected/iso/trealla_bagof_setof_duplicate_handling.pl +4 -1
- package/test/conformance/expected/iso/trealla_bignum_arithmetic.pl +20 -4
- package/test/conformance/expected/iso/trealla_call_missing_extended_arity.pl +4 -1
- package/test/conformance/expected/iso/trealla_call_transparent_to_disjunction.pl +4 -1
- package/test/conformance/expected/iso/trealla_clause_enumeration_backtracking.pl +4 -1
- package/test/conformance/expected/iso/trealla_compare_standard_order.pl +4 -1
- package/test/conformance/expected/iso/trealla_copy_term_binding_direction.pl +4 -1
- package/test/conformance/expected/iso/trealla_copy_term_bound_list_tail.pl +4 -1
- package/test/conformance/expected/iso/trealla_curly_and_colon_syntax_equivalence.pl +6 -1
- package/test/conformance/expected/iso/trealla_curly_braces_as_predicate.pl +4 -1
- package/test/conformance/expected/iso/trealla_dif_unification_shared_var.pl +4 -1
- package/test/conformance/expected/iso/trealla_disjunction_commit_and_fallthrough.pl +4 -1
- package/test/conformance/expected/iso/trealla_findall_bagof_grouping.pl +4 -1
- package/test/conformance/expected/iso/trealla_findall_solution_independence.pl +4 -1
- package/test/conformance/expected/iso/trealla_float_literal_representation_error.pl +10 -1
- package/test/conformance/expected/iso/trealla_float_parts_extremes.pl +13 -4
- package/test/conformance/expected/iso/trealla_forall_arithmetic_facts.pl +4 -1
- package/test/conformance/expected/iso/trealla_forall_double_negation.pl +4 -1
- package/test/conformance/expected/iso/trealla_functor_arg_partial_term.pl +7 -2
- package/test/conformance/expected/iso/trealla_ground_progressive_backtracking.pl +4 -1
- package/test/conformance/expected/iso/trealla_if_then_else_backtracking.pl +12 -5
- package/test/conformance/expected/iso/trealla_if_then_noncallable_then.pl +4 -1
- package/test/conformance/expected/iso/trealla_logical_update_view.pl +5 -2
- package/test/conformance/expected/iso/trealla_mod_sign_rules.pl +23 -1
- package/test/conformance/expected/iso/trealla_negation_eager_callability.pl +10 -1
- package/test/conformance/expected/iso/trealla_number_chars_skips_comments.pl +4 -1
- package/test/conformance/expected/iso/trealla_number_chars_syntax_error.pl +4 -1
- package/test/conformance/expected/iso/trealla_number_codes_char_literal.pl +4 -1
- package/test/conformance/expected/iso/trealla_occurs_check_rational_tree_subtleties.pl +4 -1
- package/test/conformance/expected/iso/trealla_occurs_check_reverse_order.pl +4 -1
- package/test/conformance/expected/iso/trealla_once_inside_findall_template.pl +4 -1
- package/test/conformance/expected/iso/trealla_quoted_atom_line_continuation.pl +4 -1
- package/test/conformance/expected/iso/trealla_retract_backtracking.pl +4 -1
- package/test/conformance/expected/iso/trealla_shared_argument_aliasing.pl +4 -1
- package/test/conformance/expected/iso/trealla_shared_variable_unification.pl +31 -10
- package/test/conformance/expected/iso/trealla_sort_duplicates_and_empty.pl +4 -1
- package/test/conformance/expected/iso/trealla_sub_atom_modes.pl +35 -22
- package/test/conformance/expected/iso/trealla_term_shapes.pl +4 -1
- package/test/conformance/expected/iso/trealla_term_variables_partial_list_error.pl +4 -1
- package/test/conformance/expected/iso/trealla_unicode_length_agreement.pl +4 -1
- package/test/conformance/expected/iso/trealla_variable_aliasing_across_calls.pl +4 -1
- package/test/conformance/expected/iso/trealla_variable_goal_normalization.pl +4 -1
- package/test/conformance/expected/iso/trealla_write_associative_operators.pl +4 -1
- package/test/conformance/expected/iso/trealla_write_canonical_operators.pl +12 -3
- package/test/conformance/expected/iso/trealla_write_term_duplicate_variable_names.pl +4 -1
- package/test/conformance/expected/iso/trealla_write_term_ignore_ops_quoted_independence.pl +4 -1
- package/test/conformance/expected/iso/trealla_write_term_variable_names_malformed.pl +4 -1
- package/test/conformance/expected/iso/type_atom_success.pl +4 -1
- package/test/conformance/expected/iso/type_atomic_atom_success.pl +4 -1
- package/test/conformance/expected/iso/type_atomic_number_success.pl +4 -1
- package/test/conformance/expected/iso/type_callable_atom_success.pl +4 -1
- package/test/conformance/expected/iso/type_callable_compound_success.pl +4 -1
- package/test/conformance/expected/iso/type_compound_success.pl +4 -1
- package/test/conformance/expected/iso/type_float_success.pl +4 -1
- package/test/conformance/expected/iso/type_ground_success.pl +4 -1
- package/test/conformance/expected/iso/type_integer_success.pl +4 -1
- package/test/conformance/expected/iso/type_nonvar_success.pl +4 -1
- package/test/conformance/expected/iso/type_number_float_success.pl +4 -1
- package/test/conformance/expected/iso/type_number_integer_success.pl +4 -1
- package/test/conformance/expected/iso/type_var_success.pl +4 -1
- package/test/conformance/expected/iso/unification_control_information.pl +4 -1
- package/test/conformance/expected/iso/univ_construct_compound.pl +4 -1
- package/test/conformance/expected/iso/univ_construct_number.pl +4 -1
- package/test/conformance/expected/iso/univ_decompose_atom.pl +4 -1
- package/test/conformance/expected/iso/univ_decompose_compound.pl +4 -1
- package/test/conformance/expected/iso/wg17_syntax_high_risk.pl +28 -9
- package/test/conformance/expected/lists/005_list_deconstruction.pl +5 -2
- package/test/conformance/expected/lists/015_improper_list_unification.pl +6 -3
- package/test/conformance/expected/lists/020_nested_list_terms.pl +5 -2
- package/test/conformance/expected/lists/031_lists_aggregation_ordering.pl +12 -9
- package/test/conformance/expected/lists/035_list_relations.pl +7 -4
- package/test/conformance/expected/lists/036_append_splits.pl +6 -3
- package/test/conformance/expected/lists/045_sort_deduplicates_atoms.pl +4 -1
- package/test/conformance/expected/lists/046_append_bound_prefix_suffix.pl +5 -2
- package/test/conformance/expected/lists/047_nth0_index_generation.pl +4 -1
- package/test/conformance/expected/lists/048_set_nth0_edges.pl +5 -2
- package/test/conformance/expected/lists/049_select_duplicate_occurrences.pl +5 -2
- package/test/conformance/expected/lists/063_reusable_list_builtins.pl +12 -9
- package/test/conformance/expected/lists/067_list_edges.pl +11 -8
- package/test/conformance/expected/lists/068_list_generation_order.pl +12 -9
- package/test/conformance/expected/lists/069_list_summaries_and_sets.pl +10 -7
- package/test/conformance/expected/lists/084_append_and_select_composition.pl +13 -10
- package/test/conformance/expected/lists/085_nth_and_update_edges.pl +11 -8
- package/test/conformance/expected/lists/086_slicing_pipeline.pl +10 -7
- package/test/conformance/expected/lists/087_sort_reverse_length.pl +9 -6
- package/test/conformance/expected/lists/088_list_summaries_failures.pl +8 -5
- package/test/conformance/expected/lists/empty_list_term.pl +4 -1
- package/test/conformance/expected/lists/extra_append_all_splits_three.pl +7 -4
- package/test/conformance/expected/lists/extra_append_to_improper_tail.pl +4 -1
- package/test/conformance/expected/lists/extra_drop_all.pl +4 -1
- package/test/conformance/expected/lists/extra_last_singleton.pl +4 -1
- package/test/conformance/expected/lists/extra_length_improper_fails.pl +3 -0
- package/test/conformance/expected/lists/extra_list_pattern_improper.pl +4 -1
- package/test/conformance/expected/lists/extra_list_to_set_stable_order.pl +4 -1
- package/test/conformance/expected/lists/extra_member_repeated_nested.pl +5 -2
- package/test/conformance/expected/lists/extra_nth0_duplicate_indexes.pl +5 -2
- package/test/conformance/expected/lists/extra_reverse_nested_terms.pl +4 -1
- package/test/conformance/expected/lists/extra_select_structured_duplicate.pl +5 -2
- package/test/conformance/expected/lists/extra_slice_end.pl +4 -1
- package/test/conformance/expected/lists/extra_sort_iri_atoms.pl +4 -1
- package/test/conformance/expected/lists/extra_take_all.pl +4 -1
- package/test/conformance/expected/lists/improper_list_readback.pl +4 -1
- package/test/conformance/expected/lists/length_empty_and_nested.pl +5 -2
- package/test/conformance/expected/lists/list_pattern_last.pl +6 -3
- package/test/conformance/expected/lists/list_to_set_structural_duplicates.pl +4 -1
- package/test/conformance/expected/lists/list_with_iri_atoms.pl +4 -1
- package/test/conformance/expected/lists/min_list_empty_fails.pl +4 -1
- package/test/conformance/expected/lists/nth0_known_value.pl +4 -1
- package/test/conformance/expected/lists/nth0_out_of_range_fails.pl +4 -1
- package/test/conformance/expected/lists/reverse_empty.pl +4 -1
- package/test/conformance/expected/lists/select_all_occurrences.pl +6 -3
- package/test/conformance/expected/lists/set_nth0_middle.pl +4 -1
- package/test/conformance/expected/lists/slice_middle.pl +3 -0
- package/test/conformance/expected/lists/slice_out_of_range_fails.pl +4 -1
- package/test/conformance/expected/lists/sort_structured_terms.pl +4 -1
- package/test/conformance/expected/lists/sum_list_empty_zero.pl +4 -1
- package/test/conformance/expected/lists/sum_min_max_list.pl +6 -3
- package/test/conformance/expected/lists/swipl_aggregate_sum_count.pl +7 -2
- package/test/conformance/expected/lists/swipl_assoc_del_min_roundtrip.pl +11 -3
- package/test/conformance/expected/lists/swipl_assoc_is_assoc_malformed.pl +10 -3
- package/test/conformance/expected/lists/swipl_assoc_is_assoc_valid.pl +4 -1
- package/test/conformance/expected/lists/swipl_lists_foldl_empty.pl +7 -2
- package/test/conformance/expected/lists/swipl_lists_reverse_mode.pl +4 -1
- package/test/conformance/expected/lists/swipl_ordsets_intersection_difference.pl +11 -1
- package/test/conformance/expected/lists/swipl_ordsets_is_ordset.pl +7 -2
- package/test/conformance/expected/lists/swipl_ugraphs_top_sort.pl +4 -1
- package/test/conformance/expected/lists/take_zero_and_drop_all.pl +5 -2
- package/test/conformance/expected/modules/qualified_call.pl +4 -1
- package/test/conformance/expected/modules/selective_library_import.pl +4 -1
- package/test/conformance/expected/negation/033_negation_once_generators.pl +5 -2
- package/test/conformance/expected/negation/042_negation_filter.pl +5 -2
- package/test/conformance/expected/negation/050_negated_member_filter.pl +4 -1
- package/test/conformance/expected/negation/extra_not_with_bound_fails.pl +3 -0
- package/test/conformance/expected/negation/extra_not_with_bound_success.pl +4 -1
- package/test/conformance/expected/negation/not_known_goal_fails.pl +3 -0
- package/test/conformance/expected/negation/not_unknown_goal_succeeds.pl +4 -1
- package/test/conformance/expected/negation/stratified_negation_answers.pl +4 -1
- package/test/conformance/expected/query/027_default_derived_output.pl +6 -3
- package/test/conformance/expected/query/028_query_focus.pl +4 -1
- package/test/conformance/expected/query/053_query_excludes_source_fact.pl +4 -1
- package/test/conformance/expected/query/099_multiple_queries.pl +9 -4
- package/test/conformance/expected/query/arity_specific_outputs.pl +3 -0
- package/test/conformance/expected/query/extra_query_selects_arity.pl +3 -0
- package/test/conformance/expected/query/extra_query_source_and_derived.pl +4 -1
- package/test/conformance/expected/query/source_facts_suppressed.pl +4 -1
- package/test/conformance/expected/rules/001_fact_output.pl +4 -1
- package/test/conformance/expected/rules/002_rule_recursion.pl +5 -2
- package/test/conformance/expected/rules/011_predicate_arity.pl +5 -2
- package/test/conformance/expected/rules/013_multiple_clauses_order.pl +5 -2
- package/test/conformance/expected/rules/017_three_step_recursion.pl +6 -3
- package/test/conformance/expected/rules/022_rule_head_structure.pl +5 -2
- package/test/conformance/expected/rules/077_recursive_path_with_lists.pl +6 -3
- package/test/conformance/expected/rules/078_mutual_recursion_with_arithmetic.pl +10 -7
- package/test/conformance/expected/rules/atom_predicates.pl +6 -1
- package/test/conformance/expected/rules/extra_left_to_right_multiple_bindings.pl +5 -2
- package/test/conformance/expected/rules/extra_structured_head_rule.pl +4 -1
- package/test/conformance/expected/rules/left_to_right_body_binding.pl +4 -1
- package/test/conformance/expected/rules/transitive_rule_three_edges.pl +9 -6
- package/test/conformance/expected/stc/bagof_answer_order.pl +4 -1
- package/test/conformance/expected/stc/clause_variable_identity.pl +4 -1
- package/test/conformance/expected/stc/float_underflow_input.pl +4 -1
- package/test/conformance/expected/stc/integer_to_float_evaluable.pl +4 -1
- package/test/conformance/expected/stc/mixed_integer_float_comparison.pl +4 -1
- package/test/conformance/expected/strings/023_quoted_escapes_readback.pl +5 -2
- package/test/conformance/expected/strings/030_strings_and_atoms.pl +5 -2
- package/test/conformance/expected/strings/055_string_matching_filters.pl +5 -2
- package/test/conformance/expected/strings/056_string_concat_modes.pl +14 -9
- package/test/conformance/expected/strings/064_reusable_string_builtins.pl +13 -10
- package/test/conformance/expected/strings/070_matches_named_captures.pl +4 -1
- package/test/conformance/expected/strings/071_string_edges.pl +11 -8
- package/test/conformance/expected/strings/072_string_conversions.pl +11 -8
- package/test/conformance/expected/strings/089_string_split_join_pipeline.pl +7 -4
- package/test/conformance/expected/strings/090_string_substring_replace_edges.pl +10 -7
- package/test/conformance/expected/strings/091_string_case_and_trim.pl +8 -5
- package/test/conformance/expected/strings/092_scalar_string_conversions.pl +10 -7
- package/test/conformance/expected/strings/093_regex_named_captures_context.pl +8 -5
- package/test/conformance/expected/strings/atom_string_from_string.pl +4 -1
- package/test/conformance/expected/strings/casefold_atoms.pl +5 -2
- package/test/conformance/expected/strings/contains_empty_needle.pl +4 -1
- package/test/conformance/expected/strings/extra_atom_string_number_input.pl +4 -1
- package/test/conformance/expected/strings/extra_join_empty_list.pl +4 -1
- package/test/conformance/expected/strings/extra_join_iri_and_atom.pl +4 -1
- package/test/conformance/expected/strings/extra_lowercase_iri_atom.pl +4 -1
- package/test/conformance/expected/strings/extra_matches_invalid_pattern_fails.pl +3 -0
- package/test/conformance/expected/strings/extra_named_regex_optional_missing.pl +4 -1
- package/test/conformance/expected/strings/extra_number_string_atom_input.pl +4 -1
- package/test/conformance/expected/strings/extra_replace_multiple.pl +4 -1
- package/test/conformance/expected/strings/extra_split_empty_separator.pl +4 -1
- package/test/conformance/expected/strings/extra_substring_last_char.pl +4 -1
- package/test/conformance/expected/strings/extra_term_string_iri_list.pl +4 -1
- package/test/conformance/expected/strings/extra_uppercase_mixed_string.pl +4 -1
- package/test/conformance/expected/strings/join_mixed_scalars.pl +4 -1
- package/test/conformance/expected/strings/matches_simple_alternation.pl +4 -1
- package/test/conformance/expected/strings/named_regex_two_groups.pl +4 -1
- package/test/conformance/expected/strings/not_matches_simple_pattern.pl +4 -1
- package/test/conformance/expected/strings/number_string_from_string.pl +4 -1
- package/test/conformance/expected/strings/number_string_rejects_non_numeric.pl +4 -1
- package/test/conformance/expected/strings/replace_empty_search_no_change.pl +4 -1
- package/test/conformance/expected/strings/split_without_separator_match.pl +4 -1
- package/test/conformance/expected/strings/substring_out_of_range_fails.pl +4 -1
- package/test/conformance/expected/strings/substring_zero_count.pl +4 -1
- package/test/conformance/expected/strings/term_string_nested_term.pl +4 -1
- package/test/conformance/expected/strings/trim_tabs_and_spaces.pl +4 -1
- package/test/conformance/expected/syntax/004_conjunction_and_parentheses.pl +4 -1
- package/test/conformance/expected/syntax/006_comma_formula_data.pl +4 -1
- package/test/conformance/expected/syntax/009_comments_and_whitespace.pl +5 -2
- package/test/conformance/expected/syntax/019_parenthesized_three_conjuncts.pl +4 -1
- package/test/conformance/expected/syntax/025_body_parentheses_with_formula_data.pl +4 -1
- package/test/conformance/expected/syntax/comments_inside_program.pl +3 -0
- package/test/conformance/expected/syntax/extra_comments_after_terms.pl +3 -0
- package/test/conformance/expected/syntax/extra_nested_parenthesized_body.pl +4 -1
- package/test/conformance/expected/syntax/infix_subtraction_term.pl +4 -1
- package/test/conformance/expected/syntax/parenthesized_query_style_body.pl +4 -1
- package/test/conformance/expected/syntax/quoted_atom_with_newline_escape.pl +3 -0
- package/test/conformance/expected/syntax/string_with_tab_escape.pl +3 -0
- package/test/conformance/expected/terms/003_terms_and_readback.pl +16 -13
- package/test/conformance/expected/terms/065_reusable_term_control_builtins.pl +9 -6
- package/test/conformance/expected/terms/073_term_introspection_edges.pl +12 -9
- package/test/conformance/expected/terms/095_term_introspection_roundtrip.pl +9 -6
- package/test/conformance/expected/terms/096_functor_scalar_edges.pl +8 -5
- package/test/conformance/expected/terms/arg_first_and_second.pl +5 -2
- package/test/conformance/expected/terms/arg_zero_fails.pl +4 -1
- package/test/conformance/expected/terms/compound_name_arguments_atom_zero_args.pl +4 -1
- package/test/conformance/expected/terms/compound_name_arguments_builds_atom_from_empty_args.pl +4 -1
- package/test/conformance/expected/terms/compound_name_arguments_builds_compound.pl +4 -1
- package/test/conformance/expected/terms/compound_name_arguments_iri_name.pl +4 -1
- package/test/conformance/expected/terms/extra_arg_first_last.pl +4 -1
- package/test/conformance/expected/terms/extra_arg_zero_fails.pl +3 -0
- package/test/conformance/expected/terms/extra_compound_name_arguments_construct_atom_zero.pl +4 -1
- package/test/conformance/expected/terms/extra_compound_name_arguments_construct_iri.pl +4 -1
- package/test/conformance/expected/terms/extra_compound_name_arguments_decompose_list.pl +4 -1
- package/test/conformance/expected/terms/extra_functor_list_cons.pl +4 -1
- package/test/conformance/expected/terms/extra_functor_number_scalar.pl +4 -1
- package/test/conformance/expected/terms/extra_functor_string_scalar.pl +4 -1
- package/test/conformance/expected/terms/functor_atom_arity_zero.pl +4 -1
- package/test/conformance/expected/terms/functor_number_and_string.pl +5 -2
- package/test/conformance/expected/terms/herbrand_witness_different_inputs_distinct.pl +4 -1
- package/test/conformance/expected/terms/herbrand_witness_one_input.pl +5 -2
- package/test/conformance/expected/terms/herbrand_witness_same_inputs_same_term.pl +4 -1
- package/test/conformance/expected/terms/herbrand_witness_two_inputs.pl +5 -2
- package/test/conformance/expected/terms/term_string_readback_iri_list.pl +4 -1
- package/test/conformance/expected/unification/012_nested_compound_unification.pl +5 -2
- package/test/conformance/expected/unification/021_repeated_variable_head.pl +5 -2
- package/test/conformance/expected/unification/034_equality_and_inequality.pl +7 -4
- package/test/conformance/expected/unification/compound_arity_mismatch_fails.pl +4 -1
- package/test/conformance/expected/unification/extra_eq_iri_and_quoted_atom.pl +3 -0
- package/test/conformance/expected/unification/extra_eq_list_tail_binding.pl +4 -1
- package/test/conformance/expected/unification/extra_eq_nested_repeated_fails.pl +3 -0
- package/test/conformance/expected/unification/extra_eq_nested_repeated_success.pl +4 -1
- package/test/conformance/expected/unification/extra_eq_scalar_number_atom.pl +3 -0
- package/test/conformance/expected/unification/extra_eq_scalar_string_number.pl +3 -0
- package/test/conformance/expected/unification/extra_neq_compound_arity_mismatch.pl +4 -1
- package/test/conformance/expected/unification/extra_neq_scalar_same_lexical_fails.pl +4 -1
- package/test/conformance/expected/unification/extra_variable_clause_locality.pl +5 -2
- package/test/conformance/expected/unification/list_tail_binding.pl +4 -1
- package/test/conformance/expected/unification/logical_equality_inequality_boundaries.pl +6 -3
- package/test/conformance/expected/unification/nested_repeated_variable.pl +4 -1
- package/test/conformance/expected/unification/occurs_check_rejects_recursive_binding.pl +4 -1
- package/test/conformance/expected/unification/scalar_cross_type_same_lexical_value.pl +3 -0
- package/test/conformance/expected/variables/007_anonymous_variables.pl +4 -1
- package/test/conformance/expected/variables/010_variable_scope_and_reuse.pl +5 -2
- package/test/conformance/expected/variables/026_question_underscore_named_variable_reuse.pl +4 -1
- package/test/conformance/expected/variables/101_question_mark_variables.pl +6 -3
- package/test/conformance/expected/variables/anonymous_in_two_goals.pl +4 -1
- package/test/conformance/expected/variables/clause_local_variable_names.pl +5 -2
- package/test/conformance/expected/variables/extra_anonymous_not_reused.pl +4 -1
- package/test/conformance/expected/variables/extra_named_variable_reused.pl +4 -1
- package/test/conformance/expected/variables/extra_question_underscore_named_distinct.pl +4 -1
- package/test/conformance/expected/variables/extra_question_uppercase_named.pl +4 -1
- package/test/conformance/expected/variables/question_anonymous_not_reused.pl +7 -4
- package/test/conformance/expected/variables/question_underscore_named_reuse.pl +4 -1
- package/test/conformance/expected/variables/question_uppercase_variable.pl +4 -1
- package/test/conformance/expected/variables/question_variable_digits_and_underscore.pl +4 -1
- package/test/conformance/expected/variables/question_variable_uppercase_name.pl +4 -1
- package/test/conformance/expected/variables/variable_scope_per_clause.pl +5 -2
- package/test/conformance/expected-proofs/proofs/bindings_nested_term.pl +10 -12
- package/test/conformance/expected-proofs/proofs/builtin_numeric.pl +9 -12
- package/test/conformance/expected-proofs/proofs/conjunction_order.pl +12 -13
- package/test/conformance/expected-proofs/proofs/explicit_recursive.pl +18 -45
- package/test/conformance/expected-proofs/proofs/extra_aggregate_min.pl +14 -12
- package/test/conformance/expected-proofs/proofs/extra_compound_name_arguments.pl +16 -12
- package/test/conformance/expected-proofs/proofs/extra_context_parts.pl +39 -42
- package/test/conformance/expected-proofs/proofs/extra_eq_builtin.pl +9 -12
- package/test/conformance/expected-proofs/proofs/extra_explicit_path_bound.pl +19 -46
- package/test/conformance/expected-proofs/proofs/extra_findall_builtin.pl +9 -12
- package/test/conformance/expected-proofs/proofs/extra_forall_builtin.pl +9 -12
- package/test/conformance/expected-proofs/proofs/extra_iri_join.pl +14 -12
- package/test/conformance/expected-proofs/proofs/extra_negation_success.pl +9 -12
- package/test/conformance/expected-proofs/proofs/extra_nested_list_binding.pl +9 -12
- package/test/conformance/expected-proofs/proofs/extra_once_member.pl +10 -19
- package/test/conformance/expected-proofs/proofs/extra_recursive_path.pl +18 -45
- package/test/conformance/expected-proofs/proofs/herbrand_witness.pl +10 -12
- package/test/conformance/expected-proofs/proofs/iri_atom.pl +13 -12
- package/test/conformance/expected-proofs/proofs/list_builtin.pl +10 -13
- package/test/conformance/expected-proofs/proofs/once_child.pl +11 -19
- package/test/conformance/expected-proofs/proofs/rule_fact.pl +10 -12
- package/test/conformance/expected-warnings/negation/extra_stratified_multiple_negations_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/extra_stratified_negation_with_recursion_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/extra_unstratified_indirect_self_with_fact.pl +3 -0
- package/test/conformance/expected-warnings/negation/extra_unstratified_positive_negative_loop.pl +3 -0
- package/test/conformance/expected-warnings/negation/extra_unstratified_three_cycle_all_negative.pl +3 -0
- package/test/conformance/expected-warnings/negation/extra_warning_preserves_empty_stdout.pl +3 -0
- package/test/conformance/expected-warnings/negation/negative_unknown_group_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/no_negation_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/stratified_negative_unknown_after_positive_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/stratified_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/stratified_two_level_quiet.pl +4 -1
- package/test/conformance/expected-warnings/negation/unstratified_mutual.pl +3 -0
- package/test/conformance/expected-warnings/negation/unstratified_positive_prefix.pl +3 -0
- package/test/conformance/expected-warnings/negation/unstratified_self.pl +3 -0
- package/test/conformance/expected-warnings/negation/unstratified_three_step.pl +4 -1
- package/test/conformance/expected-warnings/negation/unstratified_two_arity_cycle.pl +3 -0
- package/test/conformance/expected-warnings/negation/unstratified_two_independent_cycles.pl +3 -0
- package/test/conformance/expected-warnings/negation/unstratified_with_iri_predicates.pl +3 -0
- package/test/conformance/expected-warnings/negation/warning_preserves_multiple_stdout_answers.pl +3 -0
- package/test/regression/cases-api.mjs +81 -13
- package/test/regression/cases-regression.mjs +82 -57
- package/test/regression/cases-white-box.mjs +12 -13
- package/test/regression/support.mjs +28 -7
- package/test/run-all.mjs +2 -0
- package/test/run-http-json.mjs +9 -1
- package/test/run-iso-part2-amendment.mjs +9 -1
- package/test/run-iso-strict.mjs +9 -1
- package/test/run-playground.mjs +6 -5
- package/test/run-proof-checking.mjs +56 -0
- package/test/run-wg17.mjs +11 -0
- package/test/test-support.mjs +76 -0
- package/the-art-of-eyeprolog.md +79 -64
- package/why-eyeprolog.md +13 -12
- package/examples/book/chapter-11/01-why.pl +0 -14
|
@@ -1,108 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
step(
|
|
15
|
-
once(route(antwerp, ghent)),
|
|
16
|
-
builtin(once, 1),
|
|
17
|
-
[],
|
|
18
|
-
[
|
|
19
|
-
step(route(antwerp, ghent), fact("iso-control-and-errors.pl", clause(1)), [], [])
|
|
20
|
-
]
|
|
21
|
-
)
|
|
22
|
-
]
|
|
23
|
-
)
|
|
24
|
-
]
|
|
25
|
-
)
|
|
26
|
-
).
|
|
1
|
+
% Prolog result format 4
|
|
2
|
+
query(1, report(_0, _1), ['X0' = _0, 'X1' = _1]).
|
|
3
|
+
result(1, complete, 5).
|
|
4
|
+
answer(1, ['X0' = first_destination, 'X1' = ghent]).
|
|
5
|
+
why(1, ['X0' = first_destination, 'X1' = ghent], [report(first_destination, ghent)]).
|
|
6
|
+
answer(1, ['X0' = cut_destination, 'X1' = ghent]).
|
|
7
|
+
why(1, ['X0' = cut_destination, 'X1' = ghent], [report(cut_destination, ghent)]).
|
|
8
|
+
answer(1, ['X0' = existing_route, 'X1' = connected]).
|
|
9
|
+
why(1, ['X0' = existing_route, 'X1' = connected], [report(existing_route, connected)]).
|
|
10
|
+
answer(1, ['X0' = missing_route, 'X1' = disconnected]).
|
|
11
|
+
why(1, ['X0' = missing_route, 'X1' = disconnected], [report(missing_route, disconnected)]).
|
|
12
|
+
answer(1, ['X0' = recovered_exception, 'X1' = rejected]).
|
|
13
|
+
why(1, ['X0' = recovered_exception, 'X1' = rejected], [report(recovered_exception, rejected)]).
|
|
27
14
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
45
|
-
]
|
|
46
|
-
)
|
|
47
|
-
).
|
|
48
|
-
|
|
49
|
-
report(existing_route, connected).
|
|
50
|
-
why(
|
|
51
|
-
report(existing_route, connected),
|
|
52
|
-
step(
|
|
53
|
-
report(existing_route, connected),
|
|
54
|
-
rule("iso-control-and-errors.pl", clause(10)),
|
|
55
|
-
['Status' = connected],
|
|
56
|
-
[
|
|
57
|
-
step(
|
|
58
|
-
travel_status(antwerp, ghent, connected),
|
|
59
|
-
rule("iso-control-and-errors.pl", clause(5)),
|
|
60
|
-
['From' = antwerp, 'To' = ghent, 'Status' = connected],
|
|
61
|
-
[
|
|
62
|
-
step(';'(->(call(route(antwerp, ghent)), =(connected, connected)), =(connected, disconnected)), builtin(';', 2), [], [])
|
|
63
|
-
]
|
|
64
|
-
)
|
|
65
|
-
]
|
|
66
|
-
)
|
|
67
|
-
).
|
|
68
|
-
|
|
69
|
-
report(missing_route, disconnected).
|
|
70
|
-
why(
|
|
71
|
-
report(missing_route, disconnected),
|
|
72
|
-
step(
|
|
73
|
-
report(missing_route, disconnected),
|
|
74
|
-
rule("iso-control-and-errors.pl", clause(11)),
|
|
75
|
-
['Status' = disconnected],
|
|
76
|
-
[
|
|
77
|
-
step(
|
|
78
|
-
travel_status(antwerp, paris, disconnected),
|
|
79
|
-
rule("iso-control-and-errors.pl", clause(5)),
|
|
80
|
-
['From' = antwerp, 'To' = paris, 'Status' = disconnected],
|
|
81
|
-
[
|
|
82
|
-
step(';'(->(call(route(antwerp, paris)), =(disconnected, connected)), =(disconnected, disconnected)), builtin(';', 2), [], [])
|
|
83
|
-
]
|
|
84
|
-
)
|
|
85
|
-
]
|
|
86
|
-
)
|
|
87
|
-
).
|
|
88
|
-
|
|
89
|
-
report(recovered_exception, rejected).
|
|
90
|
-
why(
|
|
91
|
-
report(recovered_exception, rejected),
|
|
92
|
-
step(
|
|
93
|
-
report(recovered_exception, rejected),
|
|
94
|
-
rule("iso-control-and-errors.pl", clause(12)),
|
|
95
|
-
['Result' = rejected],
|
|
96
|
-
[
|
|
97
|
-
step(
|
|
98
|
-
checked_route(antwerp, paris, rejected),
|
|
99
|
-
rule("iso-control-and-errors.pl", clause(7)),
|
|
100
|
-
['From' = antwerp, 'To' = paris, 'Result' = rejected],
|
|
101
|
-
[
|
|
102
|
-
step(catch((require_route(antwerp, paris), =(rejected, accepted)), no_route(antwerp, paris), =(rejected, rejected)), builtin(catch, 3), [], [])
|
|
103
|
-
]
|
|
104
|
-
)
|
|
105
|
-
]
|
|
106
|
-
)
|
|
107
|
-
).
|
|
15
|
+
clause(1, route(antwerp, ghent), true).
|
|
16
|
+
clause(3, first_destination(var('From'), var('To')), once(route(var('From'), var('To')))).
|
|
17
|
+
clause(4, preferred_destination(var('From'), var('To')), (route(var('From'), var('To')), !)).
|
|
18
|
+
clause(5,
|
|
19
|
+
travel_status(var('From'), var('To'), var('Status')),
|
|
20
|
+
(call(route(var('From'), var('To'))) -> var('Status') = connected ; var('Status') = disconnected)).
|
|
21
|
+
clause(7,
|
|
22
|
+
checked_route(var('From'), var('To'), var('Result')),
|
|
23
|
+
catch((require_route(var('From'), var('To')), var('Result') = accepted), no_route(var('From'), var('To')), var('Result') = rejected)).
|
|
24
|
+
clause(8, report(first_destination, var('To')), first_destination(antwerp, var('To'))).
|
|
25
|
+
clause(9, report(cut_destination, var('To')), preferred_destination(antwerp, var('To'))).
|
|
26
|
+
clause(10, report(existing_route, var('Status')), travel_status(antwerp, ghent, var('Status'))).
|
|
27
|
+
clause(11, report(missing_route, var('Status')), travel_status(antwerp, paris, var('Status'))).
|
|
28
|
+
clause(12,
|
|
29
|
+
report(recovered_exception, var('Result')),
|
|
30
|
+
checked_route(antwerp, paris, var('Result'))).
|
|
108
31
|
|
|
32
|
+
step(report(first_destination, ghent),
|
|
33
|
+
rule(8),
|
|
34
|
+
['To' = ghent],
|
|
35
|
+
[first_destination(antwerp, ghent)]).
|
|
36
|
+
step(first_destination(antwerp, ghent),
|
|
37
|
+
rule(3),
|
|
38
|
+
['From' = antwerp, 'To' = ghent],
|
|
39
|
+
[once(route(antwerp, ghent))]).
|
|
40
|
+
step(once(route(antwerp, ghent)), builtin, [], [route(antwerp, ghent)]).
|
|
41
|
+
step(route(antwerp, ghent), fact(1), [], []).
|
|
42
|
+
step(report(cut_destination, ghent),
|
|
43
|
+
rule(9),
|
|
44
|
+
['To' = ghent],
|
|
45
|
+
[preferred_destination(antwerp, ghent)]).
|
|
46
|
+
step(preferred_destination(antwerp, ghent),
|
|
47
|
+
rule(4),
|
|
48
|
+
['From' = antwerp, 'To' = ghent],
|
|
49
|
+
[route(antwerp, ghent), !]).
|
|
50
|
+
step(!, builtin, [], []).
|
|
51
|
+
step(report(existing_route, connected),
|
|
52
|
+
rule(10),
|
|
53
|
+
['Status' = connected],
|
|
54
|
+
[travel_status(antwerp, ghent, connected)]).
|
|
55
|
+
step(travel_status(antwerp, ghent, connected),
|
|
56
|
+
rule(5),
|
|
57
|
+
['From' = antwerp, 'To' = ghent, 'Status' = connected],
|
|
58
|
+
[(call(route(antwerp, ghent)) -> connected = connected ; connected = disconnected)]).
|
|
59
|
+
step((call(route(antwerp, ghent)) -> connected = connected ; connected = disconnected),
|
|
60
|
+
builtin,
|
|
61
|
+
[],
|
|
62
|
+
[]).
|
|
63
|
+
step(report(missing_route, disconnected),
|
|
64
|
+
rule(11),
|
|
65
|
+
['Status' = disconnected],
|
|
66
|
+
[travel_status(antwerp, paris, disconnected)]).
|
|
67
|
+
step(travel_status(antwerp, paris, disconnected),
|
|
68
|
+
rule(5),
|
|
69
|
+
['From' = antwerp, 'To' = paris, 'Status' = disconnected],
|
|
70
|
+
[(call(route(antwerp, paris)) -> disconnected = connected ; disconnected = disconnected)]).
|
|
71
|
+
step((call(route(antwerp, paris)) -> disconnected = connected ; disconnected = disconnected),
|
|
72
|
+
builtin,
|
|
73
|
+
[],
|
|
74
|
+
[]).
|
|
75
|
+
step(report(recovered_exception, rejected),
|
|
76
|
+
rule(12),
|
|
77
|
+
['Result' = rejected],
|
|
78
|
+
[checked_route(antwerp, paris, rejected)]).
|
|
79
|
+
step(checked_route(antwerp, paris, rejected),
|
|
80
|
+
rule(7),
|
|
81
|
+
['From' = antwerp, 'To' = paris, 'Result' = rejected],
|
|
82
|
+
[catch((require_route(antwerp, paris), rejected = accepted), no_route(antwerp, paris), rejected = rejected)]).
|
|
83
|
+
step(catch((require_route(antwerp, paris), rejected = accepted), no_route(antwerp, paris), rejected = rejected),
|
|
84
|
+
builtin,
|
|
85
|
+
[],
|
|
86
|
+
[]).
|
|
@@ -1,59 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
]
|
|
18
|
-
)
|
|
19
|
-
).
|
|
1
|
+
% Prolog result format 4
|
|
2
|
+
query(1, report(_0, _1), ['X0' = _0, 'X1' = _1]).
|
|
3
|
+
result(1, complete, 4).
|
|
4
|
+
answer(1, ['X0' = next_task, 'X1' = check_power]).
|
|
5
|
+
why(1, ['X0' = next_task, 'X1' = check_power], [report(next_task, check_power)]).
|
|
6
|
+
answer(1,
|
|
7
|
+
['X0' = all_tasks,
|
|
8
|
+
'X1' = [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]]).
|
|
9
|
+
why(1,
|
|
10
|
+
['X0' = all_tasks,
|
|
11
|
+
'X1' = [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]],
|
|
12
|
+
[report(all_tasks, [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)])]).
|
|
13
|
+
answer(1, ['X0' = old_task_removed, 'X1' = yes]).
|
|
14
|
+
why(1, ['X0' = old_task_removed, 'X1' = yes], [report(old_task_removed, yes)]).
|
|
15
|
+
answer(1, ['X0' = dynamic_predicate, 'X1' = yes]).
|
|
16
|
+
why(1, ['X0' = dynamic_predicate, 'X1' = yes], [report(dynamic_predicate, yes)]).
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
['Tasks' = [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]],
|
|
28
|
-
[
|
|
29
|
-
step(findall(task(Task, Priority), task(Task, Priority), [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]), builtin(findall, 3), [], [])
|
|
30
|
-
]
|
|
31
|
-
)
|
|
32
|
-
).
|
|
33
|
-
|
|
34
|
-
report(old_task_removed, yes).
|
|
35
|
-
why(
|
|
36
|
-
report(old_task_removed, yes),
|
|
37
|
-
step(
|
|
38
|
-
report(old_task_removed, yes),
|
|
39
|
-
rule("iso-dynamic-database.pl", clause(7)),
|
|
40
|
-
[],
|
|
41
|
-
[
|
|
42
|
-
step('\\+'(task(old_probe, obsolete)), builtin('\\+', 1), [], [])
|
|
43
|
-
]
|
|
44
|
-
)
|
|
45
|
-
).
|
|
46
|
-
|
|
47
|
-
report(dynamic_predicate, yes).
|
|
48
|
-
why(
|
|
49
|
-
report(dynamic_predicate, yes),
|
|
50
|
-
step(
|
|
51
|
-
report(dynamic_predicate, yes),
|
|
52
|
-
rule("iso-dynamic-database.pl", clause(8)),
|
|
53
|
-
[],
|
|
54
|
-
[
|
|
55
|
-
step(current_predicate(/(task, 2)), builtin(current_predicate, 1), [], [])
|
|
56
|
-
]
|
|
57
|
-
)
|
|
58
|
-
).
|
|
18
|
+
clause(5, report(next_task, var('Task')), once(task(var('Task'), anonymous(1)))).
|
|
19
|
+
clause(6,
|
|
20
|
+
report(all_tasks, var('Tasks')),
|
|
21
|
+
findall(task(var('Task'), var('Priority')), task(var('Task'), var('Priority')), var('Tasks'))).
|
|
22
|
+
clause(7, report(old_task_removed, yes), \+ task(old_probe, obsolete)).
|
|
23
|
+
clause(8, report(dynamic_predicate, yes), current_predicate(task / 2)).
|
|
59
24
|
|
|
25
|
+
step(report(next_task, check_power),
|
|
26
|
+
rule(5),
|
|
27
|
+
['Task' = check_power],
|
|
28
|
+
[once(task(check_power, urgent))]).
|
|
29
|
+
step(once(task(check_power, urgent)), builtin, [], [task(check_power, urgent)]).
|
|
30
|
+
step(task(check_power, urgent), asserted, [], []).
|
|
31
|
+
step(report(all_tasks, [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]),
|
|
32
|
+
rule(6),
|
|
33
|
+
['Tasks' = [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]],
|
|
34
|
+
[findall(task(Task, Priority), task(Task, Priority), [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)])]).
|
|
35
|
+
step(findall(task(Task, Priority), task(Task, Priority), [task(check_power, urgent), task(check_network, normal), task(archive_logs, low)]),
|
|
36
|
+
collected,
|
|
37
|
+
[],
|
|
38
|
+
[]).
|
|
39
|
+
step(report(old_task_removed, yes), rule(7), [], [\+ task(old_probe, obsolete)]).
|
|
40
|
+
step(\+ task(old_probe, obsolete), absent, [], []).
|
|
41
|
+
step(report(dynamic_predicate, yes), rule(8), [], [current_predicate(task / 2)]).
|
|
42
|
+
step(current_predicate(task / 2), builtin, [], []).
|
|
@@ -1,19 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
['
|
|
8
|
-
[
|
|
9
|
-
step(countall(stage(__anon0, __anon1), 5), library(countall, 2), [], []),
|
|
10
|
-
step(countall(transition(__anon2, __anon3, __anon4), 4), library(countall, 2), [], []),
|
|
11
|
-
step(findall(stage(Index, Name, outgoing(Outgoing)), (cfor(0, 4, Index), stage(Index, Name), countall(transition(Index, __anon5, __anon6), Outgoing)), [stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]), builtin(findall, 3), [], []),
|
|
12
|
-
step(findall(step(Index, From, To), transition(Index, From, To), [step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete], [complete]), library(findall, 4), [], []),
|
|
13
|
-
step(forall(transition(Index, From, To), transition_is_well_formed(Index, From, To)), library(forall, 2), [], []),
|
|
14
|
-
step(linked_pipeline_schema(pipeline(step(_Input, Shared), step(Shared, _Output))), fact("iso-extension-pipeline-audit.pl", clause(8)), [], []),
|
|
15
|
-
step(variant(pipeline(step(_Input, Shared), step(Shared, _Output)), pipeline(step(_Source, Middle), step(Middle, _Result))), library(variant, 2), [], [])
|
|
16
|
-
]
|
|
17
|
-
)
|
|
18
|
-
).
|
|
1
|
+
% Prolog result format 4
|
|
2
|
+
query(1, pipeline_audit(_0), ['X0' = _0]).
|
|
3
|
+
result(1, complete, 1).
|
|
4
|
+
answer(1,
|
|
5
|
+
['X0' = report(stages(5), transitions(4), summaries([stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]), trace([step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete]), invariant(true), schema_variant(true))]).
|
|
6
|
+
why(1,
|
|
7
|
+
['X0' = report(stages(5), transitions(4), summaries([stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]), trace([step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete]), invariant(true), schema_variant(true))],
|
|
8
|
+
[pipeline_audit(report(stages(5), transitions(4), summaries([stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]), trace([step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete]), invariant(true), schema_variant(true)))]).
|
|
19
9
|
|
|
10
|
+
clause(8,
|
|
11
|
+
linked_pipeline_schema(pipeline(step(anonymous(1), var('Shared')), step(var('Shared'), anonymous(2)))),
|
|
12
|
+
true).
|
|
13
|
+
clause(9,
|
|
14
|
+
pipeline_audit(report(stages(var('StageCount')), transitions(var('TransitionCount')), summaries(var('StageSummaries')), trace(var('Trace')), invariant(true), schema_variant(true))),
|
|
15
|
+
(countall(stage(anonymous(1), anonymous(2)), var('StageCount')),
|
|
16
|
+
countall(transition(anonymous(3), anonymous(4), anonymous(5)), var('TransitionCount')),
|
|
17
|
+
findall(stage(var('Index'), var('Name'), outgoing(var('Outgoing'))), (cfor(0, 4, var('Index')), stage(var('Index'), var('Name')), countall(transition(var('Index'), anonymous(6), anonymous(7)), var('Outgoing'))), var('StageSummaries')),
|
|
18
|
+
findall(step(var('Index'), var('From'), var('To')), transition(var('Index'), var('From'), var('To')), var('Trace'), [complete]),
|
|
19
|
+
forall(transition(var('Index'), var('From'), var('To')), transition_is_well_formed(var('Index'), var('From'), var('To'))),
|
|
20
|
+
linked_pipeline_schema(var('Schema')),
|
|
21
|
+
variant(var('Schema'), pipeline(step(anonymous(8), var('Middle')), step(var('Middle'), anonymous(9)))))).
|
|
22
|
+
|
|
23
|
+
step(pipeline_audit(report(stages(5), transitions(4), summaries([stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]), trace([step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete]), invariant(true), schema_variant(true))),
|
|
24
|
+
rule(9),
|
|
25
|
+
['StageCount' = 5,
|
|
26
|
+
'TransitionCount' = 4,
|
|
27
|
+
'StageSummaries' = [stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))],
|
|
28
|
+
'Trace' = [step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete],
|
|
29
|
+
'Schema' = pipeline(step(_Input, Shared), step(Shared, _Output))],
|
|
30
|
+
[countall(stage(__anon0, __anon1), 5),
|
|
31
|
+
countall(transition(__anon2, __anon3, __anon4), 4),
|
|
32
|
+
findall(stage(Index, Name, outgoing(Outgoing)), (cfor(0, 4, Index), stage(Index, Name), countall(transition(Index, __anon5, __anon6), Outgoing)), [stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]),
|
|
33
|
+
findall(step(Index, From, To), transition(Index, From, To), [step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete], [complete]),
|
|
34
|
+
forall(transition(Index, From, To), transition_is_well_formed(Index, From, To)),
|
|
35
|
+
linked_pipeline_schema(pipeline(step(_Input, Shared), step(Shared, _Output))),
|
|
36
|
+
variant(pipeline(step(_Input, Shared), step(Shared, _Output)), pipeline(step(_Source, Middle), step(Middle, _Result)))]).
|
|
37
|
+
step(countall(stage(__anon0, __anon1), 5), builtin, [], []).
|
|
38
|
+
step(countall(transition(__anon2, __anon3, __anon4), 4), builtin, [], []).
|
|
39
|
+
step(findall(stage(Index, Name, outgoing(Outgoing)), (cfor(0, 4, Index), stage(Index, Name), countall(transition(Index, __anon5, __anon6), Outgoing)), [stage(0, receive, outgoing(1)), stage(1, parse, outgoing(1)), stage(2, validate, outgoing(1)), stage(3, reason, outgoing(1)), stage(4, publish, outgoing(0))]),
|
|
40
|
+
collected,
|
|
41
|
+
[],
|
|
42
|
+
[]).
|
|
43
|
+
step(findall(step(Index, From, To), transition(Index, From, To), [step(0, receive, parse), step(1, parse, validate), step(2, validate, reason), step(3, reason, publish), complete], [complete]),
|
|
44
|
+
builtin,
|
|
45
|
+
[],
|
|
46
|
+
[]).
|
|
47
|
+
step(forall(transition(Index, From, To), transition_is_well_formed(Index, From, To)),
|
|
48
|
+
builtin,
|
|
49
|
+
[],
|
|
50
|
+
[]).
|
|
51
|
+
step(linked_pipeline_schema(pipeline(step(_Input, Shared), step(Shared, _Output))),
|
|
52
|
+
fact(8),
|
|
53
|
+
[],
|
|
54
|
+
[]).
|
|
55
|
+
step(variant(pipeline(step(_Input, Shared), step(Shared, _Output)), pipeline(step(_Source, Middle), step(Middle, _Result))),
|
|
56
|
+
builtin,
|
|
57
|
+
[],
|
|
58
|
+
[]).
|
|
@@ -1,78 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
[]
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
]
|
|
11
|
-
|
|
12
|
-
).
|
|
1
|
+
% Prolog result format 4
|
|
2
|
+
query(1, extension_example(_0, _1), ['X0' = _0, 'X1' = _1]).
|
|
3
|
+
result(1, complete, 6).
|
|
4
|
+
answer(1, ['X0' = all_colors_are_atoms, 'X1' = true]).
|
|
5
|
+
why(1,
|
|
6
|
+
['X0' = all_colors_are_atoms, 'X1' = true],
|
|
7
|
+
[extension_example(all_colors_are_atoms, true)]).
|
|
8
|
+
answer(1, ['X0' = successors, 'X1' = [1 - 2, 2 - 3, 3 - 4]]).
|
|
9
|
+
why(1,
|
|
10
|
+
['X0' = successors, 'X1' = [1 - 2, 2 - 3, 3 - 4]],
|
|
11
|
+
[extension_example(successors, [1 - 2, 2 - 3, 3 - 4])]).
|
|
12
|
+
answer(1, ['X0' = collection_with_tail, 'X1' = [red, green, blue, done]]).
|
|
13
|
+
why(1,
|
|
14
|
+
['X0' = collection_with_tail, 'X1' = [red, green, blue, done]],
|
|
15
|
+
[extension_example(collection_with_tail, [red, green, blue, done])]).
|
|
16
|
+
answer(1, ['X0' = repeated_variable_variant, 'X1' = true]).
|
|
17
|
+
why(1,
|
|
18
|
+
['X0' = repeated_variable_variant, 'X1' = true],
|
|
19
|
+
[extension_example(repeated_variable_variant, true)]).
|
|
20
|
+
answer(1, ['X0' = different_variable_shape, 'X1' = true]).
|
|
21
|
+
why(1,
|
|
22
|
+
['X0' = different_variable_shape, 'X1' = true],
|
|
23
|
+
[extension_example(different_variable_shape, true)]).
|
|
24
|
+
answer(1, ['X0' = color_count, 'X1' = 3]).
|
|
25
|
+
why(1, ['X0' = color_count, 'X1' = 3], [extension_example(color_count, 3)]).
|
|
13
26
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
).
|
|
26
|
-
|
|
27
|
-
extension_example(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
rule("iso-extensions.pl", clause(6)),
|
|
33
|
-
['Colors' = [red, green, blue, done]],
|
|
34
|
-
[
|
|
35
|
-
step(findall(Template, color(Template), [red, green, blue, done], [done]), library(findall, 4), [], [])
|
|
36
|
-
]
|
|
37
|
-
)
|
|
38
|
-
).
|
|
39
|
-
|
|
40
|
-
extension_example(repeated_variable_variant, true).
|
|
41
|
-
why(
|
|
42
|
-
extension_example(repeated_variable_variant, true),
|
|
43
|
-
step(
|
|
44
|
-
extension_example(repeated_variable_variant, true),
|
|
45
|
-
rule("iso-extensions.pl", clause(7)),
|
|
46
|
-
[],
|
|
47
|
-
[
|
|
48
|
-
step(variant(tree(X, X), tree(Y, Y)), library(variant, 2), [], [])
|
|
49
|
-
]
|
|
50
|
-
)
|
|
51
|
-
).
|
|
52
|
-
|
|
53
|
-
extension_example(different_variable_shape, true).
|
|
54
|
-
why(
|
|
55
|
-
extension_example(different_variable_shape, true),
|
|
56
|
-
step(
|
|
57
|
-
extension_example(different_variable_shape, true),
|
|
58
|
-
rule("iso-extensions.pl", clause(8)),
|
|
59
|
-
[],
|
|
60
|
-
[
|
|
61
|
-
step('\\+'(variant(tree(X, X), tree(__anon0, _Y))), builtin('\\+', 1), [], [])
|
|
62
|
-
]
|
|
63
|
-
)
|
|
64
|
-
).
|
|
65
|
-
|
|
66
|
-
extension_example(color_count, 3).
|
|
67
|
-
why(
|
|
68
|
-
extension_example(color_count, 3),
|
|
69
|
-
step(
|
|
70
|
-
extension_example(color_count, 3),
|
|
71
|
-
rule("iso-extensions.pl", clause(9)),
|
|
72
|
-
['Count' = 3],
|
|
73
|
-
[
|
|
74
|
-
step(countall(color(__anon1), 3), library(countall, 2), [], [])
|
|
75
|
-
]
|
|
76
|
-
)
|
|
77
|
-
).
|
|
27
|
+
clause(4,
|
|
28
|
+
extension_example(all_colors_are_atoms, true),
|
|
29
|
+
forall(color(var('Color')), atom(var('Color')))).
|
|
30
|
+
clause(5,
|
|
31
|
+
extension_example(successors, var('Pairs')),
|
|
32
|
+
findall(var('N') - var('S'), (cfor(1, 3, var('N')), succ(var('N'), var('S'))), var('Pairs'))).
|
|
33
|
+
clause(6,
|
|
34
|
+
extension_example(collection_with_tail, var('Colors')),
|
|
35
|
+
findall(var('Color'), color(var('Color')), var('Colors'), [done])).
|
|
36
|
+
clause(7,
|
|
37
|
+
extension_example(repeated_variable_variant, true),
|
|
38
|
+
variant(tree(var('X'), var('X')), tree(var('Y'), var('Y')))).
|
|
39
|
+
clause(8,
|
|
40
|
+
extension_example(different_variable_shape, true),
|
|
41
|
+
\+ variant(tree(var('X'), var('X')), tree(anonymous(1), anonymous(2)))).
|
|
42
|
+
clause(9,
|
|
43
|
+
extension_example(color_count, var('Count')),
|
|
44
|
+
countall(color(anonymous(1)), var('Count'))).
|
|
78
45
|
|
|
46
|
+
step(extension_example(all_colors_are_atoms, true),
|
|
47
|
+
rule(4),
|
|
48
|
+
[],
|
|
49
|
+
[forall(color(Color), atom(Color))]).
|
|
50
|
+
step(forall(color(Color), atom(Color)), builtin, [], []).
|
|
51
|
+
step(extension_example(successors, [1 - 2, 2 - 3, 3 - 4]),
|
|
52
|
+
rule(5),
|
|
53
|
+
['Pairs' = [1 - 2, 2 - 3, 3 - 4]],
|
|
54
|
+
[findall(N - S, (cfor(1, 3, N), succ(N, S)), [1 - 2, 2 - 3, 3 - 4])]).
|
|
55
|
+
step(findall(N - S, (cfor(1, 3, N), succ(N, S)), [1 - 2, 2 - 3, 3 - 4]), collected, [], []).
|
|
56
|
+
step(extension_example(collection_with_tail, [red, green, blue, done]),
|
|
57
|
+
rule(6),
|
|
58
|
+
['Colors' = [red, green, blue, done]],
|
|
59
|
+
[findall(Template, color(Template), [red, green, blue, done], [done])]).
|
|
60
|
+
step(findall(Template, color(Template), [red, green, blue, done], [done]), builtin, [], []).
|
|
61
|
+
step(extension_example(repeated_variable_variant, true),
|
|
62
|
+
rule(7),
|
|
63
|
+
[],
|
|
64
|
+
[variant(tree(X, X), tree(Y, Y))]).
|
|
65
|
+
step(variant(tree(X, X), tree(Y, Y)), builtin, [], []).
|
|
66
|
+
step(extension_example(different_variable_shape, true),
|
|
67
|
+
rule(8),
|
|
68
|
+
[],
|
|
69
|
+
[\+ variant(tree(X, X), tree(__anon0, _Y))]).
|
|
70
|
+
step(\+ variant(tree(X, X), tree(__anon0, _Y)), absent, [], []).
|
|
71
|
+
step(extension_example(color_count, 3), rule(9), ['Count' = 3], [countall(color(__anon1), 3)]).
|
|
72
|
+
step(countall(color(__anon1), 3), builtin, [], []).
|