# Mystery Unification

**URL:** <https://swi-prolog.discourse.group/t/mystery-unification/929>\
**Category:** Help!\
**Created:** [July 7, 2019, 11:10am UTC](https://swi-prolog.discourse.group/t/mystery-unification/929 "2019-07-07T11:10:20Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [July 7, 2019, 11:27am UTC](https://swi-prolog.discourse.group/t/mystery-unification/929/2 "2019-07-07T11:27:06Z")

</div>

Writing a binding as

```
V1 = V2, V2 = V3, .... Vn-1 = Vn, Vn = <value>

```

is just (SWI-)Prolog’s way to say that two variables have exactly the same value (as in ==). In Prolog is generally not observable whether two terms are equal because they have been unified or simply because they happen to have the same value. Thus, `X = 7, X = Y` is internally exactly the same as `X = 7, Y = 7`.

---

_[View the full topic](https://swi-prolog.discourse.group/t/mystery-unification/929)._
