Git Product home page Git Product logo

logic's Introduction

This library contains three parts: logics, a logic generator and Hoare logics.

============================================

Logics.

You can find basic logic settings, propositional logics and separation logics
in the following folders:
    GeneralLogic
    MinimumLogic
    PropositionalLogic
    SeparationLogic
You can find formalized proof theories, semantic definitions, soundness
proofs and completeness proofs. The library is built-up in an extensible
style, using Coq's typeclasses and higher-order features. But at the same
time, we also provide several concrete examples, containing both shallow
embeddings and deep embeddings.

============================================

Logic Generator.

The folder "LogicGenerator" contains our development about this
generator. It requires users to provide a configuration file. Then a command
line can be used to generate an interface file:
    ./logic_gen CONFIGURATION_FILE INTERFACE_FILE
The configuration file should specify involved connectives and primary proof
rules. The interface file will contain a Module Type (where these connectives
and proof rules are specified) and a Module functor which generate many many
derived rules from primary ones. See LogicGenerator/demo for more information.

============================================

Hoare Logics.

This part is not quite complete. It contains some elementary results about Hoare
logic soundness, especially those about concurrent separation logic.

============================================

Dependency: Coq 8.10

============================================

How to install.

Run "make" or "make -j7" for parallel in your command line. A CONFIGURE file
may be needed for setting up COQBIN.

============================================

Open Source.

This library is NOT open sourced for now.

logic's People

Contributors

qinxiangcao avatar ray010219 avatar ychtao avatar scuellar avatar hawnzug avatar neuromancer42 avatar

Stargazers

Zhang-Liao avatar  avatar Guannan Wei avatar Yuyan Bao avatar Yifan Xu avatar Zhongye Wang avatar xxchan avatar 幽夢 avatar

Watchers

 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.