summaryrefslogtreecommitdiff
path: root/FreeTheorems.agda
AgeCommit message (Collapse)Author
2014-10-14drop the injection requirement for gl₁Helmut Grohne
Turns out, we never use this requirement. The only place where it may come in relevant is the free theorems. But here non-injectivity turns out to be reasoning about multiple get functions that are selected by the additional index each individually satisfying the free theorem and thus commonly satisfying it as well.
2014-02-04remove unused importsHelmut Grohne
Most of the became unused by using the convenience functions introduced in the parent commit.
2014-02-04Merge branch feature-get-record into feature-partial-getlenHelmut Grohne
These two features heavily interconnect. As such it makes sense to integrate them properly. This non-trivial merge does that work. Compared to feature-partial-getlen a few definitions moved from FreeTheorems.agda to GetTypes.agda. Many types changed compared to both branches. Conflicts: BFF.agda Bidir.agda FreeTheorems.agda Precond.agda conflict in GetTypes.agda not detected by merge
2014-01-30express VecBFF via PartialVecBFFHelmut Grohne
2014-01-30allow importing of Bidir without any postulatesHelmut Grohne
2014-01-30pass get functions as recordsHelmut Grohne
This allows passing both getlen and get as a single parameter. It also allows to make the free theorem a prerequisite instead of a postulate.
2014-01-28define bff on a partial getlenHelmut Grohne
The representation chosen is to give both an injection gl₁ and a function gl₂ (formerly getlen), such that by choosing a non-identity for gl₁ partiality of getlen can be expressed. An alternative would have been to allow getlen to return a Maybe ℕ and have get return maybe (Vec A) ⊤ (getlen n) thus sending all inputs for which getlen yields nothing to tt. It seems that while there is no way to obtain a such a getlen predicate from an arbitrary index Setoid I, it should be possible to manufacture a Setoid from a predicate. Thanks to Stefan Mehner for the insightful discussion.
2012-10-05move all postulates to one moduleHelmut Grohne
This should make it easier to see what is assumed.