是否有正式系统可以让你做出类似人类的高阶陈述?

Are there formal systems that allow you to make human-like higher-order statements?

对于人类来说,进行高阶陈述是很自然的。例如,您可以声明以下内容(使用伪 Prolog 语法):


苏格拉底很聪明:

smart(socrates).

约翰是个男人:

man(john).

苏格拉底相信所有人都会死:

believes(socrates, (mortal(X) :- man(X))).

如果有人聪明并且相信某事,那一定是真的:

Y :- smart(X), believes(X, Y).

我检查了几个 Prolog 的“高阶”扩展,但都不能接受像最后两个示例那样的语句类型。

是否有正式的系统可以让你做出像人类一样的高阶陈述,比如这些?

这叫做modal logic, and is theorized with Kripke semantics. Here are some libraries in python