No description, website, or topics provided.
Coq Python Makefile Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
img
runtime
.gitignore
LICENSE
Makefile
README.md
_CoqProject
bigops.v
ccombinators.v
cdist.v
christodoulou.v
client.v
combinators.v
compile.v
depfinfun.v
dist.v
dyadic.v
dynamics.v
extrema.v
games.v
lightserver.v
listlemmas.v
loadbalancing.v
loadbalancing2.v
lp.v
machine.v
maplemmas.v
mwucount.sh
numerics.v
orderedtypes.v
potential.v
routing.v
routing1.v
routing2.v
routing_gen.v
server.v
smooth.v
staging.v
strings.v
subsettypes.v
vc.v
vector.v
weights.v
weightsextract.v
weightslang.v
winnow.v

README.md

Cage

John Cage: Variations I

Cage is a library and set of tools in Ssreflect-Coq for implementing and verifying convergence and quality bounds on game-based distributed systems such as distributed routers and load balancers. Cage includes, as a subcomponent, a verified implementation of the multiplicative weights update (MWU) algorithm:

An introduction to the research ideas underlying Cage (in the form of a technical paper) is forthcoming.

Prerequisites

  • Coq 8.6
  • Ssreflect 1.6.1
  • OCaml (>= 4.02.1)
  • Zarith OCaml library (>= 1.5)

OPAM is the best way to install prereqs:

Using aptitude in debian/Ubuntu linux:

Install and set up OPAM:

apt-get install opam
opam init
opam switch 4.02.3
eval `opam config env`

Once OPAM is set-up with OCaml (>= 4.02.1):

opam install coq.8.6
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-mathcomp-ssreflect.1.6.1
apt-get install libgmp-dev
opam install zarith
opam install coq-mathcomp-algebra

Build Instructions

  • Type make in the toplevel directory.