Alpenglow
Anza Research
Feel more confident about your code (human written or AI-generated)
Programming Languages
define how things happen, in detail
bank.qnt
/// A state variable to store the balance of each account
var balances: str -> int
pure val ADDRESSES = Set("alice", "bob", "charlie")
action withdraw(account, amount) = {
// Decrement balance of account by amount
balances' = balances.setBy(account, curr => curr - amount)
}
// ...
/// Invariant: Account balances should never be negative
val no_negatives = ADDRESSES.forall(addr =>
balances.get(addr) >= 0
)$ quint run bank.qnt --invariant=no_negativesAn example execution:
[State 0] { balances: Map("alice" -> 0, "bob" -> 0, "charlie" -> 0) }
[State 1] { balances: Map("alice" -> -63, "bob" -> 0, "charlie" -> 0) }
[violation] Found an issue (44ms).
Use --seed=0x4e85b3a53f7ef to reproduce.
Use --verbosity=3 to show executions.
error: Invariant violatedAnza Research
Matter Labs
CometBFT (Informal)
CometBFT (Informal)
Espresso
Cosmos Hub (Informal)
Left Curve
Informal (acquired by Circle)
commonware
Category Labs
Mysten Labs
Heliax
Neutron
Neutron
Neutron
Tendermint
Neutron
Matter Labs
Tell us about it!