HO-Core
(theory HO-Core :smt-lib-version 2.7 :smt-lib-release "2025-02-05" :written-by "Clark Barrett, Pascal Fontaine, and Cesare Tinelli" :date "2025-02-05" :last-updated "2025-02-05" :update-history :sorts ( (-> 2 :right-assoc) ) :funs ( (par (A B) (_ (-> A B :left-assoc) A B) ) ) :definition "For every expanded signature Sigma, the instance of HO-Core with that signature is the theory consisting of all Sigma-models in which: - the sort constructor -> denotes the map sort constructor, that is, for all sorts s1, s2 in Sigma, (-> s1 s2) denotes the full space of total functions from the domain denoted by s1 to the domain denoted by s2 - for all sorts s1, s2 in Sigma, (_ (-> s1 s2) s1 s2) denotes the function that returns the result of applying its first argument to its second. " :notes "Because of the semantics of -> the theory has extensionality, that is, for all sorts s1 and s2, the following formula holds: (forall ((f (-> s1 s2)) (g (-> s1 s2))) (= (= f g) (forall ((x s1)) (= (f x) (g x))))) " :values "For all sorts s1, s2, the set of values for the sort (-> s1 s2) consists of - an abstract value for each map (from a countable subset of the maps) of type s1 -> s2; - terms of the form (lambda ((x s1)) t) where t has sort s2 when every free occurrence of x in t has sort s1. " )(raw file)