-
Notifications
You must be signed in to change notification settings - Fork 4
Use Iris cmra & Iris style upred #78
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
base: tlogic
Are you sure you want to change the base?
Changes from 16 commits
67621f8
a016bfa
1175abf
88ae1eb
b150197
4c3b899
e18450b
6c97b0e
f7ada2d
2bb5294
9c27a27
7039833
c24cf7a
ab89d0a
8b4875d
6a77212
86c5dbe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,137 @@ | ||||||
| # Refactor Iris | ||||||
|
|
||||||
| - The goal of this document is to dump the basic definitions of Iris CMRAs and own that used after the refactoring by Janggun Lee. | ||||||
| - It is meant to be read by someone that understand the "old" RA.t and URA.t definitions. | ||||||
| - For a more comprehensive introduction, read the "Iris from the ground up" paper or | ||||||
| [the Coq implementation](https://gitlab.mpi-sws.org/iris/iris). | ||||||
| - The content was written at 2024-08-20, based on Iris 4.2.0. | ||||||
|
|
||||||
| ## Why the refactoring? | ||||||
|
|
||||||
| - I was bored. | ||||||
| - Jokes aside, the main reason is (1) strictly reusing Iris constructions to reduce | ||||||
| proof burden (2) not re-doing logic level Iris proofs (3) making Lilo work well | ||||||
| with IPM. | ||||||
| - For 1, I don't mean high-level resue like "we take ideas from Iris's auth cmra", | ||||||
| but literally being able to import `iris.algebra` at the coq level and use it, without having to define a single line of additional cmra metathory in Coq. | ||||||
| - For example, proper usage of auth cmra (and advanced variants) requires the | ||||||
| concept of "local-updates", which is not present in the current general form of Lilo. | ||||||
| - I needed such advanded variant of auth for proofs of stacks, and had to copy and | ||||||
| paste the entierty of `iris/algebra` source code and hand-remove the parts | ||||||
|
||||||
| paste the entierty of `iris/algebra` source code and hand-remove the parts | |
| paste the entirety of `iris/algebra` source code and hand-remove the parts |
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both 'associativitve' and 'commutativive' appear to be typos; consider changing them to 'associative' and 'commutative'.
| - ⋅ is associativitve and commutativive. | |
| - ⋅ is associative and commutative. |
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The word 'decresing' should be corrected to 'decreasing'.
| - WF is monotonically decresing w.r.t (⋅). I.e, WF (a ⋅ b) → WF a. | |
| - WF is monotonically decreasing w.r.t (⋅). I.e, WF (a ⋅ b) → WF a. |
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, 'decresing' should be corrected to 'decreasing'.
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term 'constuctor' is misspelled; please update it to 'constructor'.
| - The OwnM r constuctor allows for one to own the cmra element r without worrying about putting it in the global RA. | |
| - The OwnM r constructor allows for one to own the cmra element r without worrying about putting it in the global RA. |
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The word 'structore' should be corrected to 'structure'.
| - Dependency structore of temporal logic and fairness ghost is weird. Ideally, the temporal logic should only depend on the existance of iprop (and maybe invariant), without the fairness ghosts. | |
| - Dependency structure of temporal logic and fairness ghost is weird. Ideally, the temporal logic should only depend on the existance of iprop (and maybe invariant), without the fairness ghosts. |
Copilot
AI
Apr 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The word 'simpily' is a typo; consider changing it to 'simplify'.
| defined inside the logic, to simpily the adequacy proofs and have a | |
| defined inside the logic, to simplify the adequacy proofs and have a |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,7 @@ | ||
| #!/bin/bash | ||
| opam repo add coq-released https://coq.inria.fr/opam/released | ||
| opam remote add coq-sf -k git --rank=1 https://github.com/snu-sf/sf-opam-coq-archive | ||
| opam install coq-paco.4.1.2 coq-sflib coq-promising-lib coq-ext-lib.dev coq-itree.4.0.0 coq-ordinal.dev coq-stdpp.1.8.0 coq-iris.4.0.0 coq-promising-lib.dev coq-promising-seq.dev | ||
| opam pin add -n -y coq-ext-lib -k git https://github.com/Lee-Janggun/coq-ext-lib.git#poly | ||
| opam pin add -n -y coq-itree -k git https://github.com/Lee-Janggun/InteractionTrees.git | ||
| opam pin add -n -y coq-promising-seq -k git https://github.com/Lee-Janggun/promising-seq-coq.git | ||
| opam install coq-paco.dev coq-sflib coq-ext-lib.dev coq-itree.dev coq-ordinal.dev coq-iris.4.2.0 coq-promising-lib.dev coq-promising-seq.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The word 'advanded' appears to be a typo; it should be 'advanced'.