Preparando-me para o início do meu mestrado, me vi com uma vontade forte de rever meus materiais da faculdade. Logo veio a lembrança de como eu me divertia nas cadeiras de lógica. Pouca coisa eu ainda lembro de cabeça, e dessas, resolvi reproduzí-las à maneira Ruby:
Silogismo Aristotélico
O silogismo consiste no fato de duas premissas inferirem, através de um termo em comum, na conclusão de uma terceira premissa também verdadeira.
“Todos os humanos são mortais”
“Aristóteles é humano”
-
“Logo, Aristóteles é mortal”
#Todos os humanos são mortais
class Human
self.module_eval do
define_method :mortal? do
true
end
end
end
#Aristóteles é humano
class Aristotle < Human
end
#logo...
a = Aristotle.new
a.mortal? #=> true
Lógica Proposicional
Segundo o wikipedia:
Em lógica e matemática, uma lógica proposicional (ou cálculo sentencial) é um sistema formal no qual as fórmulas representam proposições que podem ser formadas pela combinação de proposições atômicas usando conectivos lógicos, e um sistema de regras de derivação que permite que certas fórmulas sejam estabelecidas como “teoremas” do sistema formal.
Dessa, os teoremas clássicos que me veem à cabeça são os seguintes: