summaryrefslogtreecommitdiff
path: root/Generic.agda
AgeCommit message (Collapse)Author
2014-02-24define mapMV via sequenceVHelmut Grohne
This makes a few proofs easier and eliminates the need for sequence-map entirely.
2014-02-17Merge branch feature-partial-getlen into masterHelmut Grohne
It allows defining get functions that are only defined for some vector lengths. It retains backwards compatibility with the previous state via a VecVec compatibility module. The biggest benefit is that now standard library functions such as tail, take and drop can be passed to bff. Conflicts: heavy BFF.agda (imports, bff type clash) Bidir.agda (imports, heavy bff type clash in theorem-{1,2} and lemma-get-mapMV) Generic.agda (imports) Precond.agda (imports, bff type clash in assoc-enough)
2014-02-07eliminate useless withsHelmut Grohne
2014-02-07replace rewrite with cong where feasibleHelmut Grohne
2014-02-03make things compile with 2.3.0.1Helmut Grohne
* Remove let patter , match = foo usage * Remove Qualified.infix-symbol usage * Add non-obvious absurd patterns * Qualify constructors
2014-01-30express VecBFF via PartialVecBFFHelmut Grohne
2014-01-28improve readability using _∋_≈_ instead of Setoid._≈_Helmut Grohne
2014-01-28use the indexed version of the Vec SetoidHelmut Grohne
2014-01-27Merge branch feature-deleteHelmut Grohne
Most conflicts stem from varying imports or added functions and a take-both approach merges them. A notable exception is theorem-2, where a new result sequence-cong was required. Apart from that, theorem-2 could be taken almost verbatim from feature-delete albeit its type coming from feature-decsetoid. Conflicts: Bidir.agda FinMap.agda Generic.agda Precond.agda
2014-01-27cleanup unused functions and useless stepsHelmut Grohne
2014-01-24prove theorem-2 in the presence of deleteHelmut Grohne
The biggest piece of this puzzle was establishing get <$> mapMV f v == mapMV f (get v) provided that the result of mapMV is just something. lemma-union-not-used lost a "map just", but could be retained in structure.
2014-01-17show that Vec is an indexed SetoidHelmut Grohne
We get the plain Setoid for free then.
2014-01-16generalize lemma-insert-same to arbitrary SetoidsHelmut Grohne
The general idea is to enable bff to use arbitrary DecSetoids. * assoc needs to learn about DecSetoid * checkInsert needs to learn about DecSetoid * InsertionResult needs to learn about Setoid * Parameters to InsertionResult.same become weaker * lemma-checkInsert-restrict should work with weaker same * lemma-insert-same needs to learn about Setoid
2013-12-16add a mapM variant on the Maybe monad on VecsHelmut Grohne
2013-12-16move generic functions to a new Generic moduleHelmut Grohne