- Jan 30, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This fixes issue #57. I considered supporting these introduction patterns also in a nested fashion -- for example allowing `iDestruct foo as [H1 [{H1} H1 /= H2|H2]` -- but that turned out to be quite difficult. Where should we allow `/=`, `{H}` and `{$H}` exactly. Clearly something like `>/=` makes no sense, unless we adopt to some kind of 'stack like' semantics for introduction patterns as in ssreflect. Alternatively, we could only allow these patterns in the branches of the destructing introduction pattern `[... | ... | ...]` but that brings other complications, e.g.: - What to do with `(H1 & /= & H3)`? - How to distinguish the introduction patterns `[H _]` and `[_ H]` for destructing a spatial conjunction? We cannot simply match on the shape of the introduction pattern anymore, because one could also write `[_ H /=]`.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
-
- Jan 29, 2017
-
-
Robbert Krebbers authored
-
- Jan 28, 2017
-
-
Ralf Jung authored
notation for declaring a function non-expansive See merge request !42
-
- Jan 27, 2017
-
-
Ralf Jung authored
-
- Jan 26, 2017
-
-
Robbert Krebbers authored
TODO: document the setup of the IntoWand and WandWeaken type classes and the tricks using Hint Mode.
-
Jacques-Henri Jourdan authored
-
- Jan 25, 2017
-
-
Robbert Krebbers authored
This fixes issue #65.
-
Robbert Krebbers authored
Also, give names to hypotheses that we refer to.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
-
Ralf Jung authored
Also add "Local" to some Default Proof Using to keep them more contained
-
Ralf Jung authored
-
- Jan 24, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This fixes issue #67.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
It now copies the hypothesis when: 1.) it is persistent 2.) when destructing it requires a universal quantifier to be instantiated. The new behavior is implemented using a type class (called CopyDestruct) so that it can easily be extended.
-
Robbert Krebbers authored
-
- Jan 23, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
-
- Jan 22, 2017
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-