Skip to content

Getting started

Install Beacon from the Chelis-Lang GitHub org using the reef package manager:

Terminal window
chelis reef install --from-github Chelis-Lang/beacon@v0.1.8

This fetches the v0.1.8 release binary and registers the chelis-beacon command.

Given a compiled WireDag file (model.wiredag), verify that a single-point input produces output within a declared range:

Terminal window
chelis-beacon check model.wiredag --oracle arb-point --input x=1.5 --output-range '[0.0, 2.0]'

Breaking down the arguments:

FlagPurpose
checkRun bound-propagation verification.
model.wiredagPath to the serialized WireDag file.
--oracle arb-pointUse the singleton point oracle (fully sound).
--input x=1.5Bind the named input x to the value 1.5.
--output-range '[0.0, 2.0]'Declare the target output interval.

If the propagated bounds fall within [0.0, 2.0], Beacon emits a proved verdict. Otherwise it reports that the target range is not satisfied and prints the computed bounds.

For models with several named inputs, repeat the --input flag:

Terminal window
chelis-beacon check model.wiredag --oracle arb-box \
--input x='[1.0, 2.0]' \
--input y='[0.5, 1.5]' \
--output-range '[0.0, 5.0]'

With arb-box, each input is an interval box rather than a single point.