doc-src/Sledgehammer/sledgehammer.tex
changeset 42685 7a5116bd63b7
parent 42683 e60326e7ee95
child 42722 626e292d22a7
equal deleted inserted replaced
42684:2123b2608b14 42685:7a5116bd63b7
   581 \item[$\bullet$] \textbf{\textit{preds}:} Types are encoded using a binary predicate
   581 \item[$\bullet$] \textbf{\textit{preds}:} Types are encoded using a binary predicate
   582 $\mathit{has\_type\/}(\tau, t)$ that restricts the range of bound variables.
   582 $\mathit{has\_type\/}(\tau, t)$ that restricts the range of bound variables.
   583 Constants are annotated with their types, supplied as extra arguments, to
   583 Constants are annotated with their types, supplied as extra arguments, to
   584 resolve overloading.
   584 resolve overloading.
   585 
   585 
       
   586 \item[$\bullet$] \textbf{\textit{tags}:} Each term and subterm is tagged with
       
   587 its type using a function $\mathit{type\_info\/}(\tau, t)$.
       
   588 
   586 \item[$\bullet$] \textbf{\textit{mono\_preds}:} Similar to \textit{preds}, but
   589 \item[$\bullet$] \textbf{\textit{mono\_preds}:} Similar to \textit{preds}, but
   587 the problem is additionally monomorphized. This corresponds to the traditional
   590 the problem is additionally monomorphized.
   588 encoding of types in an untyped logic without overloading (e.g., such as
   591 
   589 performed by the ToFoF-E wrapper).
   592 \item[$\bullet$] \textbf{\textit{mono\_tags}:} Similar to \textit{tags}, but
       
   593 the problem is additionally monomorphized.
   590 
   594 
   591 \item[$\bullet$] \textbf{\textit{mangled\_preds}:} Similar to
   595 \item[$\bullet$] \textbf{\textit{mangled\_preds}:} Similar to
   592 \textit{mono\_preds}, but types are mangled in constant names instead of being
   596 \textit{mono\_preds}, but types are mangled in constant names instead of being
   593 supplied as ground term arguments. The binary predicate
   597 supplied as ground term arguments. The binary predicate
   594 $\mathit{has\_type\/}(\tau, t)$ becomes a unary predicate
   598 $\mathit{has\_type\/}(\tau, t)$ becomes a unary predicate
   595 $\mathit{has\_type\_}\tau(t)$.
   599 $\mathit{has\_type\_}\tau(t)$.
   596 
       
   597 \item[$\bullet$] \textbf{\textit{tags}:} Each term and subterm is tagged with
       
   598 its type using a function $\mathit{type\_info\/}(\tau, t)$.
       
   599 
       
   600 \item[$\bullet$] \textbf{\textit{mono\_tags}:} Similar to \textit{tags}, but
       
   601 the problem is additionally monomorphized.
       
   602 
   600 
   603 \item[$\bullet$] \textbf{\textit{mangled\_tags}:} Similar to
   601 \item[$\bullet$] \textbf{\textit{mangled\_tags}:} Similar to
   604 \textit{mono\_tags}, but types are mangled in constant names instead of being
   602 \textit{mono\_tags}, but types are mangled in constant names instead of being
   605 supplied as ground term arguments. The binary function
   603 supplied as ground term arguments. The binary function
   606 $\mathit{type\_info\/}(\tau, t)$ becomes a unary function
   604 $\mathit{type\_info\/}(\tau, t)$ becomes a unary function