diff --git a/README.md b/README.md index 4d4d5982..7eead009 100644 --- a/README.md +++ b/README.md @@ -129,10 +129,12 @@ for sols.Next() { | | `nonvar(Term)` | * | Succeeds if `Term` is not a variable. | Prolog | | | `number(Term)` | * | Succeeds if either `integer(Term)` or `float(Term)`. | Prolog | | | `callable(Term)` | * | Succeeds if either `atom(Term)` or `compound(Term)`. | Prolog | +| | `ground(Term)` | * | Succeeds if `Term` is a ground term. | Prolog | | Term Processing | `functor(Term, Name, Arity)` | * | Succeeds if `Term` has a name `Name` and arity `Arity`. | [Go](https://pkg.go.dev/github.com/ichiban/prolog/engine#Functor) | | | `arg(Arg, Term, Value)` | * | Succeeds if the `Arg`-th argument of `Term` unifies with `Value`. | [Go](https://pkg.go.dev/github.com/ichiban/prolog/engine#Arg) | | | `Term =.. List` | * | Succeeds if `List` is a list of the functor and arguments of `Term`. | [Go](https://pkg.go.dev/github.com/ichiban/prolog/engine#Univ) | | | `copy_term(In, Out)` | * | Creates a copy of `In` and unifies it with `Out`. | [Go](https://pkg.go.dev/github.com/ichiban/prolog/engine#CopyTerm) | +| | `term_variables(Term, Vars)` | * | Succeeds if `Vars` unifies with a list of variables in `Term`. | Go | | | `compare(Order, Term1, Term2)` | * | Compares `Term` and `Term2` and unifies `Order` with either `<`, `=`, or `>`. | [Go](https://pkg.go.dev/github.com/ichiban/prolog/engine#Compare) | | | `Term1 @=< Term2` | * | Either `Term1 == Term2` or `Term1 @< Term2`. | Prolog | | | `Term1 == Term2` | * | Equivalent to `compare(=, Term1, Term2)`. | Prolog |