(declare value type) (declare variable type) (declare assignment_witness (! v variable (! val value type))) (declare rational_predicate (! r mpq type)) (declare fun (! v value (! var variable (! a (assignment_witness var v) (rational_predicate 1/1)))))