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:

Read more…