Skip to content

v1.0.2

Latest
Compare
Choose a tag to compare
@llee454 llee454 released this 12 Aug 12:03
· 23 commits to master since this release

This initial release includes definitions and theorems for algebraic structures ranging from monoids to fields. It includes proofs of all of the basic theorems that apply to these structures and includes expression simplifiers for monoids and groups. The expression simplifier for groups does not yet simplify negations, but provides a basis for further development.

This release satisfies its initial goals by providing a substantial worked example illustrating a functional programming style in Coq and by showing how proof by reflection can be used to automate routine algebraic rewrite steps when developing proofs in this manner.

Note: this release is actually a minor edit to the 1.0.1 release. I've updated the _CoqProject file by renaming the build target. Previously, it had been "functional-algebra", now it is "functional_algebra." This resolves a Make error. I regenerated the Makefile, and the package compiles under Coq version 8.8.1. Coqc throws two warnings however because I shadow global variables within a section, but I believe that this practice is justified in the two instances where it occurs.