Zdravím, když chci reprezentovat formálně například "John fell", můžu použít predikát "fall(John)" (teď ignoruju gramatický čas). Pro "John almost fell" bude "almost(fall)(John)", to je ale výraz vyššího řádu. Jak se dá něco takového zapsat v Prologu, aby se s tím dalo pracovat v dotazech nebo jiných pravidlech? Je případně něco lepšího než Prolog pro tyto účely?