UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

54 lines (53 loc) 1.45 kB
import { QuintEx } from './ir/quintIr'; import { Rng } from './rng'; import { QuintError } from './quintError'; import { TraceHook } from './cliReporting'; /** * Various settings that have to be passed to the simulator to run. */ export interface SimulatorOptions { init: string; step: string; invariant: string; individualInvariants?: string[]; maxSamples: number; maxSteps: number; numberOfTraces: number; rng: Rng; verbosity: number; storeMetadata: boolean; hideVars: string[]; onTrace?: TraceHook; } export interface SimulationTrace { states: QuintEx[]; result: boolean; seed: bigint; } export type SimulationStatus = 'ok' | 'violation' | 'error'; /** The outcome of a simulation */ export interface Outcome { status: SimulationStatus; errors: QuintError[]; bestTraces: SimulationTrace[]; witnessingTraces: number[]; samples: number; traceStatistics: TraceStatistics; } /** * A result returned by the simulator. */ export interface SimulationResult { result: QuintEx; witnessingTraces: number[]; samples: number; traceStatistics: TraceStatistics; } export interface TraceStatistics { averageTraceLength: number; minTraceLength: number; maxTraceLength: number; } export declare function getTraceStatistics(traceLengths: number[]): TraceStatistics; export declare function showTraceStatistics(stats: TraceStatistics): string;