# =/2

### Module: builtins

`=/2`

— unify two terms

`\=/2`

— test if two items are non-unifiable

## FORMS

```
Arg1 = Arg2
Arg1 \= Arg2
```

## DESCRIPTION

The procedure `=/2`

calls the Prolog unifier to unify `Arg1`

and `Arg2`

, binding variables if necessary. The occurs check is not performed. `=/2`

is defined as if by the clause :

`Term = Term.`

If the two terms cannot be unified, `=`

fails. The procedure `\=`

succeeds if the two terms cannot be unified. This is different than the `=\=`

and the `\==`

procedures.

## EXAMPLES

The following examples illustrate the use of `=`

.

```
?- f(A,A)=f(a,B).
A=a
B=a
yes.
```

```
?- f(A,A)=f(a,b).
no.
```

```
?- X=f(X).
X=f(f(f(f(f(f(f(f(f(f(f(...)))))))))))
?- X\=1
no.
```

```
?- X\==1
X=_3
yes.
```

Note that in the next to last example, the depth of the printing is much deeper than shown here.