  We describe the design and implementation of a reasoning engine that
facilitates the gamification of loop-invariant discovery. Our reasoning engine
enables students, computational agents and regular software engineers with no
formal methods expertise to collaboratively prove interesting theorems about
simple programs using browser-based, online games. Within an hour, players are
able to specify and verify properties of programs that are beyond the
capabilities of fully-automated tools. The hour limit includes the time for
setting up the system, completing a short tutorial explaining game play and
reasoning about simple imperative programs. Players are never required to
understand formal proofs; they only provide insights by proposing invariants.
The reasoning engine is responsible for managing and evaluating the proposed
invariants, as well as generating actionable feedback.
