- 07 Mar, 2016 1 commit
-
-
Ralf Jung authored
-
- 05 Mar, 2016 4 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-
- 04 Mar, 2016 2 commits
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
- 03 Mar, 2016 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 02 Mar, 2016 5 commits
-
-
Robbert Krebbers authored
For consistency's sake.
-
Ralf Jung authored
-
Ralf Jung authored
get rid of substitution in Case (use lambdas); introduce Match as derived form that involves binders
-
Robbert Krebbers authored
We no longer abuse empty strings for anonymous binders. Instead, we now have a data type for binders: a binder is either named or anonymous.
-
Robbert Krebbers authored
-
- 27 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 23 Feb, 2016 2 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- 22 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 21 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 18 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 17 Feb, 2016 2 commits
-
-
Robbert Krebbers authored
simplify_equality => simplify_eq simplify_equality' => simplify_eq/= simplify_map_equality => simplify_map_eq simplify_map_equality' => simplify_map_eq/= simplify_option_equality => simplify_option_eq simplify_list_equality => simplify_list_eq f_equal' => f_equal/= The /= suffixes (meaning: do simpl) are inspired by ssreflect.
-
Robbert Krebbers authored
-
- 13 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
- 12 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 11 Feb, 2016 3 commits
-
-
Robbert Krebbers authored
Also do some minor clean up.
-
Ralf Jung authored
tests.v is temporarily broken
-
Ralf Jung authored
-
- 10 Feb, 2016 3 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Robbert Krebbers authored
Now notations are pretty printed in the same way as they are parsed. Before "let x := e1 in e2" was notation for "(fun x => e2) e1", resulting in overlapping notations for the same thing.
-
- 09 Feb, 2016 4 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
We can use a named representation because we only substitute closed values. This idea is borrowed from Pierce's Software Foundations. The named representation has the following advantages: * Programs are much better readable than those using De Bruijn indexes. * Substitutions on closed terms (where all variables are explicit strings) can be performed by a mere simpl instead of Autosubst's asimpl. The performance of simpl seems better than asimpl. * Syntactic sugar refolds better.
-
Robbert Krebbers authored
-
Ralf Jung authored
add basic notions of literals, unary operators and binary operators, and use them to define +, -, <=, ...
-
- 04 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 03 Feb, 2016 2 commits
- 02 Feb, 2016 3 commits
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
These are no longer needed, since fill is no longer a type class.
-