Skip to content

Repository files navigation

Kalman Filter

Nix CI

Formalization of Kalman filter properties in Rocq using Mathematical Components (MathComp), Infotheo, Coq Efficient Algebra Library (CoqEAL), and proof techniques adapted from CoqQ (Coq-Quantum). The noise model and matrix expectation operator build on Infotheo finite distributions; positive definiteness and monotonicity lemmas adapt CoqQ Hermitian matrix algebra; executable seqmx programs are linked to the abstract specification through CoqEAL refinements.

Meta

Building and installation instructions

To build and install manually, you need to make sure that all the libraries this development depends on are installed. The easiest way to do that is still to rely on opam:

git clone https://github.com/F1uctus/kalman.v.git
cd kalman.v
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install --deps-only .
dune build -p kalman
dune install

Building the kalman package runs the verified seqmx programs inside Rocq and promotes paper/data/*.json for Typst figures. These JSON files are generated at build time and are not tracked in VCS.

About

The Kalman filter formalized in Rocq/MathComp: discrete Riccati theory (monotonicity, convergence, a unique stabilizing DARE solution), with executable OCaml extraction via CoqEAL.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages