1.
a = 1
2.
1 = a
3.
2 = a
(MatchError) no match of right hand side value: 1
(stdlib 6.1.2) erl_eval.erl:652: :erl_eval.expr/6
iex:3: (file)
3.においては2と1.で束縛されたaの値である1が=でつながれてしまっているためエラーが出力されている。
表現すると3.は2 = 1となっている。
束縛は左辺に対して行われるため2 = aの式においてaの値が新規に束縛されるわけではない。
参考資料
プログラミングElixir 第2版