| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-11-29 | Coq: switch to boolean predicates for Sail-type properties | Brian Campbell | |
| - ArithFact takes a boolean predicate - defined in terms of ArithFactP, which takes a Prop predicate, and is used directly for existentials - used abstract in more definitions with direct proofs - beef up solve_bool_with_Z to handle more equalities, andb and orb | |||
| 2019-11-04 | Coq: compatiblity with 8.10 as well as 8.9 | Brian Campbell | |
| 2019-10-25 | Coq: make sure solver can't accidentally use recursive definitions | Brian Campbell | |
| 2019-10-24 | Coq: use `abstract` to separate out proofs from definitions | Brian Campbell | |
| - requires fixpoint definitions containing proofs to be processed in proof mode (due to a bug in Coq), so change libraries and pretty printing to do that - adjust some lemmas to avoid extra evars | |||
| 2019-10-02 | Coq: generate decidable equality instances for variant types | Brian Campbell | |
| It only produces them when necessary (because some types do not have decidable equality due to embedded proofs). Also add trivial instance for the unit type. | |||
| 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-02 | Coq: add properly checked subrange update, reduce imports | Brian Campbell | |
| 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-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-13 | Coq: add eq_bit built-in | Brian Campbell | |
| 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-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 | 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 | |
| 2019-05-29 | Coq: more solver improvements | Brian Campbell | |
| - don't clear boolean local definitions - we need those now - some boolean disjunction fixes | |||
| 2019-05-29 | Coq: need a proof for _shr32 | Brian Campbell | |
| 2019-05-28 | Coq: more constraint solving | Brian Campbell | |
| - add division lemma - deal with some awkward \/ constraints from asl_parser - try simple integer comparison proofs before omega (which can blow up on trivial properties in large contexts) | |||
| 2019-05-24 | Coq: switch to computable versions of BBV shifts | Brian Campbell | |
| 2019-05-23 | Coq: solve some division constraints | Brian Campbell | |
| 2019-05-22 | Coq: tweak disjunctions tactic with subst to support more constraints | Brian Campbell | |
| 2019-05-21 | Coq: remove premature unfolding of local definitions | Brian Campbell | |
| 2019-05-20 | Coq: fix property extraction bug, solve some constraints involving sets | Brian Campbell | |
| 2019-05-19 | Coq: proper definitions for some undefined value functions | Brian Campbell | |
| That is, undefined_bitvector, undefined_unit, internal_pick. | |||
| 2019-05-15 | Coq: constraint solving for aarch64 | Brian Campbell | |
| Also split out main solver tactic to make debugging a little easier. | |||
| 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 | |
