| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-04-19 | Coq: more robust handling of unknown constraints | Brian Campbell | |
| 2019-04-16 | Coq: make bools_of_int (and hence get_slice_int) compute well | Brian Campbell | |
| 2019-04-16 | Coq: add specialised shifts | Brian Campbell | |
| 2019-04-10 | Coq: update prompt monad to match the Lem, and port the state monad/lifting | Brian Campbell | |
| NB: requires minor changes in the models | |||
| 2019-04-04 | Coq: improve solver on conjunctions, Euclidean division/modulo | Brian Campbell | |
| 2019-03-27 | Coq: add a little knowledge about ZEuclid.div | Brian Campbell | |
| 2019-03-27 | Coq: replace firstorder with less expensive tactics | Brian Campbell | |
| 2019-03-19 | Coq: more work on tests | Brian Campbell | |
| - skip a few more that aren't supported yet - produce better debugging information (in particular, in the right order) - avoid some autocasts that aren't supported yet and are usually unnecessary - Handle more constraints like `8 * n = 8 * ?Goal` | |||
| 2019-03-15 | Coq: some progress on the test suite | Brian Campbell | |
| Rewrite <> true/false in goals. Correct implicits in record and variant types. Use expanded valspecs from the type checker in axioms. Allow list notations in type definitions. Skip some not-yet-supported tests. | |||
| 2019-03-15 | Coq: better loop handling, discharge some related proof obligations | Brian Campbell | |
| 2019-03-12 | Coq: try non-linear nia solver too | Brian Campbell | |
| 2019-03-12 | Coq: fix some boolean issues seen in arm | Brian Campbell | |
| Fixes bad precedence issues, removes an out-of-date special case that's not necessary, and solves more goals. | |||
| 2019-03-07 | Coq: apply a little brute force in some boolean goals | Brian Campbell | |
| 2019-03-05 | Coq: firstorder is better at the boolean goals | Brian Campbell | |
| 2019-03-05 | Coq: use setoid rewriting to apply under an existential binder | Brian Campbell | |
| 2019-03-01 | Coq: add a little bit of boolean solving | Brian Campbell | |
| Just enough for RISC-V to go through | |||
| 2019-02-28 | Coq: remove unused library definitions | Brian Campbell | |
| 2019-02-28 | Coq: some work on bool simplification | Brian Campbell | |
| This introduces some simplification of informative booleans, but tries too hard to eliminate all of the existentials resulting in difficulties in and/or trees. | |||
| 2019-01-24 | Start supporting informative bool types in Coq backend | Brian Campbell | |
| 2019-01-09 | Coq: the division used in smt.sail should be Euclidean | Brian Campbell | |
| 2019-01-09 | Coq: add truncateLSB and import Zeuclid by default | Brian Campbell | |
| 2018-12-27 | Coq: make solver try hints before stripping away existentials | Brian Campbell | |
| (which allows us to avoid a Coq bug where the proof isn't recorded correctly) | |||
| 2018-12-19 | Coq: handle existentials in hypotheses during solving, add max_nat, better casts | Brian Campbell | |
| 2018-12-17 | Adapt Coq and termination measure support to typechecker changes | Brian Campbell | |
| Also output termination measures in Sail printer | |||
| 2018-11-21 | Coq: min_nat | Brian Campbell | |
| 2018-11-21 | Coq: add equality for records and polymorphic vectors | Brian Campbell | |
| 2018-09-19 | Coq: more fixes for AArch64 | Brian Campbell | |
| - implement set_slice and set_slice_int - lemmas for more constraints - make real sqrt visible - unfolding list membership needs andb and orb to be handled first | |||
| 2018-09-17 | Coq: solve some constraint/type errors with AArch64 | Brian Campbell | |
| - hints for dotp - handle exists separately when trying eauto to keep search depth low - more uniform existential handling (i.e., we now handle all existentials in the way we used to only handle existentials around atoms) | |||
| 2018-09-12 | Coq: make generic_eq work on more types | Brian Campbell | |
| 2018-09-12 | Coq: remove extra "True"s from constraints | Brian Campbell | |
| The omega tactic doesn't like them | |||
| 2018-09-05 | Coq: fill in trivial ranges in constraint solver | Brian Campbell | |
| 2018-09-03 | Coq: solver should split earlier | Brian Campbell | |
| otherwise some other parts don't work properly. Also update RISC-V patch. | |||
| 2018-09-03 | Coq: get top-level value definitions to work nicely again | Brian Campbell | |
| Also required some solver fixes: - make sure that ArithFacts are always cleared to avoid loops - extract_properties should do the goal first because it might add extra work to do in the hypotheses - unfolding should come before extract_properties | |||
| 2018-09-03 | Coq: rework generation of dependent pairs so that they are only | Brian Campbell | |
| constructed when a function call, cast, or binder demands them, removing some ambiguous corner cases. Also - Don't simplify nexps before printing (note that we usually end up needing a (8 * x) / 8 lemma as a result) - More extraction of properties in the goal - Splitting of conditionals/matches in goals (which can occur more often because of the new positions of build_ex in definitions) - Try simple solving first to improve speed / reduce proof sizes / help fill in metavariables (because manipulating the goal can interfere with instantiating them) - Update RISC-V patch | |||
| 2018-08-30 | Coq: correct endianness reversal bug | Brian Campbell | |
| 2018-08-28 | Coq: make some library definitions compute | Brian Campbell | |
| 2018-08-15 | Get RISC-V on Coq into reasonable state to show | Brian Campbell | |
| - Fill in Coq builtins for more of the RISC-V prelude - Update Barriers - More general autocast - Temporary sub_nat definition (until the backend handles nat better) - Patch to bring results into a reasonable state - Use Let rather than Definition for non-dependent top-level values | |||
| 2018-08-14 | Coq: attempt a quick proof before an indepth one | Brian Campbell | |
| 2018-08-13 | Coq: drop irrelevant definitions before constraint solving | Brian Campbell | |
| (which were slowing down RISCV unacceptably because dealing with the xlen max/min values is surprisingly expensive) | |||
| 2018-08-09 | Coq: a bit more handling of unknown constraints | Brian Campbell | |
| 2018-08-03 | Coq: use a dummy constraint when the real one is unknown | Brian Campbell | |
| Not really what we want, but a useful placeholder because of the widespread use of ex_int. | |||
| 2018-08-03 | Coq: generalise dependent pair handling a little | Brian Campbell | |
| 1. for monadic values (not in a terribly useful way, though) 2. for more types | |||
| 2018-08-02 | Coq: limit eauto to ensure termination in reasonable time | Brian Campbell | |
| 2018-08-02 | Fill in more Coq builtins for aarch64 | Brian Campbell | |
| 2018-08-01 | Coq: implicit range conversions for function arguments, debug tracing | Brian Campbell | |
| The new option -dcoq_debug_on takes a list of functions to output tracing on. | |||
| 2018-07-18 | Coq: constraint solving improvements | Brian Campbell | |
| Use eauto so that user-added hints are more flexible, example with Replicate in aarch64, dropped zbool to prevent slow proof searches (and preprocessing deals with boolean comparisons now). Report failed constraints after preprocessing; Separate preprocessing tactic out. | |||
| 2018-07-17 | Coq: integer shifts | Brian Campbell | |
| 2018-07-17 | Coq: add printing stubs | Brian Campbell | |
| 2018-07-17 | Coq: handle E_constraint properly | Brian Campbell | |
| Adds missing constraints for aarch64 | |||
| 2018-07-16 | Coq: add support for more complex atom types | Brian Campbell | |
| As a result, add proof to pow2. | |||
