Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example for inductive definitions: reflexive transitive closure #123

Closed
wants to merge 3 commits into from

Conversation

vkuncak
Copy link
Contributor

@vkuncak vkuncak commented Jan 18, 2025

No description provided.

vkuncak and others added 3 commits January 18, 2025 16:10
…116)

* add sbt project with plugin

* move regex to an sbt project

* original version

* working on the memoisation

* not working

* add longMap + work on cache

* for now issue with illegal capturing

* to specific, not working but almost

* working on memoised regex

* working

* cached version proven

* working examples

* new hashmap without ordering

* add new lemmas in ListMaps for forall

* Formally verified cache for regex

* add removeUselessConcat simplification for regex + equivalence proof

* add a simplification function that is sound

* working on regex

* as symlink

* ensuring as method and not infix

* implementation of Zippers (with List for Set, I'm changing to Set to try)

* continue working on zippers
implementation seems done, now working on the proof

* working on zipper

* remove chassot pacakge, obsolete

* finalise merge

* add hashset symlink

* add a few imports

* start to migrate to sets

* continue replacing list by set

* Move to Stainless Set, passing tests

* working on zippers

* working

* remove useless imports

* work on zippers

* add some lemmas about flatmap

* add getwitness for sets

* working on zppier

* working

* change to ghost

* change Context to be a class with invariant to emulate refinement types

* Prove that the derivation of zippers is associative

* working on zipper proof

* proving stuff

* proving equivalence of base cases

* add generalisations of union and concat to base regex

* work on regex

* revert the generalised regex

* add generalised union and concat as method

* matchRGenUnionSpec and matchRGenConcatSpec

* working on zipper proof

* working on Zipper theorem

* working on zipper proof

* working on big proof direct induction - not working for star

* working on zipper proof

* working on the zipper proof

* working on zipper

* proved lemmaConcatZipperMatchesStringThenFindConcatDefined

* working on zipper proof, almost done

* working on zipper proof, almost done

* done proving ZIPERRR :D

* clean up

* Add main regex matching function to use zipper, rename theorem

* add benchmark + memoisation as extern for flatmap

* add verification for memoisation

* add benchmarks and some results

* update CI

* debug ci

* debug ci

* debug

* ci

* add memoised matching using Zipper to regex

* benchmark + typo

* rename for future benchmark analysis

* benchmark data

* remove one main test

* new benchmark

* typo

* fix the ci

---------

Co-authored-by: Samuel Chassot <[email protected]>
@vkuncak vkuncak closed this Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants