Warning:
This wiki has been archived and is now read-only.

Chaining strategy numeric-subtract 2

From RIF
Jump to: navigation, search




Test TypePositiveEntailmentTest
ContributorAxel Polleres
StatusApproved
RecordF2F11
DialectCore
PurposeThis test highlights the different behavior of forward-chaining vs. backward-chaining engines
DescriptionThe entailment holds, but some engines may have difficulty finding it and/or may behave badly with it. This particular test case may be hard to handle for backward-chaining engines, depending on their implementation of the func:numeric-subtract builtin. In a forward-chaining strategy, the entailment should be found. Note that a backward-chaining engine, which is able to handle the external built-in in the head would avoid non-termination problems on arbitrary other entailment tests with this ruleset by the termination condition in the body.
SeeAlsoChaining_strategy_numeric-add_1

Chaining_strategy_numeric-add_2

Chaining_strategy_numeric-subtract_1
SpecRefhttp://www.w3.org/2005/rules/wiki/DTB#func:numeric-add_.28adapted_from_op:numeric-add.29
Premises
Presentation SyntaxDocument( Prefix(ex <http://example.org/example#>) Prefix(func <http://www.w3.org/2007/rif-builtin-function#>) Prefix(pred <http://www.w3.org/2007/rif-builtin-predicate#>) Group ( Forall ?x ( ex:a(External(func:numeric-subtract(?x 1))) :- And ( ex:a(?x) External(pred:numeric-greater-than-or-equal(?x 0))) ) ex:a(10) ) )
XMLview RIF/XML
Conclusion
Presentation Syntaxex:a(3)
XMLview RIF/XML