faster preprocessing: before applying a step, test if it is applicable (normalization of binders, unfolding of abs/min/max definitions, lambda lifting, explicit application, monomorphization),
custom-made (top-down) atomize_conv,
store predicate and function symbols in a table instead of a list for faster lookup,
updated certificates
(benchmark Isabelle
:extrasorts ( T1)
:extrafuns (
(uf_4 T1)
(uf_1 Int Int T1)
(uf_3 Int Int T1)
(uf_2 Int)
)
:assumption (not (distinct (uf_1 uf_2 3) (uf_3 3 uf_2)))
:assumption (forall (?x1 Int) (?x2 Int) (iff (= (uf_3 ?x1 ?x2) uf_4) (<= ?x1 ?x2)))
:assumption (forall (?x3 Int) (?x4 Int) (iff (= (uf_1 ?x3 ?x4) uf_4) (< ?x3 ?x4)))
:formula true
)