Você provavelmente nunca terá que provar afirmações matemáticas em sua linha de trabalho, mas aprender a escrever provas matemáticas o ensinará a escrever de uma maneira que seja: inequívoco e convincente Inequívoco e convincente não é o mesmo que claro e persuasivo - o que abordarei mais tarde. Ao escrever provas matemáticas, sua escrita deve ter uma "verdade subjacente" que siga as "regras do jogo" (quais transformações e implicações são permitidas). No entanto, há alguma latitude em como exatamente você "diz" a verdade subjacente - já que você não está fazendo matemática computacional, você usa o inglês em vez de símbolos inteiros. No entanto, as regras do jogo restringem fortemente o que você pode escrever. Como a matemática, todo domínio técnico (por exemplo, engenharia de software) tem "verdade subjacente" e "regras do jogo". Autores inexperientes produzem textos relacionados, mas desvinculados das verdades e regras subjacentes do jogo em seu domínio. Por exemplo, considere a frase: "Se aumentarmos o tempo de bloco, a segurança do blockchain aumentará porque mais nós podem chegar a um consenso". "Tempo de bloqueio", "quórum" e "segurança" são verdades subjacentes, mas a declaração de relacionamento segue as regras do jogo? A declaração parece persuasiva, mas é inequívoca e convincente? Se você tiver experiência com provas matemáticas, poderá desvendar as suposições subjacentes que a declaração está fazendo: - o consenso é mais fácil de alcançar quando se tem mais tempo - Blockchains são mais seguras quando têm um consenso confiável Mas essas não são as suposições precisas: a suposição precisa é que, com mais tempo, o consenso é mais provável. Segue-se que o autor está assumindo que, à medida que o tempo vai para o infinito, a probabilidade de consenso se aproxima de 1. Dito dessa forma, parece uma suposição razoável? Quando lido dessa forma, um contra-exemplo se torna mais óbvio: e se muitos nós (intencionalmente ou não) ficarem permanentemente offline? Portanto, podemos ver que "Se aumentarmos o tempo de bloco, a segurança do blockchain aumenta porque mais nós podem chegar a um consenso" reflete algumas "verdades subjacentes" e segue algumas "regras do jogo", mas também está fazendo algumas suposições importantes e não declaradas (se essas suposições foram declaradas no contexto, tudo bem, mas não quero atrapalhar este exemplo com essa nuance). Portanto, a afirmação "Se aumentarmos o tempo de bloco, a segurança do blockchain aumenta porque mais nós podem chegar a um consenso" é clara e persuasiva porque cada um dos termos que ele usa é bem compreendido, não diz nada obviamente errado. No entanto, não é inequívoco e convincente porque faz suposições não declaradas sobre o comportamento do nó. Aqui está uma versão mais convincente e inequívoca: "Supondo que os atrasos da rede sejam a única coisa que impede o consenso, intervalos de bloco mais longos aumentam a probabilidade de consenso." Como a nova afirmação tem escopo reduzido (não faz nenhuma afirmação ampla sobre "segurança" e comportamento esperado dos nós), ela é menos inequívoca (mais precisa) e mais convincente porque segue as regras do jogo (ou seja, a relação entre latência de rede e tempo de bloqueio)....