https://microhackers.ai/artificial-intelligence/reasoning-in-artificial-intelligence/