Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Solving Hilbert's sixth problem in Lean

License

NotificationsYou must be signed in to change notification settings

physicslib/physicslib4

License: Apache 2.0Zulip : TopicYouTube : Tutorial

This repository contains a template for blueprint-driven formalization projects in Lean 4.

Install Lean 4

Ensure that you have a functioning Lean 4 installation. If you do not, please followtheLean installation guide.

Use this Template

To create a new repository using this template, ensure you are on the correct repository page(LeanProject) and then follow these steps:

  1. Click theUse this template button located at the top right of the repository page.
  2. Click theCreate a new repository button.
  3. Select the account or organization where you want to create it, choose a name for the newrepository, and click theCreate repository button.

Clone this Repository

To clone this repository to your local machine, please refer to the relevant section of theGitHub documentationhere.

Customize this Template

To tailor this template to your specific project, follow these steps:

  1. If you don't have a Python environment, you can install one by following the instructions in thePython installation guide.
  2. Verify your Python installation by running:
    python3 --version
  3. Verify your Pip installation by running:
    pip3 --version
  4. Ensure your terminal is in the project directory by running the following command:
    cd path/to/your/project
  5. Execute the customization script by running:
    scripts/customize_template.py NewProject
    whereNewProject must be replaced by the name of your project.

The scriptcustomize_template.py will automatically rename theproject folder and update the necessary files and configurations to match the new project name.

Configure GitHub Pages

To set up GitHub Pages for your repository, follow these steps:

  1. Go to theSettings tab of your repository.
  2. In the left sidebar, click on thePages section.
  3. In theSource dropdown, selectGitHub Actions.

Repository Layout

The template repository is organized as follows (listing the main folders and files):

  • .github contains GitHub-specific configuration files and workflows.
    • workflows contains GitHub Actions workflow files.
      • build-project.yml defines the workflow for buildingthe Lean project on pushes, pull requests, and manual triggers. This is a minimalistic buildworkflow which is not necessary if you decide to generate a blueprint (see instructions below)and can be manually disabled by clicking on theActions tab, selectingBuild Projectin the left sidebar, then clicking the horizontal triple dots (⋯) on the right,and choosingDisable workflow.
      • create-release.yml: defines the workflow for creating a new Git tag and GitHub release when thelean-toolchain file is updated in themain branch. Ensure the following settings are configured underSettings > Actions > General > Workflow permissions: "Read and write permissions" and "Allow GitHub Actions to create and approve pull requests".
      • update.yml is the dependencyupdate workflow to be triggered manually by default. [It's not documented yet, but it will be soon.]
    • dependabot.yml is the configuration file to automate CI dependency updates.
  • .vscode contains Visual Studio Code configuration files
  • Project should contain the Lean code files.
    • Mathlib should contain.lean files with declarations missing from thecurrent version of Mathlib.
    • Example.lean is a sample Lean file.
  • scripts contains scripts to update Mathlib ensuring that the latest version isfetched and integrated into the development environment.
  • .gitignore specifies files and folders to be ignored by Git.and environment.
  • CODE_OF_CONDUCT.md should contain the code of conduct for the project.
  • CONTRIBUTING.md should provide the guidelines for contributing to theproject.
  • lakefile.toml is the configuration file for the Lake build system used inLean projects.
  • lean-toolchain specifies the Lean version and toolchain used for the project.

Blueprint

0. Selected Collaborative Projects

For more examples of completed and ongoing Lean projects and libraries, pleasesee theLean Reservoir.

1. Install Dependencies

To install the necessary dependencies, follow the instructions in thePyGraphViz installation guide.

2. Install LeanBlueprint Package

Assuming you have a properly configured Python environment, install LeanBlueprint by running:

pip install leanblueprint

If you have an existing installation of LeanBlueprint, you can upgrade to the latest version byrunning:

pip install -U leanblueprint

3. Configure Blueprint

To set up the blueprint for your project, run:

leanblueprint new

Then, follow the prompts and answer the questions as you like, except for a few specificquestions which should be answered as indicated below to ensure compatibility with this template.

Respond affirmatively withy to the following prompt:

Proceed with blueprint creation? [y/n]

Respond affirmatively withy to the following prompt:

Modify lakefile and lake-manifest to allow checking declarations exist? [y/n] (y)

Respond affirmatively withy to the following prompt:

Modify lakefile and lake-manifest to allow building the documentation? [y/n] (y):

If you want to generate a Jekyll-based home page for the project, respondaffirmatively withy to the following prompt:

Do you want to create a home page for the project, with links to the blueprint, the API documentation and the repository? [y/n]:

Respond affirmatively withy to the following prompt:

Configure continuous integration to compile blueprint? [y/n] (y):

For more details about the LeanBlueprint package and its commands, please refer to itsdocumentation.

After configuring the blueprint, please wait for the GitHub Action workflow to finish.You can keep track of the progress in theActions tab of your repository.

Selected Projects Using this Template

If you have used this template to create your own Lean project and would like to share it with the community, please consider opening aPR to add your project to this list:


[8]ページ先頭

©2009-2025 Movatter.jp