精益项目#
一般来说,如果你只打开一个.精益
文本编辑器中的文件试着编译它,你会得到一堆令人困惑的错误。每一个非平凡的精益代码都需要生活在一个精益项目(有时也称为精益包)。“精益项目”不仅仅是一个你命名为“我的精益东西”的文件夹。相反,它是一个包含一些非常具体的东西的文件夹:特别是,agit存储库和一个文件湖滨线
收集有关项目,包括例如应该使用的精益版本。
如果你对mathlib感兴趣,你只需要建立一次精益项目,您可以将其用于所有贡献-你不需要为每个新的贡献建立一个新的精益项目。
设置和管理所有这些都是由一个名为湖
(这是一个皮箱倾斜
和制作
).本页描述了此工具的基本用法,应该足够用于日常使用。如果这不足以满足您的目的,您可以阅读满的湖泊文献.
处理现有项目#
假设您要处理现有项目。作为示例,我们将精益书中的数学.打开端子。
-
如果您在安装Lean和mathlib之后还没有登录,那么您可能需要首先输入源~/.配置文件
或源~/.bash_profile
取决于您的操作系统。
-
转到您希望此软件包所在的目录。您不需要自己创建新文件夹,下一个命令将创建一个数学(in_lean)
子文件夹。
-
运行git克隆https://github.com/leanprover-community/mathematics_in_lean.git
.
-
运行cd数学在线
-
运行lake exe缓存获取
(注意:此命令当前仅适用于导入的项目数学实验室4
作为依赖项)
-
通过应用程序菜单或键入以下命令启动VS代码代码。
(MacOS用户需要一次性使用额外的步骤以便能够从命令行启动VS代码。)
-
如果您从菜单、主屏幕或文件菜单中启动VS代码,单击“打开文件夹”(在Mac上只需“打开”),然后选择文件夹数学(in_lean)
(不其中一个子文件夹)。
-
使用左侧的文件资源管理器,浏览您的所有内容想要加入故障指示灯
.请参阅MIL说明获取关于如何做这本书中练习的建议。
创建精益项目#
我们现在将根据mathlib创建一个新项目。以下内容命令应该在终端中键入。
-
转到要在子文件夹中创建项目的文件夹我的项目(_P)
、和类型lake+leanprover/lean4:night-2024-04-24新my_project数学
。不要担心上一个命令中的日期,它可以确保您使用的是最新版本的湖
但对版本没有影响倾斜
您的项目将使用。如果您获得错误消息显示湖
是未知命令,并且那么,自从安装Lean之后,您还没有登录您可能需要首先输入源~/.配置文件
或源~/.bash_profile
.关键字数学
在该命令的末尾添加数学实验室4
到项目的依赖项,以便您可以使用导入Mathlib
在项目文件中。
-
进入我的项目(_P)
文件夹和类型湖泊更新
然后mkdir我的项目
.
- Windows用户看到
curl:(35)schannel:下一个InitializeSecurityContext失败
错误应为这个便条.
-
通过应用程序菜单或键入启动VS代码这个代码。
命令。
-
如果您通过菜单启动VS Code:在主屏幕上,或在文件菜单,单击“打开文件夹”(在Mac上,只需“打开”),然后选择文件夹我的项目(_P)
(不其中一个子文件夹)。
-
您的精益代码现在应该放在带有扩展名的文件中.精益
住在我的项目/
或其子文件夹。在文件资源管理器中在VS Code的左侧,您可以右键单击我的项目
,选择新建文件
,然后键入文件名以在其中创建文件。
如果你想确保一切正常,你可以从比如说创造my_project/MyProject/Test.lean
包含:
当光标位于最后一行时,VS代码的右侧部分应显示“精益信息视图”区域,内容如下:拓扑空间。{u} (α:u型):u型
.
请注意,您可以在项目中导入自己的文件。例如,如果您创建了文件my_project/MyProject/Definitions.lean(我的项目/我的项目/定义.lean)
,您可以启动新文件my_project/MyProject/Lemmas.lean我的项目
具有导入MyProject。定义
.
如果出于某种原因,您碰巧失去了“精益信息视图”领域可以用Ctrl键-班次-输入(命令-班次-输入在MacOS上)。此外,您可以使用Ctrl键-班次-第页(命令-班次-第页然后,在出现的文本字段中,键入“lean doc”并点击输入.然后单击“精益数学”或“精益定理证明”并欣赏。
在GitHub上托管项目#
您的项目已经是一个git存储库,随着它的发展,你可能想把它放在主机上github.如果你采取这一步骤,社区会提供一些GitHub操作脚本这可以帮助管理您的存储库。但如果你不知道这意味着什么,不要担心。使用精益是没有必要的。
对mathlib的贡献#
请参见如何为mathlib做出贡献.
Windows上的InitializeSecurityContext错误#
一些Windows用户在运行时报告了类似这样的错误lake exe缓存获取
:
卷曲: (35) 夏奈尔: 下一个 初始化安全上下文 失败: 未知 错误 (0x80092012号) - 这个 撤销 功能 是 不能的 到 检查 撤销 对于 这个 证明书
如果您看到此错误,则可能有一个防病毒程序扫描每个下载的文件,从而导致错误。请禁用防病毒程序,然后运行湖exe缓存获取!
.感叹号强制湖
要重新下载它在运行此命令之前未能下载的缓存文件,请执行以下操作。(如果您对禁用防病毒软件感到不舒服,请尝试执行以下操作这些说明然后运行湖exe缓存获取!
).之后可以打开防病毒程序。然而,一些用户也报告说,防病毒程序在正常使用期间显著降低了Lean的速度。如果Lean的运行速度比预期慢,请关闭防病毒程序或告诉它忽略/允许lean.exe(精简.exe)
.