BTOR2
word-level model checking format for capturing models of hardware and potentially software in a bit-precise manner; a non-backward-compatible extension of BTOR, which was tailored towards bit-vectors and one-dimensional bit-vector arrays, BTOR2 has explicit sort declarations and register/memory initialisations; inpired by a new AIGER format<num> ::= positive unsigned integer (greater than zero) <uint> ::= unsigned integer (including zero) <string> ::= sequence of whitespace and printable characters without '\n' <symbol> ::= sequence of printable characters without '\n' <comment> ::= ';' <string> <nid> ::= <num> <sid> ::= <num> <const> ::= 'const' <sid> [0-1]+ <constd> ::= 'constd' <sid> ['-']<uint> <consth> ::= 'consth' <sid> [0-9a-fA-F]+ <input> ::= ( 'input' | 'one' | 'ones' | 'zero' ) <sid> | <const> | <constd> | <consth> <state> ::= 'state' <sid> <bitvec> ::= 'bitvec' <num> <array> ::= 'array' <sid> <sid> <node> ::= <sid> 'sort' ( <array> | <bitvec> ) | <nid> ( <input> | <state> ) | <nid> <opidx> <sid> <nid> <uint> [<uint>] | <nid> <op> <sid> <nid> [<nid> [<nid>]] | <nid> ( 'init' | 'next' ) <sid> <nid> <nid> | <nid> ( 'bad' | 'constraint' | 'fair' | 'output' ) <nid> | <nid> 'justice' <num> ( <nid> )+ <line> ::= <comment> | <node> [<symbol>] [<comment>] <btor> ::= ( <line> '\n' )+