### Purity: A Horn Clause Only library for Prolog

Up: Purity

## Comparision Predicates

To use, import the following module

`:- use_module(library(purity)).`

### pcompare/4

`pcompare(Domain, TermA, TermB, Comparator) -`

Comparator is one of <, > or =

Comparator is the comparison between TermA and TermB

both TermA and TermB must be in Domain

### pdif/3

`pdif(Domain, TermA, TermB).`

TermA is not TermB

TermA and TermB must be in Domain

### pdif/4

`pdif(Domain, TermA, TermB, Result).`

Result is true if TermA is not TermB for domain, otherwise false

### pif/3

`pif(Goal, TrueGoal, FalseGoal).`

Goal is a callable with the last argument as a pbool.

if Goal results in true then TrueGoal is called.

if Goal results in false then FalseGoal is called.

### eq/3

`eq(Domain, TermA, TermB).`

TermA and TermB are equal for Domain.

### eq/4

`eq(Domain, TermA, TermB, Result).`

Result is true if TermA and TermB are equal for Domain.

Result is false if TermA and TermB are equal for Domain.

### lt/3

`lt(Domain, TermA, TermB).`

TermA is less than TermB for Domain.

### lt/4

`lt(Domain, TermA, TermB, Result).`

Result is true if TermA is less than TermB for Domain.

Result is false if TermA is not less than TermB for Domain.

### lte/3

`lte(Domain, TermA, TermB).`

TermA is less than or equal to TermB for Domain.

### lte/4

`lte(Domain, TermA, TermB, Result).`

Result is true if TermA is less than or equal to TermB for Domain.

Result is false if TermA is not less than or equal to TermB for Domain.

### gt/3

`gt(Domain, TermA, TermB).`

TermA is greater than TermB for Domain

### gt/4

`gt(Domain, TermA, TermB, Result).`

Result is true if TermA is greater than TermB for Domain.

Result is false if TermA is greater than TermB for Domain.

### gte/3

`gte(Domain, TermA, TermB).`

TermA is greater than or equal to TermB for domain.

### gte/4

`gte(Domain, TermA, TermB, Result).`

Result is true if TermA is greater than or equal to TermB for Domain.

Result is false if TermA is greater than or equal to TermB for Domain.