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

add MonadTypedStore #105

Merged
merged 82 commits into from
Jul 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
c6af4e5
add MonadTypedStore
garrigue Jan 27, 2023
acea7fe
add axioms for new and get
garrigue Jan 27, 2023
4b12c3f
sync with impredicative_set
affeldt-aist Jan 27, 2023
7334c27
add cnew and cchk laws
garrigue Jan 28, 2023
9db04d1
more laws
garrigue Jan 28, 2023
edde048
add crun and example_typed_store.v (fact_ref)
garrigue Jan 30, 2023
1a23435
add fibonacci example with two refs
garrigue Jan 30, 2023
183f368
adjust laws and finish proofs
garrigue Jan 30, 2023
c3725c8
test: cnew_get_def
affeldt-aist Jan 30, 2023
7163057
build model using Unset Universe Checking
garrigue Jan 30, 2023
67afd95
move recursive TypedStoreModel to typed_store_model.v and replace it …
garrigue Jan 31, 2023
1049c4a
make definition closer to expected
garrigue Jan 31, 2023
17e836f
remove hint incompatible disabling universe checking
garrigue Feb 1, 2023
3d4ad81
use specialized version of funext
garrigue Feb 1, 2023
2e71b3d
add cchknew to infer reference inequalities
garrigue Feb 1, 2023
bc89acd
compress
garrigue Feb 1, 2023
035a394
add cchknew again...
garrigue Feb 1, 2023
4c2f68b
small improvements
garrigue Feb 3, 2023
d0eabbb
use eq_bind in example
garrigue Feb 8, 2023
7942e13
make loc abstract
garrigue Feb 8, 2023
65d9c2c
make cchk a derived operation
garrigue Feb 9, 2023
af3ca62
wip : for loop example
garrigue Feb 10, 2023
b686852
prove fact_for_ok
garrigue Feb 10, 2023
844eff0
prove equations for forloop
garrigue Feb 10, 2023
fb5df79
simplify and update impredicative_set
garrigue Feb 10, 2023
8d91c9b
change definition forloop63
garrigue Feb 22, 2023
4b2a928
prove 63-bit version (with many admits)
garrigue Feb 24, 2023
efd60c4
use forloop630
garrigue Feb 24, 2023
e398a03
use conversion names from refproof
garrigue Feb 25, 2023
376a3b0
reorder script for clarity
garrigue Feb 25, 2023
0e04c6f
fix 63-bit proof
garrigue Mar 6, 2023
a91b865
down to one admit
garrigue Mar 7, 2023
079ce44
finish proof of uint2N_sub_succ
garrigue Mar 7, 2023
9beb5e4
extract lemmas
garrigue Mar 7, 2023
4a290fd
separate int63-related lemmas
garrigue Mar 8, 2023
0817a4f
factorize
garrigue Mar 8, 2023
9cd54ec
HB.pack test
affeldt-aist May 23, 2023
7339390
fix
affeldt-aist May 23, 2023
e8f1633
wip
garrigue May 23, 2023
45f5e59
faster actm_bind
t6s May 23, 2023
e4df44b
try exception
garrigue May 23, 2023
9600b39
shorten join'_naturality
t6s May 23, 2023
d55e539
simplify typed_store_model
garrigue May 23, 2023
acb8c22
turn option_monad into an alias
affeldt-aist May 23, 2023
a1ef81f
wip
affeldt-aist May 24, 2023
22b9a70
fix
affeldt-aist May 24, 2023
df5fe68
wip
affeldt-aist May 24, 2023
24c9096
wip
affeldt-aist May 24, 2023
9cf240a
wip
affeldt-aist May 24, 2023
2ea483e
wip
affeldt-aist May 24, 2023
d566907
wip
affeldt-aist May 24, 2023
5a825c0
shorten cnewput
t6s May 24, 2023
cde55dc
wip
affeldt-aist May 24, 2023
3716922
mv
affeldt-aist May 24, 2023
6e26977
cputput
affeldt-aist May 24, 2023
eb7fad0
cgetC
affeldt-aist May 25, 2023
f38ce64
introduce spec lemmas for nth_error
affeldt-aist May 25, 2023
522cbe9
cnewgetD
affeldt-aist May 25, 2023
08160fd
generalize bind_cnew' so that bind_cnew is not useful anymore
affeldt-aist May 25, 2023
d0a6c9a
implicits
affeldt-aist May 25, 2023
85d5b0b
more implicit
affeldt-aist May 25, 2023
992569b
simplify bind_cnew
garrigue May 25, 2023
556d4bc
add axioms allowing cycles in store, and example with cycle
garrigue Jun 23, 2023
cc16f23
dbindA -> ret_uncurry?
affeldt-aist Jun 27, 2023
e94438d
check instance of typed_store_model
garrigue Jun 27, 2023
5be4413
typo
garrigue Jun 27, 2023
263fecf
bindA_uncurry
affeldt-aist Jun 27, 2023
f3e9f14
build actual model in example_typed_store
garrigue Jun 27, 2023
a4a1cfe
can define outside typed_store_model, but HB.instance still fails
garrigue Jun 27, 2023
d92b5df
cgetnewE
affeldt-aist Jun 27, 2023
536b108
check examples with both models
garrigue Jun 30, 2023
96fb1a7
rename MLtypes in a more coherent way
garrigue Jul 7, 2023
c3c900f
make loc contents abstract in hierarchy.v
garrigue Jul 14, 2023
81f9c77
cgetputC (wip) + wip (#109)
affeldt-aist Jul 14, 2023
f913819
Typed store monad wip (#111)
affeldt-aist Jul 24, 2023
5fd0198
fix
affeldt-aist Jul 24, 2023
cdda5da
doc
affeldt-aist Jul 25, 2023
848dbeb
shared ml_type_eq_mixin
garrigue Jul 25, 2023
393ab5e
rm do notation
affeldt-aist Jul 25, 2023
5662802
nitpick
affeldt-aist Jul 25, 2023
2aa98a9
nitpick
affeldt-aist Jul 25, 2023
a2cd43e
improve notations and
t6s Jul 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/docker-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ jobs:
strategy:
matrix:
image:
- 'mathcomp/mathcomp:1.16.0-coq-8.16'
- 'mathcomp/mathcomp:1.16.0-coq-8.17'
- 'mathcomp/mathcomp:1.17.0-coq-8.16'
- 'mathcomp/mathcomp:1.17.0-coq-8.17'
fail-fast: false
steps:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ in several examples of monadic equational reasoning.
- Celestine Sauvage
- Kazunari Tanaka
- License: [LGPL-2.1-or-later](LICENSE)
- Compatible Coq versions: Coq 8.17
- Compatible Coq versions: Coq 8.16-8.17
- Additional dependencies:
- [MathComp ssreflect](https://math-comp.github.io)
- [MathComp fingroup](https://math-comp.github.io)
Expand Down
3 changes: 3 additions & 0 deletions _CoqProject
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,22 @@ state_lib.v
array_lib.v
trace_lib.v
proba_lib.v
typed_store_lib.v
monad_composition.v
monad_model.v
proba_monad_model.v
category.v
gcm_model.v
altprob_model.v
monad_transformer.v
typed_store_model.v
example_spark.v
example_nqueens.v
example_relabeling.v
example_quicksort.v
example_iquicksort.v
example_monty.v
example_typed_store.v
smallstep.v
example_transformer.v
category_ext.v
Expand Down
4 changes: 2 additions & 2 deletions coq-monae.opam
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ description: """
This Coq library contains a hierarchy of monads with their laws used
in several examples of monadic equational reasoning."""

build: [make "-j%{jobs}%" ]
build: [make "-j%{jobs}%"]
install: [make "install_full"]
depends: [
"coq" { (>= "8.17" & < "8.18~") | (= "dev") }
"coq" { (>= "8.16" & < "8.18~") | (= "dev") }
"coq-mathcomp-ssreflect" { (>= "1.16.0" & < "1.18~") | (= "dev") }
"coq-mathcomp-fingroup" { (>= "1.16.0" & < "1.18~") | (= "dev") }
"coq-mathcomp-algebra" { (>= "1.16.0" & < "1.18~") | (= "dev") }
Expand Down
Loading
Loading