package lambdapi

  1. Overview
  2. Docs

Provides a function for calling external checkers using a Unix command.

val log_xtrn : 'a Lplib.Base.outfmt -> 'a
val run : string -> Core.Sign.t Lplib.Base.pp -> string -> Core.Sign.t -> bool option

run prop pp cmd sign runs the external checker given by the Unix command cmd on the signature sign. The signature is processed and written to a Unix pipe using the formatter pp, and the produced output is fed to the command on its standard output. The return value is Some true in case of a successful check, Some false in the case of a failed check, and None if the external tool cannot conclude. Note that the command cmd should write either "YES", "NO" or "MAYBE" as its first line of (standard) output. The exception Fatal may be raised if cmd exhibits a different behavior. The name prop is used to refer to the checked property when an error message is displayed.

NOTE that for any given property being checked, the simplest possible valid command is "echo MAYBE". Moreover, "cat > file; echo MAYBE" can conveniently be used to write generated data to the file "file". This is useful for debugging purposes.