# Seeming\* inconsistency between ground/1 and nonvar/2 predicates?

**URL:** <https://swi-prolog.discourse.group/t/seeming-inconsistency-between-ground-1-and-nonvar-2-predicates/8634>\
**Category:** General\
**Created:** [November 28, 2024, 5:49pm UTC](https://swi-prolog.discourse.group/t/seeming-inconsistency-between-ground-1-and-nonvar-2-predicates/8634 "2024-11-28T17:49:42Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![brebs](https://avatars.discourse-cdn.com/v4/letter/b/e9c0ed/32.png) [@brebs](https://swi-prolog.discourse.group/u/brebs)\
**Post date:** [November 28, 2024, 6:23pm UTC](https://swi-prolog.discourse.group/t/seeming-inconsistency-between-ground-1-and-nonvar-2-predicates/8634/2 "2024-11-28T18:23:12Z")

</div>

Because these are structures, rather than completely var/1, and that use of brackets is particularly unintuitive to newcomers, creating a “comma list” rather than a tuple: [Surprising result with equals dot dot](https://swi-prolog.discourse.group/t/surprising-result-with-equals-dot-dot/4989)

```prolog
?- (X,Y) == ','(X,Y).
true.

?- nonvar((X,Y)).
true.

?- nonvar([_]).
true.

```

var/1 means _completely_ uninstantiated. A term or a list is not completely uninstantiated - check the variables within the term/list instead.

---

_[View the full topic](https://swi-prolog.discourse.group/t/seeming-inconsistency-between-ground-1-and-nonvar-2-predicates/8634)._
