GithubHelp home page GithubHelp logo

graydon / lem Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rems-project/lem

0.0 2.0 0.0 7.49 MB

Lem semantic definition language

License: Other

Makefile 1.24% Coq 1.02% Standard ML 1.36% Isabelle 2.49% Shell 0.07% Python 0.04% OCaml 93.39% TeX 0.39%

lem's Introduction

Lem

Lem is a tool for lightweight executable mathematics, for writing, managing, and publishing large-scale portable semantic definitions, with export to LaTeX, executable code (currently OCaml) and interactive theorem provers (currently Coq, HOL4, and Isabelle/HOL).

It is also intended as an intermediate language for generating definitions from domain-specific tools, and for porting definitions between interactive theorem proving systems.

Lem is under active development and has been used in several applications, some of which can be found in the examples directory. It is made available under the BSD 3-clause license, with the exception of a few files derived from OCaml, which are under the GNU Library GPL.

Lem depends on OCaml. Lem is tested against OCaml 3.12.1. and 4.02.0. Other versions might or might not work. Lem requires the OCaml ZArith library for arbitrary precision arithmetic. Lem has been tested against ZArith version 1.2. Other versions might or might not work.

To build Lem run 'make' in the top-level directory. This builds the executable 'lem', and places a symbolic link to it in that directory. Instructions on building the libraries for particular targets are in the manual.

Documentation can be found in doc/built-doc, including:

  • a high-level description of Lem in the draft paper lem-draft.pdf;
  • the manual, in lem-manual.html and lem-manual.pdf;
  • the Ott grammar and type system for Lem, in lem.pdf, built from the definition in language/lem.ott;
  • the Lem library documentation, in lem-libs.pdf;
  • the type signatures of the pervasives and pervasives-extra libaries, in lem-libs-pervasives.txt and lem-libs-pervasives-extra.txt; and
  • source documentation, in html-doc and lem-doc.pdf, with a dependency diagram of the source modules in dep.pdf.

Supported versions of software

Lem is tested against the following versions of the backend software:

  • OCaml: 3.12.1, 4.00.0, 4.01.0, and 4.02.0
  • Coq: 8.4pl3 and 8.4pl2
  • Isabelle: Isabelle-2013-2
  • HOL: HOL4 Kananaskis 9

lem's People

Contributors

bacam avatar bauereiss avatar cp526 avatar dominicpm avatar dpmulligan avatar dsheets avatar elarnon avatar emersion avatar fredericloulergue avatar fshaked avatar gnomnain avatar immler avatar jchl avatar kathryngray avatar kmemarian avatar larsrh avatar mgree avatar mn200 avatar mrsmkl avatar opqrs avatar petersewell avatar rmn30 avatar sowens avatar stephenrkell avatar thtuerk avatar victorgomes avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.