Content deleted Content added
Undid revision 811260487 by 5.2.200.163 (talk): term don't contain *logical* constants |
adding links to references using Google Scholar |
||
Line 1:
{{Context|date=October 2009}}
In [[mathematical logic]], an '''uninterpreted function'''<ref>Bryant, Lahiri, Seshia (2002) "[https://link.springer.com/content/pdf/10.1007/3-540-45657-0_7.pdf Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions]". ''Computer Aided Verification'' '''2404/2002''', 106–122.</ref> or '''function symbol'''<ref>{{cite book |last1=Baader |first1=Franz |authorlink1=Franz Baader |last2=Nipkow |first2=Tobias |authorlink2=Tobias Nipkow |year=1999 |title=Term Rewriting and All That |publisher=Cambridge University Press |isbn=978-0-521-77920-3 |page=34}}</ref> is one that has no other property than its name and ''[[Arity|n-ary]]'' form. Function symbols are used, together with constants and variables, to form [[term (logic)|terms]].
The '''theory of uninterpreted functions''' is also sometimes called the '''free theory''', because it is freely generated, and thus a [[free object]], or the '''empty theory''', being the [[theory (mathematical logic)|theory]] having an empty set of [[sentence (mathematical logic)|sentences]] (in analogy to an [[initial algebra]]). Theories with a non-empty set of equations are known as [[equational theory|equational theories]]. The [[satisfiability]] problem for free theories is solved by [[syntactic unification]]; algorithms for the latter are used by interpreters for various computer languages, such as [[Prolog]]. Syntactic unification is also used in algorithms for the satisfiability problem for certain other equational theories, see [[E-Unification]] and [[Narrowing (computer science)|Narrowing]].
|