Generalize update tactics into iMod and iModIntro for modalities.
There are now two proof mode tactics for dealing with modalities: - `iModIntro` : introduction of a modality - `iMod pm_trm as (x1 ... xn) "ipat"` : eliminate a modality The behavior of these tactics can be controlled by instances of the `IntroModal` and `ElimModal` type class. We have declared instances for later, except 0, basic updates and fancy updates. The tactic `iMod` is flexible enough that it can also eliminate an updates around a weakest pre, and so forth. The corresponding introduction patterns of these tactics are `!>` and `>`. These tactics replace the tactics `iUpdIntro`, `iUpd` and `iTimeless`. Source of backwards incompatability: the introduction pattern `!>` is used for introduction of arbitrary modalities. It used to introduce laters by stripping of a later of each hypotheses.
Showing
- program_logic/thread_local.v 5 additions, 5 deletionsprogram_logic/thread_local.v
- program_logic/viewshifts.v 2 additions, 2 deletionsprogram_logic/viewshifts.v
- program_logic/weakestpre.v 30 additions, 30 deletionsprogram_logic/weakestpre.v
- program_logic/wsat.v 9 additions, 9 deletionsprogram_logic/wsat.v
- proofmode/class_instances.v 23 additions, 14 deletionsproofmode/class_instances.v
- proofmode/classes.v 9 additions, 12 deletionsproofmode/classes.v
- proofmode/coq_tactics.v 9 additions, 20 deletionsproofmode/coq_tactics.v
- proofmode/intro_patterns.v 12 additions, 27 deletionsproofmode/intro_patterns.v
- proofmode/spec_patterns.v 9 additions, 9 deletionsproofmode/spec_patterns.v
- proofmode/tactics.v 44 additions, 56 deletionsproofmode/tactics.v
- tests/atomic.v 13 additions, 13 deletionstests/atomic.v
- tests/barrier_client.v 1 addition, 1 deletiontests/barrier_client.v
- tests/counter.v 12 additions, 12 deletionstests/counter.v
- tests/joining_existentials.v 3 additions, 3 deletionstests/joining_existentials.v
- tests/one_shot.v 10 additions, 10 deletionstests/one_shot.v
- tests/proofmode.v 1 addition, 1 deletiontests/proofmode.v
Loading
Please register or sign in to comment