#### Term Handling

`X`` = `

`Y`

- terms
`X` and `Y` are unified

`arg(`

`N``,`

`T``,`

`A``)`

- the
`N`th argument of term `T` is `A`

`atom_chars(`

`A``,`

`L``)`

`A` is the atom containing the characters in list `L`

`copy_term(`

`T``,`

`C``)`

`C` is a copy of `T` in which all variables have been
replaced by new variables

`functor(`

`T``,`

`F``,`

`N``)`

- the principal functor of term
`T` has name `F` and arity `N`

`ground(`

`T``)`

- term
`T` is a nonvar, and all substructures are nonvar

`hash_term(`

`T``,`

`H``)`

`H` is a hash-value for term `T`

`name(`

`A``,`

`L``)`

- the list of characters of atom or number
`A` is `L`

`number_chars(`

`N``,`

`L``)`

`N` is the numeric representation of list of
characters `L`

`numbervars(`

`T``,`

`M``,`

`N``)`

- number the variables in term
`T` from `M` to `N`-1

`subsumes_chk(`

`G``,`

`S``)`

- true when
`G`(eneral) subsumes `S`(pecific); `S`
and `G` are terms.