All Projects → pygae → lean-ga

pygae / lean-ga

Licence: MIT license
A partial formalization of Geometric Algebra in the Lean formal proof verification system.

Programming Languages

Lean
33 projects

Projects that are alternatives of or similar to lean-ga

s3-practical-guide
A practical guide for Sociocracy 3.0.
Stars: ✭ 56 (+86.67%)
Mutual labels:  lean
mxfactorial
a payment application intended for deployment by the united states treasury
Stars: ✭ 36 (+20%)
Mutual labels:  geometric-algebra
designDoc
A lean product design process in markdown that enables cross-functional teams to take an idea from napkin to scale by prioritizing learnings to produce customer-centered solutions.
Stars: ✭ 28 (-6.67%)
Mutual labels:  lean
gal
Geometric Algebra Library
Stars: ✭ 78 (+160%)
Mutual labels:  geometric-algebra
ga-benchmark
A benchmark for Geometric Algebra libraries, library generators, and code optimizers.
Stars: ✭ 18 (-40%)
Mutual labels:  geometric-algebra
Lean
Homepage Theorem Proving in Lean FAQ
Stars: ✭ 2,006 (+6586.67%)
Mutual labels:  lean
AliveInLean
Formally verified implementation of Alive in Lean
Stars: ✭ 30 (+0%)
Mutual labels:  lean
core
Erdiko framework core components
Stars: ✭ 18 (-40%)
Mutual labels:  lean
OpenWrtAction
Openwrt automatic compilation project of github action
Stars: ✭ 28 (-6.67%)
Mutual labels:  lean
openwrt
OpenWrt Stable 1907 with lean's package
Stars: ✭ 55 (+83.33%)
Mutual labels:  lean
Mejili
A Trello clone based on PHP using Laravel 4.2, knockout and twitter bootstrap
Stars: ✭ 17 (-43.33%)
Mutual labels:  lean
helloworld
SSR 科学上网软件
Stars: ✭ 65 (+116.67%)
Mutual labels:  lean
maturity-models
Maturity models for IT, Agile, DevOps, TOGAF, Six Sigma, P3M3, etc.
Stars: ✭ 157 (+423.33%)
Mutual labels:  lean
TbGAL
TbGAL: Tensor-Based Geometric Algebra Library
Stars: ✭ 16 (-46.67%)
Mutual labels:  geometric-algebra
Gaalop
Gaalop (Geometic Algebra Algorithms Optimizer) is a software to compile and optimize geometric algebra (GA) expressions into high-level programming language code. Geometric algebra expressions can be developed using the freely available CLUCalc software by Christian Perwass. Gaalop optimizes CLUCalc expressions and produces C++ (AMP), OpenCL, CU…
Stars: ✭ 55 (+83.33%)
Mutual labels:  geometric-algebra

lean-ga

Gitpod ready-to-code arXiv DOI

A partial formalization of Geometric Algebra (GA) in the Lean formal proof verification system and using its Mathematical Library.

A description of the foundations of this work is published as Formalizing Geometric Algebra in Lean in Advances in Applied Clifford Algebras (note that the web version has been horrendously typeset by the publisher, but the PDF version is readable). The code in this repository has evolved since that publication to keep up with changes to mathlib. We presented an early version of this at ICCA 2020 (slides).

A semi-interactive viewer for the contents of this project can be found at https://pygae.github.io/lean-ga-docs/. Of particular interest are:

To get the full experience of using lean-ga without having to install lean, use the GitPod link at the top of this readme. Wait for the command in the console to finish, then open one of the files referenced above, and wait for compilation to finish (the orange bars to vanish). At this point, you can move the cursor around to view the proof state, and try adding new statements to the file using our definitions.

See this visualization to see which parts of Mathlib are used in this formalization (directly or indirectly).

Update for ICACGA

This repository has been updated to contain some of the examples in the paper "Computing with the universal properties of the Clifford algebra and the even subalgebra", submitted to the ICACGA conference. In turn, that paper contains permalinks that lead back to this repository. Many of the examples in that paper are already in mathlib.

Contributing

We welcome contributions, especially those in the areas outlined in the Future Work section of our paper. In some cases though, your contribution may well be better directed at mathlib itself, especially if it only depends on the parts of our work that have already been integrated into Mathlib.

Project Structure

This project is configured for use with leanproject, and such can be downloaded with leanproject get pygae/lean-ga. The Lean source files can all be found in the src directory, which is structured as follows.

  • src/for_mathlib: non-GA formalizations intended for contribution to mathlib
  • src/geometric_algebra
    • nursury: various experiments at formalizations approaches
    • translations: partial translations of formalizations in other languages
    • from_mathlib: The core of this formalization, building on top of the clifford_algebra contributed to Mathlib

Additionally, there are some miscellaneous resources in docs/misc, which contain a mixture of links to and excepts from related work, and some initial design ideas and goals.

Naming

There is little precedent for naming third-party Lean libraries; we mirror the choice made by lean-perfectoid-spaces by prefixing the repo name with lean-, and use ga to abbreviate geometric-algebra.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].