Git Product home page Git Product logo

blaisorblade / dot-iris Goto Github PK

View Code? Open in Web Editor NEW
30.0 5.0 1.0 10.21 MB

Scala Step-by-Step: Soundness for DOT with Step-Indexed Logical Relations in Iris — Coq Formalization

Home Page: https://dot-iris.github.io

License: Other

Coq 8.51% Makefile 0.01% sed 0.01% Scala 0.24% Shell 0.04% HTML 91.04% Ruby 0.01% JavaScript 0.07% CSS 0.07%
coq type-theory coq-formalization dot-calculus soundness coq-formalizations paper

dot-iris's Introduction

Type Soundness for DOT via logical relations

Build Status Artifact DOI

Mechanization accompanying the paper Scala Step-by-Step: Soundness for DOT with Step-Indexed Logical Relations in Iris, published at ICFP 2020.

The mapping between the paper and this mechanization, together with the layout of the codebase, is described in correspondence.md. See below for how to process sources with coqdoc.

We have also provided an artifact, matching our v1.0 release. Its instructions are in 00Artifact-README.md.

Compiling the Proof the first time

Requirements

Cloning this repository

After the cloning, run

git submodule update --init --recursive

to fetch all git submodules.

Installing dependencies

The following commands will install the correct Coq version and the correct versions of the std++ and Iris libraries.

  • If opam is not configured, run its setup wizard with opam init.
  • Then, prepare for installation with:
eval $(opam env)
opam repo add coq-released https://coq.inria.fr/opam/released --set-default --all
opam repo add iris-dev https://gitlab.mpi-sws.org/iris/opam.git --set-default --all
opam update
  • If you use opam for other Coq projects, we recommend setting up a dedicated opam switch. Instructions appear in development.md.
  • Actually install dependencies with:
opam install --deps-only .

Compiling the actual proof

Run make -jN to build the full development, where N is the number of your CPU cores; that should take around 5-10 minutes.

Browsing published coqdoc

Start from here.

Running coqdoc

Run make html to run coqdoc over the code, to obtain an hyperlinked version (for ease of cross-referencing). html/toc.html offers an index for navigation; keep in mind that correspondence.md is a better overview.

Documentation for developers / additional docs (not relevant to paper)

See development.md.

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.