Type testing

These predicates test the type associated with a term.

A goal executing any of these predicates simply succeeds or fails; there is no side effect, unification, or error.

1. var/1

var(X) is true iff X is a member of the variable set as defined by the specification.

Templates and modes for the predicate are as follows:

var(@term)

1.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
var(Foo). null true
var(_). null true

Goal Theory success(String goal,String theory)
var(foo). null false
foo = Foo, var(Foo). null false
foo=Bar, var(Bar). null false

2. atom/1

atom(X) is true iff X is a member of the atom set as defined by the specification.

Templates and modes for the predicate are as follows:

atom(@term)

2.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
atom(atom). null true
atom('string'). null true
atom([]). null true

Goal Theory success(String goal,String theory)
atom(a(b)). null false
atom(Var). null false
atom(6). null false
atom(3.3). null false

3. integer/1

integer(X) is true iff X is a member of the integer set as defined by the specification.

Templates and modes for the predicate are as follows:

integer(@term)

3.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
integer(6). null true
integer(-3). null true

Goal Theory success(String goal,String theory)
integer(3.3). null false
integer(X). null false
integer(atom). null false

4. float/1

float(X) is true iff X is a member of the float set as defined by the specification.

Templates and modes for the predicate are as follows:

float(@term)

4.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
float(3.3). null true
float(-3.3). null true

Goal Theory success(String goal,String theory)
float(atom). null false
float(X1). null false

5. atomic/1

atomic(X) is true if X is an atom, integer or float, and is false if X is a variable or a compound term, w.r.t every set as defined by the specification.

Templates and modes for the predicate are as follows:

atomic(@term)

5.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
atomic(atom). null true
atomic(2.3). null true

Goal Theory success(String goal,String theory)
atomic(a(b)). null false
atomic(V1). null false

6. compound/1

compound(X) is true iff X is a member of the compound term set as defined by the specification.

Templates and modes for the predicate are as follows:

compound(@term)

6.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
compound(-a). null true
compound(a(b)). null true
compound([a]). null true

Goal Theory success(String goal,String theory)
compound(33.3). null false
compound(-33.3). null false
compound(_). null false
compound(a). null false
compound([]). null false

7. nonvar/1

nonvar(X) is true iff X is not a member of the variable set as defined by the specification.

Templates and modes for the predicate are as follows:

nonvar(@term)

7.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
nonvar(33.3). null true
nonvar(foo). null true
foo = Baz, nonvar(Baz). null true
nonvar(a(b)). null true

Goal Theory success(String goal,String theory)
nonvar(_). null false
nonvar(FOO). null false

8. number/1

number(X) is true if X is an integer or float, and is false if X is a variable, an atom or a compound term, w.r.t every set as defined by the specification.

Templates and modes for the predicate are as follows:

number(@term)

8.1 Example tests

Let's start with some simple tests verifying success of failure of single goals.

Goal Theory success(String goal,String theory)
number(3). null true
number(3.3). null true
number(-3). null true

Goal Theory success(String goal,String theory)
number(a). null false
number(X). null false