You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
separation logic automation. perhaps read the first bedrock paper, and ignore the higher order stuff about code pointers http://adam.chlipala.net/papers/BedrockPLDI11/BedrockPLDI11.pdf chapter 2. SeparationLogic.ecancel is the bedrock2 script to perform cancellation.
coq tactic lia, ring documentation
reading coq type errors (reification by parametricity repo might have a thing on this?)
in particular, try to match up the spec_of_* definitions with WeakestPrecondition.call and try to think through in your head what the precondition ends up being
follow along with the bedrock paper, single-step straightline instead of using repeat
how to actually prove interesting things about your program. this requires a clear plan and direction, and good understanding of coq to evaluate different choices of stating "the same" thing
how to understand very generic dependently typed lemmas like `tailrec, copy-pasting their usages is hopefully fine though
The text was updated successfully, but these errors were encountered:
All links are broken, since they were not pinning a specific commit (instead master).
One usually starts with the target audience and use cases, before going into the "how do I do stuff".
From my point of view there should be an estimation of additional effort vs gain and scalability and some reasoning how this differs to (I guess https://sel4.systems/ is current state of art?).
For example, currently it reads like there are only result semantics taken into consideration but not temporal properties and their combination (usually abstractly modeled with TLA+ because LTL and CTL do compose very poorly).
so I've been asked for this several times now. Here are some thoughts of what we should do.
References to non-bedrock2-specific background resources
*
andemp
, no fancy things like magic wand).SeparationLogic.ecancel
is the bedrock2 script to perform cancellation.lia
,ring
documentationCommon infrastructure in bedrock2 (just skim)
bedrock2 semantics (read enough to understand structure)
expr_body
, its callees, andcmd_body
spec_of_
* definitions withWeakestPrecondition.call
and try to think through in your head what the precondition ends up beingstraightline
instead of usingrepeat
refine
statement is not bedrock2-specific)Things that we don't really know how to teach
The text was updated successfully, but these errors were encountered: