Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Also inline Z_cast things | Jason Gross | 2018-11-01 |
| | |||
* | Add some zrange lemmas | Jason Gross | 2018-11-01 |
| | |||
* | Make pairs work in Z_cast2 | Jason Gross | 2018-11-01 |
| | |||
* | Export ZRange operation notations | Jason Gross | 2018-11-01 |
| | |||
* | Add zrange notations | Jason Gross | 2018-11-01 |
| | |||
* | Fix a thing broken by previous commit | Jason Gross | 2018-11-01 |
| | |||
* | Add more reserved notations | Jason Gross | 2018-11-01 |
| | |||
* | Add more zrange operations | Jason Gross | 2018-11-01 |
| | |||
* | Remove dead code | Jason Gross | 2018-11-01 |
| | |||
* | Tactic-in-term: ensuring same scope for all occurrences of a notation variable. | Hugo Herbelin | 2018-11-01 |
| | | | | Follow-up of acc4c460. | ||
* | Fix a bug in 8.7 compilation | Jason Gross | 2018-10-30 |
| | |||
* | Refactor/generalize some pipeline definitions/proofs | Jason Gross | 2018-10-30 |
| | | | | | | | | | | | | When we do rewriting after casts, we will need to do extra passes of DCE and subst01 to fully reduce things, so we generalize some of the interp proofs over cast behavior. For ease of rewriting, we make [ident.interp] an alias (notation) for [ident.gen_interp], rather than a [Definition]. We also factor out the rewriting wrapper inside the pipeline module into its own definition. | ||
* | Remove duplicate abstraction | Jasper Hugunin | 2018-10-29 |
| | | | | | `base_type` and `base_interp` are already abstracted by the section. For compatibility with coq/coq#8820. | ||
* | Add PositiveSet Facts | Jason Gross | 2018-10-29 |
| | |||
* | Add eqlistA_eq_iff | Jason Gross | 2018-10-29 |
| | |||
* | Add split_contravariant_or | Jason Gross | 2018-10-29 |
| | |||
* | Add ex_eq_and tactic | Jason Gross | 2018-10-29 |
| | |||
* | Add some lemmas about ex, and, eq | Jason Gross | 2018-10-29 |
| | |||
* | Stricter check on types in the rewriter | Jason Gross | 2018-10-29 |
| | |||
* | Add subst_relax | Jason Gross | 2018-10-29 |
| | |||
* | Add subst_Some_subst_default, subst_relax_evm | Jason Gross | 2018-10-29 |
| | |||
* | Fix a proof | Jason Gross | 2018-10-28 |
| | |||
* | Add an extra check in the rewriter | Jason Gross | 2018-10-28 |
| | |||
* | Improve cps_id tactics, add add_var_types_cps_id, unify_extracted_cps_id tactics | Jason Gross | 2018-10-28 |
| | |||
* | Fix a bug in ensure_complex_continuation | Jason Gross | 2018-10-28 |
| | |||
* | Add CPSId tactics | Jason Gross | 2018-10-28 |
| | |||
* | Add unify_extracted_cps_id | Jason Gross | 2018-10-28 |
| | |||
* | Add app_lam_type_of_list | Jason Gross | 2018-10-25 |
| | |||
* | Add under_forall_vars_relation1_lam_forall_vars, remove ↵ | Jason Gross | 2018-10-25 |
| | | | | forall2_type_of_list_cps alias of under_type_of_list_relation_cps | ||
* | Remove value'_interp_related1 | Jason Gross | 2018-10-25 |
| | |||
* | Add value_interp_related1 | Jason Gross | 2018-10-25 |
| | |||
* | Add interp_reify_and_let_binds_base | Jason Gross | 2018-10-25 |
| | |||
* | Add interp_reify_as_interp | Jason Gross | 2018-10-24 |
| | |||
* | Add GallinaReify.reify_as_interp | Jason Gross | 2018-10-24 |
| | |||
* | Add rawexpr_equiv_expr_to_type_of_rawexpr | Jason Gross | 2018-10-23 |
| | |||
* | Add a horribly manual proof of app_forall_vars_under_forall_vars_relation1 | Jason Gross | 2018-10-23 |
| | | | | | I guess I still haven't figured out how to automate reasoning about transport across equality. | ||
* | Add some equality lemmas about Positive{Map,Set} | Jason Gross | 2018-10-23 |
| | |||
* | Add under_with_unification_resultT'_relation1_gen_always | Jason Gross | 2018-10-23 |
| | |||
* | Add related1_app_type_of_list_under_type_of_list_relation1_cps | Jason Gross | 2018-10-23 |
| | |||
* | Update rewriter correctness condition | Jason Gross | 2018-10-23 |
| | | | | | | Now we don't need any relation on values when going under binders to get the cps-id condition. This seems essential to getting the rewriter interp correctness proofs to work. | ||
* | Tactic-in-term: ensuring same scope for all occurrences of a notation variable. | Hugo Herbelin | 2018-10-23 |
| | |||
* | Add placeholder rewrite rules for rewriting after bounds | Jason Gross | 2018-10-14 |
| | | | | | | | | | | | | | | Currently, there aren't any interesting rewrite rules in the lists, but this allows us to move rewrite rules that depend on cast behavior to after bounds analysis. Unfortunately, it takes a lot of time to build from Rewriter.v to the standalone binaries, so it'll probably make sense to inline some stuff for more rapid development. Note that we also now have a tactic that does all of the evaluation for rewrite rules (assuming the right [Arguments] commands have been issued). | ||
* | Minor changes to rewriter | Jason Gross | 2018-10-14 |
| | | | | | These changes make it easier to prove things about the interpretation of the rewriter. | ||
* | Guarantee that casting always returns inrange | Jason Gross | 2018-10-12 |
| | | | | | | | | | | | | | | We fuse the bounds relaxation pass with the abstract interpretation pass by folding bounds relaxation into the annotation method. This allows us to not need any particular assumptions about what happens when you cast outside the range. We can therefore now guarantee that the output of casting is always bounded by the given range (rather, by the normalized version of the range), which will be required to take advantage of bounds information in the rewriter (because otherwise we're not guaranteed that casting something to within a range actually outputs something within that range). | ||
* | Add some zrange lemmas | Jason Gross | 2018-10-11 |
| | |||
* | Parameterize rewriter proofs over cast-outside-of-range behavior | Jason Gross | 2018-10-11 |
| | |||
* | Add interp-correctness condition for rewriter | Jason Gross | 2018-10-11 |
| | | | | | | | | | | | | The NBE-rewrite rules are proven correct. The arith and fancy rewrite rules are reduced to lemmas about Z, most of which are inconsistent (and therefore indicate rewrite rules which are missing side-conditions). One bad rewrite rule was found in this process, and corrected in 0842563b23f8d780f4ff1080d7620fc3f368191f The next step after this will be using the rewrite rule correctness to prove the rewriter correct. | ||
* | Export more tactics in Tactics.v | Jason Gross | 2018-10-10 |
| | |||
* | Rename [normalize_commutative_identifier] file to match tactic name | Jason Gross | 2018-10-10 |
| | |||
* | Add [normalize_commutative_identifier] tactic | Jason Gross | 2018-10-10 |
| |