False == 0 e True == 1 no Python é um detalhe de implementação ou é garantido pela linguagem?

É garantido queFalse == 0 eTrue == 1, em Python (assumindo que eles não foram reatribuídos pelo usuário)? Por exemplo, é de alguma forma garantido que o código a seguir sempre produzirá os mesmos resultados, independentemente da versão do Python (existente e, provavelmente, futura)?

0 == False  # True
1 == True   # True
['zero', 'one'][False]  # is 'zero'

Qualquer referência à documentação oficial seria muito apreciada!

Editar: Como observado em muitas respostas,bool herda deint. Portanto, a questão pode ser reformulada da seguinte forma: "A documentação diz oficialmente que os programadores podem confiar nos booleanos herdados de números inteiros,com os valores0 e1? ". Esta questão é relevante para escrever código robusto que não falhará devido aos detalhes da implementação!

questionAnswers(6)

yourAnswerToTheQuestion