初学者,无法导入精益

Beginner, cannot import in Lean

我是一个绝对的初学者,不是程序员,正在尝试通过 Logic and Proof 学习形式验证。 我无法在 Lean 中导入任何内容。

我将二进制文件的 tar 文件提取到 /tmp 然后执行

/tmp/lean-3.4.1-linux/bin/./lean /tmp/test.lean

除非我正在导入任何东西,否则它可以正常工作。所以如果我的文件 test.lean 只是说

open classical
example (P : Prop) : P ∨ ¬ P := em P

没有错误。 但是如果同一个文件改为

import data.set

我收到错误消息

/tmp/test.lean:1:0: error: file 'data/set' not found in the LEAN_PATH  
/tmp/test.lean:1:0: error: invalid import: data.set  
could not resolve import: data.set

import data.nat.

也会出现类似的错误

我做错了什么,我该怎么办? 我正在使用 Ubuntu 16.04。 请注意,由于我是初学者,所以我从未从源代码编译过任何东西。

这些包隐藏在init

import init.classical
import init.data.nat
import init.data.set

但我相信 Lean 默认导入 init 中的所有内容,因此您实际上不需要上面的行。

您也可以跳过 open 并限定调用。

example (P : Prop) : P ∨ ¬ P := classical.em P

我直接联系 Avigad 教授得到了解决方案。

原来这本书不仅使用了标准库,还使用了精益数学组件库,mathlib。 安装它对我有用。我现在可以 import data.set 而不会出错。