package electrod

  1. Overview
  2. Docs
Formal analysis for the Electrod formal pivot language

Install

Dune Dependency

Authors

Maintainers

Sources

electrod-0.9.0.tbz
sha256=b2263601350f2ffe3cb1671d8bdd256729986b248c1ec39e84ec76a2f2b8408c
sha512=f4c0e7a196c7a14fff51e7f0cc6f91ed8b3df965523d878ab507320f9771ec69efddb31252ff9763ed2f92bc8c369cea73ca20edebbc3c9ff327fe500f33bdf0

doc/electrod.libelectrod/Libelectrod/Outcome/index.html

Module Libelectrod.OutcomeSource

Represents a result trace (or the absence thereof).

Sourcetype valuation

A valuation maps set/relation names to the tuples they contain.

Sourcetype state

A state is either a plain state, or the target of a lasso from the last state of the trace.

Sourcetype states = state list

Nonempty, ordered sequence of states.

Sourcetype t = private {
  1. trace : states option;
  2. nbvars : int;
    (*

    number of Booleans used

    *)
  3. conversion_time : Mtime.span;
  4. analysis_time : Mtime.span;
}

An outcome represents the result of an analysis. It is either None, meaning there is no resulting trace, or it is Some _ in wihch case it carries a nonempty, ordered sequence of states, with at least one being the target of a loop ("lasso" step).

Sourceval no_trace : int -> Mtime.span -> Mtime.span -> t

Represents the absence of trace (so usually: UNSAT).

Sourceval some_trace : t -> bool
Sourceval trace : ((Atom.t, Atom.t) CCList.Assoc.t * (Name.t * Name.t) list) -> int -> Mtime.span -> Mtime.span -> state list -> t

The list must be nonempty and must contain at least one lasso target.

Sourceval plain_state : valuation -> state
Sourceval loop_state : valuation -> state
Sourceval loop_is_present : states -> bool

Says whether a non-empty trace features a loop states.

Sourceval to_loop : state -> state

Converts any state to a loop state

Sourceval pp : format:[ `XML | `Plain | `Chrono ] -> Containers.Format.formatter -> t -> unit
OCaml

Innovation. Community. Security.