| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-10-02 | Coq: limited support for existentially-typed tuples | Brian Campbell | |
| - in particular at monadic interfaces (i.e., sufficient for instruction ast types) - see commented out part of test/coq/pass/ast_with_dep_tuple.sail for an example that's not currently supported - generate definitions for type-level Bool definitions (i.e., predicates) | |||
| 2019-09-19 | Change Coq Hoare logic rules to produce nicer preconditions | Brian Campbell | |
| In particular, shift state lambdas outside of if/match/let which avoids unnecessary abstraction/applications. Add more rules to the tactic. | |||
| 2019-09-19 | Expand Coq Hoare logic and congruence rules to more operators | Brian Campbell | |
| Also tweak the informative and/or boolean definitions so that they use the same proofs in both monads. | |||
| 2019-09-02 | Coq: add properly checked subrange update, reduce imports | Brian Campbell | |
| 2019-08-29 | Turn the two abs_int declarations into overloads | Brian Campbell | |
| (otherwise Sail uses the type from one and the extern from the other) | |||
| 2019-08-22 | Coq: tactics to do rewrites under state monad, simple wp computation | Brian Campbell | |
| 2019-08-19 | Coq: add bools_of_bits_nondet and friends to library | Brian Campbell | |
| 2019-08-14 | Use bitvector type in mono rewrites | Thomas Bauereiss | |
| Also don't require a previously declared default vector indexing order in vector_dec.sail. | |||
| 2019-08-14 | Fix bug in mono rewrites | Thomas Bauereiss | |
| 2019-08-14 | Coq library work for proofs: | Brian Campbell | |
| * rename state fields to avoid clash with regstate type * use rewriting to automate some proofs | |||
| 2019-08-13 | Coq: definitions for cheri128 model | Brian Campbell | |
| Add count_leading_zeros, and correct a precedence error in min/max. | |||
| 2019-08-02 | Fix up some edge cases with the bitvector/polyvector split | Brian Campbell | |
| Mostly in the Coq backend, plus a few testcases that use bitvector builtins on poly-vectors (which works on some backends, but not Coq). Also handle some additional list inclusion proofs in Coq. | |||
| 2019-08-01 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-07-31 | Coq: Update barrier definitions | Brian Campbell | |
| 2019-07-31 | Coq: tweak Hoare proofs a little | Brian Campbell | |
| 2019-07-31 | Coq: reasoning for until loops | Brian Campbell | |
| Loops measures are now abstracted over the variables so that they can be used in proofs. Add total Hoare logic rules for until. | |||
| 2019-07-31 | Merge branch 'sail2' into union_barrier | Alasdair Armstrong | |
| 2019-07-31 | Remove redundant ifdef and run SMT tests by default | Alasdair Armstrong | |
| 2019-07-31 | Change platform_barrier so it doesn't care about it's argument type | Alasdair Armstrong | |
| 2019-07-29 | Coq: add state monad version of while/until loops and lifting results | Brian Campbell | |
| 2019-07-25 | Update Coq barrier definition | Brian Campbell | |
| 2019-07-25 | Basic port of proof machinery to Coq | Brian Campbell | |
| 2019-07-18 | Need to separate out the 0.10 lem library from upcoming 0.11 | Alasdair Armstrong | |
| Unlike the prompt-monad change I don't see a way to do this easily purely on the model side Make sure a64_barrier_type and domain aren't visible for RISC-V isabelle build | |||
| 2019-07-18 | Add a feature flag for barrier type change | Alasdair Armstrong | |
| Fix SMT mem_builtin test case | |||
| 2019-07-18 | Update aarch64_small to build with new barriers | Alasdair Armstrong | |
| Make sure barrier changes don't affect other models for now | |||
| 2019-07-18 | Support DMB/DSB domains | Shaked Flur | |
| 2019-07-16 | Fix all remaining tests for this branch | Alasdair | |
| 2019-07-16 | Merge remote-tracking branch 'origin/sail2' into separate_bv | Alasdair Armstrong | |
| 2019-07-15 | Add a fast path to speed up platform_read_ram: use fast_read_ram if read is ↵ | Robert Norton | |
| 8 bytes or less to avoid cost of using GMP integers (including free/malloc). | |||
| 2019-07-04 | Add coq builtin for concat_str (copied from mips prelude). | Robert Norton | |
| 2019-06-27 | SMT: Add a reverse endianness function and fix some bugs | Alasdair Armstrong | |
| 2019-06-27 | Coq: less constrained version of slice for ARM model | Brian Campbell | |
| 2019-06-21 | Coq: even more robust handling of unknown goals | Brian Campbell | |
| 2019-06-21 | Coq: better handling of unknown constraints | Brian Campbell | |
| Move the tactic forward so that preprocessing can't try silly things, simpl to get rid of embedded proofs. | |||
| 2019-06-20 | Coq: avoid some unnecessary reduction in the constraint solver | Brian Campbell | |
| 2019-06-19 | Monomorphisation improvements for aarch64_small | Brian Campbell | |
| - additional rewrites (signed extend of subrange@zeros, subrange assignment, variants with casts) - drop # from new top-level type variables (e.g., n_times_8) so that the rewriter knows that they're safe to include in casts - add casts in else-branches when only one possible value for a size is left - add casts when assertions force a size to be a particular value - don't use types to detect set constraints in analysis because we won't know which part of the assertion should be replaced - also use non-top-level type variables when simplifying sizes in analysis (useful when it can from pattern matching on an ast) - cope with repeated int('n) in a pattern match (!) | |||
| 2019-06-17 | Add sail implementation of count_leading_zeros. We could use this for ↵ | Robert Norton | |
| backends where the builtin isn't supported but sail support for this is currently a bit broken (will use sail version when it shouldn't e.g. for smt). | |||
| 2019-06-17 | Implement a count_leading_zeros builtin for ocaml and c. This may be a ↵ | Robert Norton | |
| slight performance improvement and keeps compatibility with smt backend that already had a builtin for this because it can't handle the loop in the sail version. Will need implementations for prover backends. | |||
| 2019-06-13 | Coq: add eq_bit built-in | Brian Campbell | |
| 2019-06-12 | Fix Lem binding for abs_int | Thomas Bauereiss | |
| 2019-06-11 | Coq: add concatenation operator for polymorphic vectors | Brian Campbell | |
| 2019-06-06 | Coq: more aggressive rewriting before solving | Brian Campbell | |
| Solves some ARM model constraints much more quickly | |||
| 2019-06-06 | Coq: tweak bool to Z to use less memory | Brian Campbell | |
| 2019-06-06 | Fix tdiv_int and tmod_int bindings for Lem | Thomas Bauereiss | |
| Also rename them for uniformity with other backends. | |||
| 2019-06-06 | Add arith_shiftr to C and OCaml libraries | Thomas Bauereiss | |
| 2019-06-05 | Coq: exploit arithmetic solver for some mixed integer/bool problems. | Brian Campbell | |
| 2019-06-05 | Coq: generalize proof terms before main solver | Brian Campbell | |
| Ensures that dependencies in proofs don't affect rewriting. | |||
| 2019-06-04 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-06-04 | Coq: more constraint solving | Brian Campbell | |
| - make the exists, iff solver handle more cases - avoid exposing omega to goals with local definitions involving proofs | |||
| 2019-06-03 | Coq: experiment with another boolean iff solving method | Brian Campbell | |
