Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Iris
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Gaëtan Gilbert
Iris
Commits
ac15d042
Commit
ac15d042
authored
7 years ago
by
Robbert Krebbers
Browse files
Options
Downloads
Patches
Plain Diff
Some updates to the CHANGELOG.
parent
5fe1a501
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
CHANGELOG.md
+58
-38
58 additions, 38 deletions
CHANGELOG.md
with
58 additions
and
38 deletions
CHANGELOG.md
+
58
−
38
View file @
ac15d042
...
...
@@ -7,56 +7,76 @@ Coq development, but not every API-breaking change is listed. Changes marked
Changes in and extensions of the theory:
*
[#] CMRA morphisms have to be homomorphisms, not just monotone functions.
*
[#] Show that f has a fixed point if f^k is contractive.
*
Provide least and greatest fixed point (defined in the logic of Iris).
*
Prove the inverse of wp_bind.
*
[#] Camera morphisms have to be homomorphisms, not just monotone functions.
*
[#] A proof that
`f`
has a fixed point if
`f^k`
is contractive.
*
Constructions for least and greatest fixed points over monotone predicates
(defined in the logic of Iris using impredicative quantification).
*
A proof of the inverse of
`wp_bind`
.
Changes in Coq:
*
Some things got renamed and notation changed:
-
The unit of a camera: empty -> unit,
∅
->
ε
-
?:
IntoOp -> IsOp
-
OFEs with all elements being discrete: Discrete -> OfeDiscrete
-
OFE elements whose equality is discrete: Timeless -> Discrete
-
Timeless propositions: TimelessP -> Timeless
-
Camera elements such that
`core x = x`
: Persistent -> CoreId
-
Persistent propositions: PersistentP -> Persistent
-
The persistent modality: always -> persistently
-
The unit of a camera:
`
empty
`
->
`
unit
`
,
`∅`
->
`ε`
-
The proof mode type class
`
IntoOp
`
->
`
IsOp
`
-
OFEs with all elements being discrete:
`
Discrete
`
->
`
OfeDiscrete
`
-
OFE elements whose equality is discrete:
`
Timeless
`
->
`
Discrete
`
-
Timeless propositions:
`
TimelessP
`
->
`
Timeless
`
-
Camera elements such that
`core x = x`
:
`
Persistent
`
->
`
CoreId
`
-
Persistent propositions:
`
PersistentP
`
->
`
Persistent
`
-
The persistent modality:
`
always
`
->
`
persistently
`
-
Consistently SnakeCase identifiers:
+
CMRAMixin -> CmraMixin
+
CMRAT -> CmraT
,
+
CMRATotal -> CmraTotal
+
CMRAMorphism -> CmraMorphism
+
CMRADiscrete -> CmraDiscrete
+
UCMRAMixin -> UcmraMixin
+
UCMRAT -> UcmraT
+
DRAMixin -> DraMixin
+
DRAT -> DraT
+
STS -> Sts
+
`
CMRAMixin
`
->
`
CmraMixin
`
+
`
CMRAT
`
->
`
CmraT
`
+
`
CMRATotal
`
->
`
CmraTotal
`
+
`
CMRAMorphism
`
->
`
CmraMorphism
`
+
`
CMRADiscrete
`
->
`
CmraDiscrete
`
+
`
UCMRAMixin
`
->
`
UcmraMixin
`
+
`
UCMRAT
`
->
`
UcmraT
`
+
`
DRAMixin
`
->
`
DraMixin
`
+
`
DRAT
`
->
`
DraT
`
+
`
STS
`
->
`
Sts
`
-
Many lemmas also changed their name. A partial list:
+
always_and_sep_l -> and_sep_l
+
wand_impl_always -> impl_wand_persistently (additionally, the direction of
this equivalence got swapped)
+
always_wand_impl -> persistently_impl_wand (additionally, the direction of
this equivalence got swapped)
-
? more
The following sed snippet should get you most of the way:
+
`impl_wand`
->
`impl_wand_1`
(it only involves one direction of the
equivalent)
+
`always_impl_wand`
->
`impl_wand`
+
`always_and_sep_l`
->
`and_sep_l`
+
`always_and_sep_r`
->
`and_sep_r`
+
`always_sep_dup`
->
`sep_dup`
+
`wand_impl_always`
->
`impl_wand_persistently`
(additionally,
the direction of this equivalence got swapped for consistency's sake)
+
`always_wand_impl`
->
`persistently_impl_wand`
(additionally, the
direction of this equivalence got swapped for consistency's sake)
The following
`sed`
snippet should get you most of the way:
```
sed 's/\bPersistentP\b/Persistent/g; s/\bTimelessP\b/Timeless/g; s/\bCMRADiscrete\b/CmraDiscrete/g; s/\bSTS\b/Sts/g' -i $(find -name "*.v")
```
*
Fix a bunch of consistency issues in the proof mode, and make it overall more
usable. In particular:
-
All proof mode tactics start the proof mode if necessary; iStartProof is no
longer needed.
-
Change in the grammar of specialization patterns: >[...] -> [> ...]
-
? More stuff ?
*
Redefine bigops to get more definitional equalities.
*
Improve solve_ndisj.
-
All proof mode tactics start the proof mode if necessary;
`iStartProof`
is
no longer needed and should only be used for building custom proof mode
tactics.
-
Change in the grammar of specialization patterns:
`>[...]`
->
`[> ...]`
-
Various new specification patterns for
`done`
and framing.
-
There is common machinery for symbolic execution of pure reductions. This
is provided by the type classes
`PureExec`
and
`IntoVal`
.
-
There is a new connective
`tc_opaque`
, which can be used to make definitions
opaque for type classes, and thus opaque for most tactics of the proof
mode.
-
Many missing type class instances for distributing connectives have been
defined.
*
The generic
`fill`
operation of the
`ectxi_language`
construct has been
defined in terms of a left fold instead of a right fold. This gives rise to
more definitional equalities.
*
The big operators have been improved:
+
They are no longer tied to cameras, but work on any monoid
+
The version of big operations over lists was redefined so that it enjoy more
definitional equalities.
*
Various improvements to
`solve_ndisj`
.
*
Improve handling of pure (non-state-dependent) reductions in heap_lang.
*
Use Hint Mode to prevent Coq from making arbitrary guesses in the presence of
evars. There are a few places where type annotations are now needed.
*
The prelude folder has been moved to its own project: std++
*
Use
`Hint Mode`
to prevent Coq from making arbitrary guesses in the presence
of evars, which often led to divergence. There are a few places where type
annotations are now needed.
*
The
`prelude`
folder has been moved to its own project: std++
## Iris 3.0.0 (released 2017-01-11)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment