Para que a especificação não serve:
Para jogar pokemon
Para analisar o balanceamento (i.e. Charmander ganha do Squirtle 40% das vezes)
Para que ela serve:
Explicar pokemon pra quem não conhece pokemon
Verificar propriedades
Por que só não fazemos isso em [insira linguagem de programação] e usamos um laço de repetição para testar N (ou todos) os cenários?
Porque:
Ah, mas se eu fizer em [insira linguagem de programação], eu já posso usar o programa para jogar também.
Com algumas regras de RPG, conseguimos alguns problemas análogos aos problemas de sistemas distribuídos, campo onde métodos formais são melhor empregados.
Exemplos de protocolos:
Podemos entender protocolos como estratégias para garantir ou impedir que algo aconteça.
Podemos entender estratégias de jogo como um protocolo que leva à vitória.
Veremos mais sobre protocolos na próxima fase da disciplina
Link: https://github.com/informalsystems/quint/tree/main/examples/games