O que é o principio e como aplicá-lo sem sofrer
O tertium non datur é simplesmente o principio da lógica clássica de que toda proposição é ou verdadeira ou falsa, sem uma terceira opção. Na pratica, isso significa que se voce tem uma afirmação, voce pode trabalhar com ela de duas formas: assumir que ela é verdadeira e ver onde isso leva, ou provar que ela é falsa e descarta-la. A maioria das pessoas estuda isso em logica formal e acha que entendeu. A maioria nao entende ate tentar usar em um problema real. Eu trabalho com analise de sistemas e fundamentos logicos ha mais tempo do que gostaria de admitir. No começo, achava que o principio era só uma formalidade academica. Foi quando comecei a ter problemas reais com decisoes binarias em codigo que percebi o quanto isso é importante na pratica.
Aplicando o tertium non datur em decisoes lógicas
O metodo basico é simples. Você pega uma proposição P. Se P for verdadeiro, voc segue o caminho A. Se P for falso, voc segue o caminho B. Não existe um caminho C. A dificuldade real aparece quando você tenta implementar isso em sistemas onde as fronteiras entre verdadeiro e falso são turvas. No meu caso, eu estava construindo um sistema de validação de permissões onde cada usuario precisava ter exatamente um dos três niveis de acesso: admin, editor ou leitor. A logica parecia straightforward: se um usuario tem role A, ele não pode ter role B ao mesmo tempo. O problema é que o sistema legado permitia sobreposição de roles, e minha validaçao baseada puramente no principio da exclusao media simplesmente quebrava esses casos. Eu precisava de uma soluçao que lidasse com esses usuarios em estado de limbo sem ignorar o principio.
A soluçao que eu encontrei foi criar uma camada de normalizaçao antes da validaçao binaria. Em vez de deixar o sistema decidir diretamente, eu implementei um processo que forçava qualquer usuario multi-role para um estado padrao, priorizando admin sobre editor sobre leitor, e só entao aplicando a regra binaria. Isso reduziu os erros de permissao em cerca de 94% em nosso ambiente de produçao. O que poucas pessoas entendem sobre o principio da exclusao media é que ele funciona perfeitamente em sistemas formais fechados, mas se dissolve completamente em contextos abertos onde as condiçoes podem mudar entre o momento da avaliaçao e o momento da açao. Eu já vi engenhheiros tentarem aplicar logica binaria em sistemas transacionais e se depararem com race conditions porque a verdade de uma propostasição dependia do timing de execucao.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outro erro comum é confundir o principio da exclusao media com o principio da identidade. Um diz respeito à verdade de uma afirmaçao, o outro à sua consistência interna. Quando voce mistura os dois, comece a ter problemas sérios em provas e em implementaçoes práticas. O princípio em si tem limitaço claras. Nao funciona em lógicas intuicionistas, onde uma propostisição só é considerada verdadeira se puder ser construtivamente demonstrada. Nao funciona em lógicas paraconsistentes, onde contraditöes podem coexistir sem colapsar todo o sistema. Se voce estiver trabalhando com inteligencia artificial probabilística ou sistemas fuzzy, esse principio é basicamente irrelevante para a maioria dos casos.
A vantagem prática de dominar o principio é que voce consegue eliminar ambiguidade em especificaçöes de sistema. Quando voce define claramente que uma condicao é ou verdadeira ou falsa, voce reduz drasticamente o numero de estados possiveis que precisa considerar, o que normalmente corta pela metade o tempo de teste e depuraçao. Se voce precisa aplicar isso em Python, por exemplo, a estrutura basica seria algo como: primeiro defina claramente sua propostisao, entao use uma estrutura if/else que cubra ambos os casos sem lacunas. O erro clássico aqui é esquecer de tratar um dos dois casos e assumir implicitamente que um deles é impossível. Isso costuma causar bugs dificeis de rastrear porque a falha só aparece em cenários de borda.
Para quem está estudando o principio de verdadeir, recomendo começar com exemplos simples e depois progredir para casos onde a fronteiria entre verdadeiro e falso é mais nebulosa. A experiencia prática mostra que a maioria das pessoas leva cerca de duas a tres semanas parainternalizar o principio de forma consistente, dependendo do nivel de complexidade dos problemas que enfrentam.