Læne | |
---|---|
Type | Bevisassistent |
Udvikler | Microsoft Research |
Skrevet i | C++ |
Operativ system | på tværs af platforme |
Interface sprog | engelsk |
Første udgave | 2013 |
Hardware platform | på tværs af platforme |
nyeste version | 4.0.0-m4 (23. marts 2022 ) |
Licens | Apache-licens 2.0 |
Internet side | leanprover.github.io |
Lean er et interaktivt teorembevisværktøj . Baseret på beregningen af konstruktioner med induktive typer. Det er open source hostet på GitHub . Lean-projektet blev lanceret af Leonardo de Moura hos Microsoft Research i 2013 [1] .
Lean har en grænseflade, der adskiller den fra andre interaktive teorembevisere. Lean kan kompileres til JavaScript og er tilgængelig i en webbrowser . Det har indbygget understøttelse af Unicode-tegn . (De kan skrives ved hjælp af LaTeX -lignende sekvenser, såsom "\times" for "×".) Lean har også omfattende metaprogrammeringsunderstøttelse .
Lean tiltrak sig opmærksomhed fra matematikerne Thomas Hales og Kevin Bazard. Hales bruger det til sit "formalabstracts"-projekt [2] . Bazard bruger det til Xena-projektet [3] Et af målene med Xena-projektet er at omskrive alle teoremer og beviser i bacheloruddannelsen i matematik ved Imperial College London .
Inden for rammerne af Xena-projektet formaliseres et komplekst bevis fra området for kondenseret matematik udviklet af Peter Scholze [4] [5] [6] .
Definition af naturlige tal:
induktiv nat : Type | nul : nat | succ : nat → natDefinition af additionsoperationen for naturlige tal:
definition tilføje : nat → nat → nat | n nul := n | n ( succ m ) := succ ( tilføje n m )Et eksempel på et simpelt bevis.
teorem and_swap : p ∧ q → q ∧ p := antag h1 : p ∧ q , ⟨ h1.højre , h1.venstre ⟩Dette er beviset:
sætning og_bytte ( p q : Prop ) : p ∧ q → q ∧ p := start antag h : ( p ∧ q ), - antag, at p ∧ q er sande tilfælde h , - udtræk de individuelle propositioner fra konjunktionssplitningen , -- opdel målkonjunktionen i to tilfælde: bevis p og bevis q separat gentag { antagelse } ende ![]() |
---|