- Aug 02, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Zhen Zhang authored
-
- Jul 27, 2016
-
-
Robbert Krebbers authored
This way type class inference is not invokved when used in tactics like iPvs while not having to write an @. (Idea suggested by Ralf.)
-
Robbert Krebbers authored
This way, it won't pick arbitrary (and possibly wrong!) inG instances when multiple ones are available. We achieve this by declaring: Hint Mode inG - - + So that type class inference only succeeds when the type of the ghost variable does not include any evars. This required me to make some minor changes throughout the whole development making some types explicit.
-
Robbert Krebbers authored
This reverts commit c43eb936. The hack using class_apply has some strange behaviors, see: https://sympa.inria.fr/sympa/arc/coq-club/2016-07/msg00094.html
-
- Jul 26, 2016
-
-
Robbert Krebbers authored
-
- Jul 19, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
We reify to a representation of expressions that includes an explicit constructor for closed terms. Substitution can then be implemented as the identify, which enables us to perform it using computation.
-
Ralf Jung authored
-
Ralf Jung authored
-
- Jul 18, 2016
-
-
Robbert Krebbers authored
-
- Jul 15, 2016
-
-
Robbert Krebbers authored
-
- Jul 13, 2016
-
-
Robbert Krebbers authored
The intropattern {H} also meant clear (both in ssreflect, and the logic part of the introduction pattern).
-
- Jul 04, 2016
-
-
Robbert Krebbers authored
-
- Jun 30, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
For example iIntros "{$H1 H2} H1" frames H1, clears H2, and introduces H1.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This fixes a bug in 916ff44a causing proof mode notations not being pretty printed.
-
Robbert Krebbers authored
Concretely, when execution of any of the wp_ tactics does not yield another wp, it will make sure that a view shift is kept. This behavior was already partially there, but now it is hopefully more consistent.
-
Robbert Krebbers authored
This tweak allows us to declare pvs as an instance of FromPure (it is not an instance of IntoPure), making some tactics (like iPureIntro and done) work with pvs too.
-
- Jun 23, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This is more natural, match should be used in user code, not case.
-
- Jun 20, 2016
-
-
Robbert Krebbers authored
Fun test case to play arround with abstract predicates.
-
- Jun 17, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Fixes issue #20.
-
- Jun 16, 2016
-
-
Robbert Krebbers authored
This introduces n hypotheses and destructs the nth one.
-
- Jun 08, 2016
-
-
Robbert Krebbers authored
-
- Jun 01, 2016
-
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
-
Robbert Krebbers authored
We used => before, which is strange, because it has another meaning in ssreflect.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- May 31, 2016
-
-
Robbert Krebbers authored
be the same as
↔️ . This is a fairly intrusive change, but at least makes notations more consistent, and often shorter because fewer parentheses are needed. Note that viewshifts already had the same precedence as →. -
Robbert Krebbers authored
It used to be: (P ={E}=> Q) := (True ⊢ (P → |={E}=> Q)) Now it is: (P ={E}=> Q) := (P ⊢ |={E}=> Q)
-
- May 30, 2016
-
-
Robbert Krebbers authored
-