Use Iris cmra & Iris style upred#78
Conversation
e60ac40 to
172f188
Compare
|
커밋을 3개로 정리했습니다. |
dcc2eb3 to
dcdbce6
Compare
2fbc78e to
2e43589
Compare
0c8907b to
f5a138b
Compare
|
일단 제가 하고 싶은 리팩토링 중 혼자서 할만한건 다 했습니다. 이 이상은 metatheory를 갈아엎는 거라서 혼자선 하기가 좀 어렵네요. |
* Note: fos_ticketlock doesn't work on this commit.
* Restore fos_ticketlock. * Also cleanup some impls.
* Requires custom coq-ext-lib, coq-itree, and coq-promising-seq
b5399d2 to
8b4875d
Compare
There was a problem hiding this comment.
Copilot reviewed 147 out of 166 changed files in this pull request and generated 8 comments.
Files not reviewed (19)
- Makefile: Language not supported
- configure: Language not supported
- src/bi/lib/ghost_excl.v: Language not supported
- src/bi/lib/ghost_map.v: Language not supported
- src/bi/lib/ghost_var.v: Language not supported
- src/example/AuthExclAnysRA.v: Language not supported
- src/example/AuthExclsRA.v: Language not supported
- src/example/Client01.v: Language not supported
- src/example/Client01Adeq.v: Language not supported
- src/example/Client04.v: Language not supported
- src/example/Client04Adeq.v: Language not supported
- src/example/Client05.v: Language not supported
- src/example/Client05Adeq.v: Language not supported
- src/example/ClientSpinlock2.v: Language not supported
- src/example/ClientSpinlock2Adeq.v: Language not supported
- src/example/DoubleIncr.v: Language not supported
- src/example/DoubleIncrTicket.v: Language not supported
- src/example/ExclsRA.v: Language not supported
- src/example/LifetimeRA.v: Language not supported
Comments suppressed due to low confidence (1)
Refactor-Iris.md:3
- [nitpick] The phrase 'own that used' is unclear; consider revising it (for example, to 'and the ownership model used') for clarity.
+- The goal of this document is to dump the basic definitions of Iris CMRAs and own that used after the refactoring by Janggun Lee.
| 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 |
There was a problem hiding this comment.
The word 'advanded' appears to be a typo; it should be 'advanced'.
| - I needed such advanded variant of auth for proofs of stacks, and had to copy and | |
| - I needed such advanced variant of auth for proofs of stacks, and had to copy and |
| - 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 |
There was a problem hiding this comment.
The word 'entierty' is likely a misspelling of 'entirety'.
| 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 |
| ## cmra | ||
|
|
||
| - In Lilo, RA.t is a type that with on binary operation (⋅) and unary wellformedness WF, such that | ||
| - ⋅ is associativitve and commutativive. |
There was a problem hiding this comment.
Both 'associativitve' and 'commutativive' appear to be typos; consider changing them to 'associative' and 'commutative'.
| - ⋅ is associativitve and commutativive. | |
| - ⋅ is associative and commutative. |
|
|
||
| - In Lilo, RA.t is a type that with on binary operation (⋅) and unary wellformedness WF, such that | ||
| - ⋅ is associativitve and commutativive. | ||
| - WF is monotonically decresing w.r.t (⋅). I.e, WF (a ⋅ b) → WF a. |
There was a problem hiding this comment.
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. |
| - WF is monotonically decresing w.r.t (⋅). I.e, WF (a ⋅ b) → WF a. | ||
| - CMRAs are OFE with a binary operation ⋅, unary validity ✓, unary **n-validity** ✓{n}, and a partical function **pcore** such that | ||
| - ⋅ is associative and commutative. | ||
| - ✓, ✓{n} is monotonically decresing w.r.t (⋅). |
There was a problem hiding this comment.
Again, 'decresing' should be corrected to 'decreasing'.
| - The OwnM r constuctor allows for one to own the cmra element r without worrying about putting it in the global RA. | ||
|
|
There was a problem hiding this comment.
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. |
|
|
||
| - Look over the individual RA implementations, and see if we can simplify them. | ||
| - Clear up duplicate "ListIProp" usages. This should really all be big_sepL or big_sepM. | ||
| - 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. |
There was a problem hiding this comment.
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. |
| - Clear up duplicate "ListIProp" usages. This should really all be big_sepL or big_sepM. | ||
| - 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. | ||
| - In the long term, it will be nice if the simulation relation can be | ||
| defined inside the logic, to simpily the adequacy proofs and have a |
There was a problem hiding this comment.
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 |
6dc645f to
86c5dbe
Compare
근데 이러니까 신기하게 원래 iFrame이 잘 되던게 안되고 반대도 좀 있는거 같네요;; 이건 typeclass inference 을 보면서 디버깅 해야 되서 되게 해결이 좀 귀찮을꺼 같습니다.