As I browse through the internet to find information about Swi-prolog, I happened to find \= , with given example like X \= Y. Can someone tell me what it is? Is it some kind of arithmetic operation?
1
There are 1 best solutions below
Related Questions in PROLOG
- How to implement locked doors game in Prolog?
- need help debugging prolog
- check if object is a binary tree in prolog
- How to sovle problem of pyswip fatal error
- Making nested list of consecutive numbers in Prolog
- looking for help in Prolog
- order of conditions in antecedent causes stackoverflow
- Assertion Failure in SWI-Prolog When Using pyswip to Consult a Prolog File
- how to run xsd2json behind proxy
- How to modify my Turbo Prolog expert system
- NodeJS Processes Handle Signals Independently?
- Prolog Filtering List using `findall` with in-line predicate or "lambda"
- Prolog - How to Convert CSV File Output Rows into Queryable Terms?
- Prolog - How To Make Prolog Query Shorter?
- Constraints in Prolog
Related Questions in UNIFICATION
- How can I map discriminated unions to concrete types (like classes) via a factory function in Typescript?
- All partial unification algorithms failed on implicit conversion from functions - How to improve in Scala?
- Unification when multiple copies of a formula are needed
- What's the role of unification in Coq's core type system?
- Can Prolog-like unification be expressed in a point free way?
- Unification of types
- Coq: Unification fails with record
- Why doesn't X-0 match with 20?
- SWI-Prolog predicates member and nth1 without unification?
- Why does introducing numbero in minikanren cause the failure of valid unifications?
- How does one access the dependent type unification algorithm from Coq's internals -- especially the one from apply and the substitution solution?
- Is there a non-unifying alternative to member/2 in SWI-Prolog?
- How does unification algorithm actually work?
- Example of the undecidability of higher-order unification
- Can the unification algorithm in Prolog recurse infinitely?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is a basic operator from Prolog, not specific to SWI-Prolog.
It means the left-hand-side term and the right-hand-side term do not unify (now and thus also in any future instantiation down this path of the search tree), so it is a question about the structure of those terms. You could also write
\+ (LHS = RHS)instead ofLHS \= RHS.These do not unify:
But these do, so the answer is
false:Instantiate on the right, still unify:
Instantiate on the left, unification is now impossible:
It may be interesting to use
dif/2(dif(X,Y): "ensureXandYwont' unify down this path", which sets up a constraint involving its arguments that vetoes (and fails) any attempt to makeXandYthe same.After this,
XandYshall not unify. The residual constraint is printed:Trying to unify
XandYafterdif/2fails:Refining
Xto 1 is still possible:Refining
Xto 1 andYto 2 is certainly possible:Refining both to 1 is not possible: