Swift で以下のように書くと、Bool の文字列表現が得られます。

let valueTrue: Bool = true
"\(valueTrue)" // -> "true"

let valueFalse: Bool = false
"\(valueFalse)" // -> "false"

このとき、文字列表現が正確に "true""false" であることが、Swift の言語仕様として定められているでしょうか? あるいは定められていないでしょうか?

実用上は let value: Bool に対して value ? "true" : "false" などと書けば事足りるのですが、言語仕様としてはどうなっているのだろう、というのが気になりました。

Swift 2 および Swift 3 の場合について知りたいです(両者で仕様が異なる可能性があると思いますが、それぞれ知りたいです)。


質問の書き方が分かりにくかったので補足します。

上記の "\(valueTrue)"(これは valueTrue.description と同じ)が "true" という文字列になるのは、言語仕様として定められているのか、処理系依存や未定義なのか、というのが知りたい点です。


※追記:上に「これは valueTrue.description と同じ」と書きましたが、いただいた回答を読みますと、適切な記述ではありませんでした。