| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-01-29 | Merge branch 'sail2' into asl_flow2 | Thomas Bauereiss | |
| 2019-01-24 | Start supporting informative bool types in Coq backend | Brian Campbell | |
| 2019-01-22 | Don't hardcode location of BBV library | Thomas Bauereiss | |
| 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 | |
| 2019-01-01 | Coq: update instr_kinds from Lem | Brian Campbell | |
| 2018-12-29 | Coq: ensure that recursive functions compute | 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: add zeros library function (used by MIPS) | Brian Campbell | |
| 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-12-12 | Move much of recursive function termination to a rewrite | Brian Campbell | |
| It now includes updating the effects so that morally pure recursive functions can be turned into this impure termination-by-assertion form. | |||
| 2018-12-11 | Initial attempt at using termination measures in Coq | Brian Campbell | |
| This only applies to recursive functions and uses the termination measure merely as a limit to the recursive call depth, rather than proving the measure correct. | |||
| 2018-11-21 | Coq: min_nat | Brian Campbell | |
| 2018-11-21 | Coq: add equality for records and polymorphic vectors | Brian Campbell | |
| 2018-11-20 | Minor coq updates | Brian Campbell | |
| 2018-10-22 | Update Coq patch for RISC-V, add string_take to Coq library | Brian Campbell | |
| 2018-09-19 | Coq: track changes elsewhere | Brian Campbell | |
| - more hex_bits functions, add decimal_string_of_bits - extra tuple unfolding in constructors - note that variables can be redundant wildcard clauses - update RISC-V patch | |||
| 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-17 | Coq: make generic_neq work on real | Brian Campbell | |
| 2018-09-13 | Coq: real built-ins for AArch64 | Brian Campbell | |
| 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-11 | Coq: some basic handling for more existentials | Brian Campbell | |
| 2018-09-06 | Coq: fill in a few more RISC-V axioms | Brian Campbell | |
| 2018-09-06 | Coq: more string handling | Brian Campbell | |
| 2018-09-06 | Coq: fix up some barrier/memory definitions for RISC-V | Brian Campbell | |
| 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: more strings for RISC-V | 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-10 | Coq: add some of string library | Brian Campbell | |
| 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. | |||
