Yices Input LanguageΒΆ
The language grammar is shown below
command ::= ( define-type <symbol> )
| ( define-type <symbol> typedef )
| ( define <symbol> :: type )
| ( define <symbol> :: type expr )
| ( assert expr )
| ( assert expr <symbol> )
| ( exit )
| ( check )
| ( check-assuming assumptions )
| ( ef-solve )
| ( push )
| ( pop )
| ( reset )
| ( show-model )
| ( show-reduced-model )
| ( show-implicant )
| ( show-unsat-core )
| ( show-unsat-assumptions )
| ( eval expr )
| ( echo <string> )
| ( include <string> )
| ( set-param <symbol> immediatevalue )
| ( show-param <symbol> )
| ( show-params )
| ( show-stats )
| ( reset-stats )
| ( set-timeout number )
| ( show-timeout )
| ( export-to-dimacs <string> )
| ( dump-context )
| ( help )
| ( help <symbol> )
| ( help <string> )
typedef ::= type
| ( scalar <symbol> ... <symbol> )
type ::= <symbol>
| ( tuple type ... type )
| ( -> type ... type type )
| ( bitvector <rational> )
| int
| bool
| real
expr ::= true
| false
| <symbol>
| number
| <binarybv>
| <hexabv>
| ( forall ( var_decl ... var_decl ) expr )
| ( exists ( var_decl ... var_decl ) expr )
| ( lambda ( var_decl ... var_decl ) expr )
| ( let ( binding ... binding ) expr )
| ( update expr ( expr ... expr ) expr )
| ( function expr ... expr )
function ::= <function-keyword>
| expr
var_decl ::= <symbol> :: type
binding ::= ( <symbol> expr )
immediatevalue ::= true
| false
| number
| <symbol>
number ::= <rational> | <float>
assumptions ::=
| <symbol> assumptions
| ( not <symbol> ) assumptions