human reasoning