https://github.com/catalalang/catala-formalization

https://github.com/catalalang/catala-formalization

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: CatalaLang
  • Language: Coq
  • Default Branch: main
  • Size: 1.4 MB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created almost 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Artifact for "Scaling Up Mechanized Proof Automation for Small-step Semantics"

This is the companion artifact to the paper "Scaling Up Mechanized Proof Automation for Small-step Semantics".

This artifact contains the Rocq code described in the paper.

Detailed File Description

The file CLAIMS.md links statements made in the paper with this artifact.

The file sequences.v is adapted from previous work by François Pottier, which was based on work by Xavier Leroy, with a few additions by the authors of this artifact.

| File Name | Spec | Proof | Comments | Description | |------------------------------------|----------|-----------|--------------|-------------| | common.v | 48 | 70 | 3 | Contains common definitions and utilities used across multiple modules. | | tactics.v | 224 | 3 | 69 | Contains custom tactics for automated proof strategies in Rcoq. | | sequences.v | 242 | 220 | 25 | Defines operations and properties of sequences of reduction (star, plus and related lemmas). | | miniml/miniml.v | 650 | 763 | 70 | Defines syntax and proofs for mini-ML. | | miniml/miniml_ifthenelse.v | 393 | 137 | 40 | Defines syntax and proofs for mini-ML + if-then-else. | | catala/syntax.v | 521 | 250 | 9 | Defines the syntax of the fragment of $\lambda^\delta$ we are dealing with. | | catala/small_step.v | 315 | 122 | 11 | Describes the traditional small-step semantics of the language. | | catala/continuations.v | 452 | 181 | 35 | Describes the continuation-based small-step semantics of the language. | | catala/typing.v | 394 | 90 | 35 | Provides the typing rules and their verification for the language. | | catala/simulation_cred_to_sred.v | 213 | 219 | 15 | Provides a simulation proof from continuation steps to small steps semantic. | | catala/simulation_sred_to_cred.v | 606 | 609 | 45 | Provides a simulation proof from small steps to continuation steps semantic. | | catala/trans.v | 203 | 182 | 26 | Handles the transformation that removes default terms from $\lambda^\delta$ intermediate languages. | | Total | 4261 | 2846 | 383 | |

This table was computed using the coqwc utility

Hardware Dependencies

Minimal dependencies are required. The entire proof builds in 1 minute on a recent laptop.

Building and Installation

To start developing, you first need to install opam using your package manager. According to [https://opam.ocaml.org/doc/Install.html], you can run the following commands:

bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"
opam init

Then, you can execute the following commands to install the artifact dependencies (including Rocq):

opam switch create rocq-catala 4.14.0
opam repo add coq-released https://coq.inria.fr/opam/released
eval $(opam env --switch=rocq-catala --set-switch)
opam repository add rocq-released --all-switches
opam install . --deps-only

Step-by-Step Instructions

Once you have installed the dependencies, you can use Dune to build the Rcoq development:

dune build

Then, start your favorite interactive proof interface for Rcoq.

Owner

  • Name: CatalaLang
  • Login: CatalaLang
  • Kind: organization

GitHub Events

Total
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 87
  • Pull request event: 10
  • Create event: 13
Last Year
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 87
  • Pull request event: 10
  • Create event: 13

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 25
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.96
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.92
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • adelaett (1)
Pull Request Authors
  • adelaett (32)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/ci-8-13.yml actions
  • actions/checkout v3 composite
  • cachix/install-nix-action v18 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • cachix/install-nix-action v18 composite
.github/workflows/update.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v3 composite
  • actions/github-script v6 composite
  • cachix/install-nix-action v18 composite
movies/requirements.txt pypi
  • alectryon >=1.4.0