doc-src/Sledgehammer/sledgehammer.tex
changeset 42591 f139d0ac2d44
parent 42589 9f7c48463645
child 42681 281cc069282c
equal deleted inserted replaced
42590:03834570af86 42591:f139d0ac2d44
   571 following values:
   571 following values:
   572 
   572 
   573 \begin{enum}
   573 \begin{enum}
   574 \item[$\bullet$] \textbf{\textit{many\_typed}:} Use the prover's support for
   574 \item[$\bullet$] \textbf{\textit{many\_typed}:} Use the prover's support for
   575 many-typed first-order logic if available; otherwise, fall back on
   575 many-typed first-order logic if available; otherwise, fall back on
   576 \textit{mangled}. The problem is monomorphized, meaning that the problem's type
   576 \textit{mangled\_preds}. The problem is monomorphized, meaning that the
   577 variables are instantiated with heuristically chosen ground types.
   577 problem's type variables are instantiated with heuristically chosen ground
   578 Monomorphization can simplify reasoning but also leads to larger fact bases,
   578 types. Monomorphization can simplify reasoning but also leads to larger fact
   579 which can slow down the ATPs.
   579 bases, which can slow down the ATPs.
   580 
   580 
   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.
   626 \textit{mono\_preds}?,
   626 \textit{mono\_preds}?,
   627 \textit{mangled\_preds}?, \\
   627 \textit{mangled\_preds}?, \\
   628 \textit{tags}?,
   628 \textit{tags}?,
   629 \textit{mono\_tags}?,
   629 \textit{mono\_tags}?,
   630 \textit{mangled\_tags}?:} \\
   630 \textit{mangled\_tags}?:} \\
   631 If the exclamation mark (!) is replaced by an question mark (?), the type
   631 If the exclamation mark (!)\ is replaced by an question mark (?),\ the type
   632 systems type only nonmonotonic (and hence especially dangerous) types. Not
   632 systems type only nonmonotonic (and hence especially dangerous) types. Not
   633 implemented yet.
   633 implemented yet.
   634 
   634 
   635 \item[$\bullet$] \textbf{\textit{const\_args}:}
   635 \item[$\bullet$] \textbf{\textit{const\_args}:}
   636 Constants are annotated with their types, supplied as extra arguments, to
   636 Constants are annotated with their types, supplied as extra arguments, to
   648 For SMT solvers and ToFoF-E, the type system is always \textit{many\_typed}.
   648 For SMT solvers and ToFoF-E, the type system is always \textit{many\_typed}.
   649 
   649 
   650 \opdefault{monomorphize\_limit}{int}{\upshape 4}
   650 \opdefault{monomorphize\_limit}{int}{\upshape 4}
   651 Specifies the maximum number of iterations for the monomorphization fixpoint
   651 Specifies the maximum number of iterations for the monomorphization fixpoint
   652 construction. The higher this limit is, the more monomorphic instances are
   652 construction. The higher this limit is, the more monomorphic instances are
   653 potentially generated.
   653 potentially generated. Whether monomorphization takes place depends on the
       
   654 type system used.
   654 \end{enum}
   655 \end{enum}
   655 
   656 
   656 \subsection{Relevance Filter}
   657 \subsection{Relevance Filter}
   657 \label{relevance-filter}
   658 \label{relevance-filter}
   658 
   659