{"id":18489239,"url":"https://github.com/floriancassayre/master-project","last_synced_at":"2025-05-13T22:32:48.786Z","repository":{"id":37784653,"uuid":"461816298","full_name":"FlorianCassayre/master-project","owner":"FlorianCassayre","description":"Master Thesis Project at LARA (EPFL)","archived":false,"fork":false,"pushed_at":"2022-08-09T07:23:35.000Z","size":963,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-06T20:18:47.016Z","etag":null,"topics":["epfl","formal-methods","lisa","proof-assistant","proof-system","sequent-calculus","set-theory"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlorianCassayre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-21T10:45:24.000Z","updated_at":"2025-02-26T14:01:44.000Z","dependencies_parsed_at":"2022-08-09T09:15:39.443Z","dependency_job_id":null,"html_url":"https://github.com/FlorianCassayre/master-project","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianCassayre%2Fmaster-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianCassayre%2Fmaster-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianCassayre%2Fmaster-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianCassayre%2Fmaster-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlorianCassayre","download_url":"https://codeload.github.com/FlorianCassayre/master-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036821,"owners_count":22003659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["epfl","formal-methods","lisa","proof-assistant","proof-system","sequent-calculus","set-theory"],"created_at":"2024-11-06T12:55:58.572Z","updated_at":"2025-05-13T22:32:48.628Z","avatar_url":"https://github.com/FlorianCassayre.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Florian Cassayre's Master Project\n\n![CI](https://img.shields.io/github/workflow/status/FlorianCassayre/master-project/CI)\n![Version](https://img.shields.io/github/v/release/FlorianCassayre/master-project)\n![Last commit](https://img.shields.io/github/last-commit/FlorianCassayre/master-project)\n![License](https://img.shields.io/github/license/FlorianCassayre/master-project)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6645113.svg)](https://doi.org/10.5281/zenodo.6645113)\n\nThis repository hosts the work related to my Master Project (PDM) at [LARA](https://lara.epfl.ch/w/).\nThis includes source code, writeup and any other significant resource related to the project.\n\nProject title: ***A front-end for the LISA proof assistant***\n\nDates: **21.02.2022** to **24.06.2022**\n\nContent:\nIn this project I will be working on a proof assistant ([LISA](https://github.com/epfl-lara/lisa)),\nin particular I will be designing a higher-level interface to represent and write proofs.\n\n## Installation as a library\n\nThe repository can be used as a sbt dependency.\nSince LISA is not yet published, _you_ are responsible for including LISA in your project as a dependency.\n\nDetails on how to do so are described below.\n\n\u003cdetails\u003e\n  \u003csummary\u003eInstalling LISA\u003c/summary\u003e\n\nThere are two main possibilities for installing LISA.\nIn either case, it's very important that the version of LISA matches the one used by this project,\notherwise you might encounter incompatibilities.\n\nAssuming you are in your project's directory and `$COMMIT` is the hash of the desired commit in LISA:\n\n* **sbt managed dependency** (easiest):\n  * Add the following in your `build.sbt` (or adapt your existing configuration):\n    ```sbt\n    lazy val lisa = ProjectRef(uri(\"https://github.com/epfl-lara/lisa.git#$COMMIT\"), \"lisa\")\n    \n    lazy val root = (project in file(\".\")).dependsOn(lisa)\n    ```\n* **git repository or submodule** (if you need to develop on LISA at the same time):\n  * If your project **is already** a git repository, then you can add LISA as a submodule:\n    ```\n    git submodule add git@github.com:epfl-lara/lisa.git lisa\n    cd lisa\n    git checkout $COMMIT\n    cd ..\n    git commit\n    ```\n  * If your project **is not** a git repository, then you can clone it locally:\n    ```\n    git clone git@github.com:epfl-lara/lisa.git\n    cd lisa\n    git checkout $COMMIT\n    cd ..\n    ```\n\nThe table below indicates the version compatibility (= value of `$COMMIT`):\n\n| `master-project` |                   `lisa`                   |\n|:----------------:|:------------------------------------------:|\n|     `1.0.0`      | `3ae1c204df54e780ab7565070575b421b119f684` |\n|     `0.2.0`      | `eacb9c06aa2975b9ae2bc993847c597eb3c54995` | \n|     `0.1.0`      | `eacb9c06aa2975b9ae2bc993847c597eb3c54995` |\n\n\u003c/details\u003e\n\nThen, add these two lines to your `build.sbt`:\n```sbt\nresolvers += \"Florian Cassayre\" at \"https://maven.cassayre.me\"\n\nlibraryDependencies += \"me.cassayre.florian\" %% \"master-project\" % \"0.2.0\"\n```\n\nOr alternatively, if you would like to include it from the sources:\n\n```sbt\nlazy val lisa = ???\nlazy val masterproject = ProjectRef(uri(\"https://github.com/FlorianCassayre/master-project.git#$COMMIT\"), \"lisa\")\n\nlazy val root = (project in file(\".\")).dependsOn(lisa, masterproject)\n```\n\n(replace `$COMMIT` by the commit hash)\n\n## Structure\n\n* [Source code](src/main/scala/me/cassayre/florian/masterproject)\n  * [`front`](src/main/scala/me/cassayre/florian/masterproject/front): the implementation of the front\n  * [`util`](src/main/scala/me/cassayre/florian/masterproject/util): some utilities for LISA\n  * [`legacy`](src/main/scala/me/cassayre/florian/masterproject/legacy): old proof-of-concept implementations that are kept for reference\n  * [`test`](src/main/scala/me/cassayre/florian/masterproject/test): main methods that serve as examples or test files\n* [Weekly notes](resources/notes/weekly) relating the work done stating the future objectives\n* [Documentation](resources/notes/documentation) about the various components\n* [Thesis](thesis) the deliverables other than the code itself\n\n## Development\n\nClone the repository:\n```\ngit clone git@github.com:FlorianCassayre/master-project.git --recurse-submodules --remote-submodule\n```\n\n(or run `git submodule update --init --recursive` if you have already cloned the repository without initializing the submodules).\n\nThe relevant commands are:\n\n* `sbt console` to start a REPL session\n* `sbt test` to run the tests\n* `sbt publish` to generate the artifacts under `releases/`\n\n\u003cdetails\u003e\n  \u003csummary\u003eUpdating LISA\u003c/summary\u003e\n\n  The git submodule depends on a specific commit, thus when LISA is updated _and_ we would like\n  to benefit from the changes, we should execute the following commands:\n\n  ```bash\n  cd lisa\n  git pull origin main\n  cd ..\n  git add lisa\n  git commit lisa\n  ```\n\n  (make sure to rebuild the entire project after this operation, to avoid potential issues with incremental compilation)\n\n\u003c/details\u003e\n\n## Licensing\n\nThis project is licensed under the _MIT License_.\n\nLISA is licensed under the _Apache License 2.0_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloriancassayre%2Fmaster-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloriancassayre%2Fmaster-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloriancassayre%2Fmaster-project/lists"}