home | help
E(1)				  User Commands 			    E(1)

NAME
     E	    -	   manual      page	for	E     2.6     Floral	 Guranse
     (8e8bfa2a3f682a4a7d96975eaa7b1133c4267b13)

SYNOPSIS
     eprover [options] [files]

DESCRIPTION
     E 2.6 "Floral Guranse"

     Read a set of first-order clauses and formulae and try to refute it.

OPTIONS
     -h

     --help

	    Print a short description of program usage and options.

     -V

     --version

	    Print the version number of the prover. Please include this with all
	    bug reports (if any).

     -v

     --verbose[=<arg>]

	    Verbose comments on the progress of the program. This  differs  from
	    the output level (below) in that technical information is printed to
	    stderr,  while  the  output level determines which logical manipula-
	    tions of the clauses are printed to stdout. The short  form  or  the
	    long  form	without  the  optional	argument is equivalent to --ver-
	    bose=1.

     -o <arg>

     --output-file=<arg>

	    Redirect output into the named file.

     -s

     --silent

	    Equivalent to --output-level=0.

     -l <arg>

     --output-level=<arg>

	    Select an output level, greater values imply  more	verbose  output.
	    Level  0  produces nearly no output, level 1 will output each clause
	    as it is processed, level 2 will output generating inferences, level
	    3 will give a full protocol including rewrite steps and level 4 will
	    include some internal clause renamings. Levels >= 2 also imply  PCL2
	    or TSTP formats (which can be post-processed with suitable tools).

     -p

     --proof-object[=<arg>]

	    Generate  (and  print, in case of success) an internal proof object.
	    Level 0 will not print a proof object, level 1 will  build	asimple,
	    compact  proof  object that only contains inference rules and depen-
	    dencies, level 2 will build a proof object where inferences are  un-
	    ambiguously  described  by	giving	inference positions, and level 3
	    will expand this to a proof object where  all  intermediate  results
	    are explicit. This feature is under development, so far only level 0
	    and  1 are operational. By default The proof object will be provided
	    in TPTP-3 or LOP syntax, depending on input format and explicit set-
	    tings. The following option will suppress normal output of the proof
	    object in favour of a graphial representation. The short form or the
	    long form without the optional argument is equivalent to --proof-ob-
	    ject=1.

     --proof-graph[=<arg>]

	    Generate (and print, in case of success) an internal proof object in
	    the form of a GraphViz dot graph. The optional  argument  can  be  1
	    (nodes  are  labelled  with  just the name of the clause/formula), 2
	    (nodes are labelled with the TPTP clause/formula) or 3  (nodes  also
	    labelled  with  source/inference  record. The option without the op-
	    tional argument is equivalent to --proof-graph=3.

     -d

     --full-deriv

	    Include all derived formuas/clauses in the proof graph/proof object,
	    not just the ones contributing to the actual proof.

     --force-deriv[=<arg>]

	    Force output of the derivation even in cases where the prover termi-
	    nates in an indeterminate state. By default, the deriviation of  all
	    processed  clauses	is included in the derivation object. With value
	    2, derivation of all clauses will be printed The option without  the
	    optional argument is equivalent to --force-deriv=1.

     --record-gcs

	    Record  given-clause  selection  as separate (pseudo-)inferences and
	    preserve the form  of  given  clauses  evaluated  and  selected  via
	    archiving for analysis and possibly machine learning.

     --training-examples[=<arg>]

	    Generate and process training examples from the proof search object.
	    Implies  --record-gcs.  The  argument  is a binary or of the desired
	    processig. Bit zero prints positive exampels. Bit 1 prints	negative
	    examples. Additional selectors will be added later. The option with-
	    out the optional argument is equivalent to --training-examples=1.

     --pcl-terms-compressed

	    Print terms in the PCL output in shared representation.

     --pcl-compact

	    Print PCL steps without additional spaces for formatting (safes disk
	    space for large protocols).

     --pcl-shell-level[=<arg>]

	    Determines level to which clauses and formulas are suppressed in the
	    output.  Level  0  will  print  all, level 1 will only print initial
	    clauses/formulas, level 2 will print no clauses or axioms. All  lev-
	    els  will  still  print the dependency graph. The option without the
	    optional argument is equivalent to --pcl-shell-level=1.

     --print-statistics

	    Print the inference statistics (only relevant for  output  level  0,
	    otherwise they are printed automatically.

     -0

     --print-detailed-statistics

	    Print  data  about	the proof state that is potentially expensive to
	    collect. Includes number of term cells and number of rewrite steps.

     -S

     --print-saturated[=<arg>]

	    Print the (semi-) saturated clause sets after terminating the  satu-
	    ration  process.  The argument given describes which parts should be
	    printed in which order. Legal characters are  'teigEIGaA',	standing
	    for  type declarations, processed positive units, processed negative
	    units, processed non-units, unprocessed positive units,  unprocessed
	    negative  units,  unprocessed non-units, and two types of additional
	    equality axioms, respectively. Equality axioms will only be  printed
	    if the original specification contained real equality. In this case,
	    'a'  requests  axioms  in  which  a separate substitutivity axiom is
	    given for each argument position of a function or predicate  symbol,
	    while 'A' requests a single substitutivity axiom (covering all posi-
	    tions)  for each symbol. The short form or the long form without the
	    optional argument is equivalent to --print-saturated=eigEIG.

     --print-sat-info

	    Print additional information (clause number, weight, etc) as a  com-
	    ment for clauses from the semi-saturated end system.

     --filter-saturated[=<arg>]

     Filter the
	    (semi-) saturated clause sets after terminating the

	    saturation process. The argument is a string describing which opera-
	    tions  to  take  (and  in  which order). Options are 'u' (remove all
	    clauses with more than one literal), 'c' (delete all but one copy of
	    identical clauses, 'n', 'r', 'f' (forward contraction, unit-subsump-
	    tion only, no rewriting, rewriting with rules only, full  rewriting,
	    respectively),  and  'N',  'R' and 'F' (as their lower case counter-
	    parts, but with non-unit-subsumption enabled as  well).  The  option
	    without  the  optional  argument  is  equivalent  to  --filter-satu-
	    rated=Fc.

     --prune

	    Stop after relevancy pruning, SInE pruning, and output of  the  ini-
	    tial  clause-  and	formula  set. This will automatically set output
	    level to 4 so that the pruned problem specification is printed. Note
	    that the desired pruning  methods  must  still  be	specified  (e.g.
	    '--sine=Auto').

     --cnf

	    Convert the input problem into clause normal form and print it. This
	    is	    (nearly)	 equivalent	to     '--print-saturated=eigEIG
	    --processed-clauses-limit=0' and will by default perform  some  usu-
	    ally  useful  simplifications.  You  can  additionally  specify e.g.
	    '--no-preprocessing' if you want just the result of CNF translation.

     --print-pid

	    Print the process id of the prover as a comment  after  option  pro-
	    cessing.

     --print-version

	    Print  the	version  number  of the prover as a comment after option
	    processing. Note that unlike -version, the prover  will  not  termi-
	    nate, but proceed normally.

     --error-on-empty

	    Return  with  an  error  code if the input file contains no clauses.
	    Formally, the empty clause set (as an empty conjunction of	clauses)
	    is	trivially  satisfiable,  and E will treat any empty input set as
	    satisfiable. However, in composite systems this is more often a sign
	    that something went wrong. Use this option to catch such bugs.

     -m <arg>

     --memory-limit=<arg>

	    Limit the memory the prover may use. The  argument	is  the  allowed
	    amount  of	memory in MB. If you use the argument 'Auto', the system
	    will try to figure out the amount of physical memory of your machine
	    and claim most of it. This option may not work  everywhere,  due  to
	    broken  and/or  strange behaviour of setrlimit() in some UNIX imple-
	    mentations, and due to the fact that I know of no  portable  way  to
	    figure out the physical memory in a machine. Both the option and the
	    'Auto'  version  do  work  under  all tested versions of Solaris and
	    GNU/Linux. Due to problems with limit data types,  it  is  currently
	    impossible to set a limit of more than 2 GB (2048 MB).

     --cpu-limit[=<arg>]

	    Limit  the	cpu time the prover should run. The optional argument is
	    the CPU time in seconds. The prover will terminate immediately after
	    reaching the time limit, regardless of internal state.  This  option
	    may  not  work everywhere, due to broken and/or strange behaviour of
	    setrlimit() in some UNIX implementations. It  does	work  under  all
	    tested versions of Solaris, HP-UX, MacOS-X, and GNU/Linux. As a side
	    effect, this option will inhibit core file writing. Please note that
	    if you use both --cpu-limit and --soft-cpu-limit, the soft limit has
	    to	be  smaller  than the hard limit to have any effect.  The option
	    without the optional argument is equivalent to --cpu-limit=300.

     --soft-cpu-limit[=<arg>]

	    Limit the cpu time the prover should spend in  the	main  saturation
	    phase.  The prover will then terminate gracefully, i.e. it will per-
	    form post-processing, filtering and printing of unprocessed clauses,
	    if	these options are selected. Note that for some filtering options
	    (in particular those which perform full subsumption), the  post-pro-
	    cessing  time  may well be larger than the saturation time. This op-
	    tion is particularly useful if you want to use E as  a  preprocessor
	    or	lemma  generator  in a larger system. The option without the op-
	    tional argument is equivalent to --soft-cpu-limit=290.

     -R

     --resources-info

	    Give some information about the resources used by  the  prover.  You
	    will usually get CPU time information. On systems returning more in-
	    formation  with the rusage() system call, you will also get informa-
	    tion about memory consumption.

     --print-strategy

	    Print a representation of all search parameters and  their	setting.
	    Then terminate.

     -C <arg>

     --processed-clauses-limit=<arg>

	    Set  the  maximal  number  of clauses to process (i.e. the number of
	    traversals of the main-loop).

     -P <arg>

     --processed-set-limit=<arg>

	    Set the maximal size of the set of processed clauses.  This  differs
	    from  the  previous  option  in  that  redundant and back-simplified
	    processed clauses are not counted.

     -U <arg>

     --unprocessed-limit=<arg>

	    Set the maximal size of the set of unprocessed clauses.  This  is  a
	    termination  condition, not something to use to control the deletion
	    of bad clauses. Compare --delete-bad-limit.

     -T <arg>

     --total-clause-set-limit=<arg>

	    Set the maximal size of the set of all clauses. See previous option.

     --generated-limit=<arg>

	    Set the maximal number of generated clauses before the proof  search
	    stops.  This is a reasonable (though not great) estimate of the work
	    done.

     --tb-insert-limit=<arg>

	    Set the maximal number of of term bank term top insertions. This  is
	    a reasonable (though not great) estimate of the work done.

     --answers[=<arg>]

	    Set the maximal number of answers to print for existentially quanti-
	    fied questions. Without this option, the prover terminates after the
	    first  answer found. If the value is different from 1, the prover is
	    no longer guaranteed to terminate, even if there is a finite  number
	    of	answers.  The option without the optional argument is equivalent
	    to --answers=2147483647.

     --conjectures-are-questions

	    Treat all conjectures as questions to be answered. This  is  a  wart
	    necessary because CASC-J6 has categories requiring answers, but does
	    not yet support the 'question' type for formulas.

     -n

     --eqn-no-infix

	    In LOP, print equations in prefix notation equal(x,y).

     -e

     --full-equational-rep

	    In LOP. print all literals as equations, even non-equational ones.

     --lop-in

	    Set  E-LOP	as  the  input format. If no input format is selected by
	    this or one of the following options, E will guess the input  format
	    based  on the first token. It will almost always correctly recognize
	    TPTP-3, but it may misidentify E-LOP files that use TPTP  meta-iden-
	    tifiers as logical symbols.

     --pcl-out

	    Set PCL as the proof object output format.

     --tptp-in

	    Set  TPTP-2  as  the  input format (but note that includes are still
	    handled according to TPTP-3 semantics).

     --tptp-out

	    Print TPTP format instead of E-LOP. Implies --eqn-no-infix and  will
	    ignore --full-equational-rep.

     --tptp-format

	    Equivalent to --tptp-in and --tptp-out.

     --tptp2-in

	    Synonymous with --tptp-in.

     --tptp2-out

	    Synonymous with --tptp-out.

     --tptp2-format

	    Synonymous with --tptp-format.

     --tstp-in

	    Set TPTP-3 as the input format (Note that TPTP-3 syntax is still un-
	    der development, and the version in E may not be fully conforming at
	    all  times.  E  works on all TPTP 6.3.0 FOF and CNF files (including
	    includes).

     --tstp-out

	    Print output clauses in TPTP-3 syntax.  In	particular,  for  output
	    levels >=2, write derivations as TPTP-3 derivations.

     --tstp-format

	    Equivalent to --tstp-in and --tstp-out.

     --tptp3-in

	    Synonymous with --tstp-in.

     --tptp3-out

	    Synonymous with --tstp-out.

     --tptp3-format

	    Synonymous with --tstp-format.

     --auto

	    Automatically  determine  settings for proof search. This is equiva-
	    lent to -xAuto -tAuto --sine=Auto.

     --satauto

	    Automatically determine settings for proof/saturation  search.  This
	    is equivalent to -xAuto -tAuto.

     --autodev

	    Automatically  determine settings for proof search (development ver-
	    sion).  This is equivalent to -xAutoDev -tAutoDev --sine=Auto.

     --satautodev

	    Automatically determine settings for proof/saturation search (devel-
	    opment version). This is equivalent to -xAutoDev -tAutoDev.

     --auto-schedule

	    Use the (experimental) strategy scheduling. This  will  try  several
	    different  fully specified search strategies (aka "Auto-Modes"), one
	    after the other, until a proof or saturation is found, or  the  time
	    limit is exceeded.

     --satauto-schedule

	    Use  the (experimental) strategy scheduling without SInE, thus main-
	    taining completeness.

     --schedule-kind=<arg>

	    Choose a schedule kind that is more  optimized  for  different  pur-
	    poses:  CASC is optimized for general-purpose theorem proving, while
	    SH is optimized for theorem low-timeout theorem proving.

     --no-preprocessing

	    Do not perform preprocessing on the initial clause set.  Preprocess-
	    ing  currently  removes  tautologies  and orders terms, literals and
	    clauses in a certain ("canonical") way before anything else happens.
	    Unless limited by one of the following options, it will also  unfold
	    equational definitions.

     --eq-unfold-limit=<arg>

	    During  preprocessing,  limit unfolding (and removing) of equational
	    definitions to those where the expanded definition is  at  most  the
	    given  limit  bigger  (in terms of standard weight) than the defined
	    term.

     --eq-unfold-maxclauses=<arg>

	    During preprocessing, don't try unfolding of equational  definitions
	    if the problem has more than this limit of clauses.

     --no-eq-unfolding

	    During  preprocessing,  abstain  from unfolding (and removing) equa-
	    tional definitions.

     --sine[=<arg>]

	    Apply SInE to prune the unprocessed axioms with the  specified  fil-
	    ter.   'Auto'  will  automatically pick a filter. The option without
	    the optional argument is equivalent to --sine=Auto.

     --rel-pruning-level[=<arg>]

	    Perform relevancy pruning up to the given level on	the  unprocessed
	    axioms.  The  option  without the optional argument is equivalent to
	    --rel-pruning-level=3.

     --presat-simplify

	    Before proper saturation do a complete interreduction of  the  proof
	    state.

     --ac-handling[=<arg>]

	    Select AC handling mode, i.e. determine what to do with redundant AC
	    tautologies.  The  default	is equivalent to 'DiscardAll', the other
	    possible values are 'None' (to disable  AC	handling),  'KeepUnits',
	    and  'KeepOrientable'.  The  option without the optional argument is
	    equivalent to --ac-handling=KeepUnits.

     --ac-non-aggressive

	    Do AC resolution on negative literals only	on  processing	(by  de-
	    fault,  AC resolution is done after clause creation). Only effective
	    if AC handling is not disabled.

     -W <arg>

     --literal-selection-strategy=<arg>

	    Choose a strategy for selection of negative literals. There are  two
	    special  values  for this option: NoSelection will select no literal
	    (i.e.  perform normal superposition) and NoGeneration  will  inhibit
	    all  generating  inferences.  For  a  list	of  the other (hopefully
	    self-documenting) values run 'eprover -W none'. There are two  vari-
	    ants of each strategy. The one prefixed with 'P' will allow paramod-
	    ulation into maximal positive literals in addition to paramodulation
	    into maximal selected negative literals.

     --no-generation

	    Don't perform any generating inferences (equivalent to --literal-se-
	    lection-strategy=NoGeneration).

     --select-on-processing-only

	    Perform  literal selection at processing time only (i.e. select only
	    in the _given clause_), not before clause evaluation. This is  rele-
	    vant because many clause selection heuristics give special consider-
	    ation to maximal or selected literals.

     -i

     --inherit-paramod-literals

	    Always  select  the negative literals a previous inference paramodu-
	    lated into (if possible). If no such literal exists, select as  dic-
	    tated by the selection strategy.

     -j

     --inherit-goal-pm-literals

	    In a goal (all negative clause), always select the negative literals
	    a  previous  inference  paramodulated into (if possible). If no such
	    literal exists, select as dictated by the selection strategy.

     --inherit-conjecture-pm-literals

	    In a conjecture-derived clause, always select the negative	literals
	    a  previous  inference  paramodulated into (if possible). If no such
	    literal exists, select as dictated by the selection strategy.

     --selection-pos-min=<arg>

	    Set a lower limit for the number of positive literals a clause  must
	    have to be eligible for literal selection.

     --selection-pos-max=<arg>

	    Set  a  upper limit for the number of positive literals a clause can
	    have to be eligible for literal selection.

     --selection-neg-min=<arg>

	    Set a lower limit for the number of negative literals a clause  must
	    have to be eligible for literal selection.

     --selection-neg-max=<arg>

	    Set  a  upper limit for the number of negative literals a clause can
	    have to be eligible for literal selection.

     --selection-all-min=<arg>

	    Set a lower limit for the number of literals a clause must	have  to
	    be eligible for literal selection.

     --selection-all-max=<arg>

	    Set  an upper limit for the number of literals a clause must have to
	    be eligible for literal selection.

     --selection-weight-min=<arg>

	    Set the minimum weight a clause must have to be eligible for literal
	    selection.

     --prefer-initial-clauses

	    Always process all initial clauses first.

     -x <arg>

     --expert-heuristic=<arg>

	    Select one of the clause selection heuristics.  Currently  at  least
	    available:	Auto, Weight, StandardWeight, RWeight, FIFO, LIFO, Uniq,
	    UseWatchlist. For a full list  check  HEURISTICS/che_proofcontrol.c.
	    Auto  is recommended if you only want to find a proof. It is special
	    in that it will also set some additional options.  To  have  optimal
	    performance,  you  also  should specify -tAuto to select a good term
	    ordering. LIFO is unfair and will make the prover  incomplete.  Uniq
	    is used internally and is not very useful in most cases. You can de-
	    fine more heuristics using the option -H (see below).

     --filter-orphans-limit[=<arg>]

	    Orphans  are  unprocessed  clauses where one of the parents has been
	    removed by back-simolification. They are redundant and  usually  re-
	    moved lazily (i.e. only when they are selected for processing). With
	    this option you can select a limit on back-simplified clauses  after
	    which  orphans  will  be eagerly deleted. The option without the op-
	    tional argument is equivalent to --filter-orphans-limit=100.

     --forward-contract-limit[=<arg>]

	    Set a limit on the number of processed clauses after which	the  un-
	    processed  clause set will be re-simplified and reweighted.  The op-
	    tion without the optional argument is equivalent  to  --forward-con-
	    tract-limit=80000.

     --delete-bad-limit[=<arg>]

	    Set  the number of storage units after which bad clauses are deleted
	    without further consideration. This causes the prover to  be  poten-
	    tially incomplete, but will allow you to limit the maximum amount of
	    memory used fairly well. The prover will tell you if a proof attempt
	    failed  due  to  the incompleteness introduced by this option. It is
	    recommended to set	this  limit  significantly  higher  than  --fil-
	    ter-limit  or  --filter-copies-limit. If you select -xAuto and set a
	    memory limit, the prover will determine a good value  automatically.
	    The   option   without   the  optional  argument  is  equivalent  to
	    --delete-bad-limit=1500000.

     --assume-completeness

	    There are various way (e.g. the next few options) to  configure  the
	    prover  to be strongly incomplete in the general case. E will detect
	    when such an option is selected and return corresponding exit states
	    (i.e. it will not claim satisfiability just because it  ran  out  of
	    unprocessed  clauses). If you _know_ that for your class of problems
	    the selected strategy is still complete, use this option to tell the
	    system that this is the case.

     --assume-incompleteness

	    This option instructs the prover to assume incompleteness (typically
	    because the axiomatization already is incomplete because axioms have
	    been filtered before they are handed to the system.

     --disable-eq-factoring

	    Disable equality factoring. This makes  the  prover  incomplete  for
	    general  non-Horn  problems, but helps for some specialized classes.
	    It is not necessary to disable equality factoring for Horn problems,
	    as Horn clauses are not factored anyways.

     --disable-paramod-into-neg-units

	    Disable paramodulation into negative unit  clause.	This  makes  the
	    prover  incomplete	in the general case, but helps for some special-
	    ized classes.

     --condense

	    Enable condensing for the given clause. Condensing replaces a clause
	    by a more general factor (if such a factor exists).

     --condense-aggressive

	    Enable condensing for the given and newly generated clauses.

     --disable-given-clause-fw-contraction

	    Disable simplification and subsumption of the newly  selected  given
	    clause  (clauses  are  still simplified when they are generated). In
	    general, this breaks some basic assumptions  of  the  DISCOUNT  loop
	    proof  search  procedure. However, there are some problem classes in
	    which  this simplifications empirically never occurs. In such cases,
	    we can save significant overhead. The option _should_  work  in  all
	    cases, but is not expected to improve things in most cases.

     --simul-paramod

	    Use  simultaneous paramodulation to implement superposition. Default
	    is to use plain paramodulation.

     --oriented-simul-paramod

	    Use simultaneous paramodulation for oriented from-literals. This  is
	    an experimental feature.

     --supersimul-paramod

	    Use supersimultaneous paramodulation to implement superposition. De-
	    fault is to use plain paramodulation.

     --oriented-supersimul-paramod

	    Use  supersimultaneous  paramodulation  for  oriented from-literals.
	    This is an experimental feature.

     --split-clauses[=<arg>]

	    Determine which clauses should be subject to splitting. The argument
	    is the binary 'OR' of values for the desired classes:

     1:     Horn clauses

     2:     Non-Horn clauses

     4:     Negative clauses

     8:     Positive clauses

     16:    Clauses with both positive and negative literals

	    Each set bit adds that class to the set of	clauses  which	will  be
	    split.   The  option  without the optional argument is equivalent to
	    --split-clauses=7.

     --split-method=<arg>

	    Determine how to treat ground literals in splitting. The argument is
	    either '0' to denote no splitting of ground literals (they	are  all
	    assigned to the first split clause produced), '1' to denote that all
	    ground  literals  should  form a single new clause, or '2', in which
	    case ground literals are treated as usual and are all split off into
	    individual clauses.

     --split-aggressive

	    Apply splitting to new clauses  (after  simplification)  and  before
	    evaluation.  By  default, splitting (if activated) is only performed
	    on selected clauses.

     --split-reuse-defs

	    If possible, reuse previous definitions for splitting.

     -t <arg>

     --term-ordering=<arg>

	    Select an ordering type (currently Auto, LPO, LPO4,  KBO  or  KBO6).
	    -tAuto  is	suggested,  in	particular with -xAuto. KBO and KBO6 are
	    different implementations of the  same  ordering,  KBO6  is  usually
	    faster  and  has had more testing. Similarly, LPO4 is a new, equiva-
	    lent but superior implementation of LPO.

     -w <arg>

     --order-weight-generation=<arg>

	    Select a method for the generation of weights for use with the  term
	    ordering. Run 'eprover -w none' for a list of options.

     --order-weights=<arg>

	    Describe  a (partial) assignments of weights to function symbols for
	    term orderings (in particular, KBO).  You  can  specify  a	list  of
	    weights of the form 'f1:w1,f2:w2, ...'. Since a total weight assign-
	    ment  is  needed,  E will _first_ apply any weight generation scheme
	    specified (or the default one), and then modify the weights as spec-
	    ified. Note that E performs only very basic sanity	checks,  so  you
	    probably can specify weights that break KBO constraints.

     -G <arg>

     --order-precedence-generation=<arg>

	    Select  a method for the generation of a precedence for use with the
	    term ordering. Run 'eprover -G none' for a list of options.

     --prec-pure-conj[=<arg>]

	    Set a weight for symbols that occur in conjectures	only  to  deter-
	    minewhere  to  place  it in the precedence. This value is used for a
	    roughpre-order, the normal schemes only sort within symbols with the
	    sameoccurance modifier. The option without the optional argument  is
	    equivalent to --prec-pure-conj=10.

     --prec-conj-axiom[=<arg>]

	    Set a weight for symbols that occur in both conjectures and axiomsto
	    determine  where  to  place it in the precedence. This value is used
	    for a rough pre-order, the normal schemes only sort  within  symbols
	    with  the  same  occurance modifier. The option without the optional
	    argument is equivalent to --prec-conj-axiom=5.

     --prec-pure-axiom[=<arg>]

	    Set a weight for symbols that occur  in  axioms  only  to  determine
	    where  to place it in the precedence. This value is used for a rough
	    pre-order, the normal schemes only sort within symbols with the same
	    occurance modifier.  The option without  the  optional  argument  is
	    equivalent to --prec-pure-axiom=2.

     --prec-skolem[=<arg>]

	    Set  a  weight  for Skolem symbols to determine where to place it in
	    the precedence. This value is used for a rough pre-order, the normal
	    schemes only sort within symbols with the same  occurance  modifier.
	    The   option   without   the  optional  argument  is  equivalent  to
	    --prec-skolem=2.

     --prec-defpred[=<arg>]

	    Set a weight for introduced predicate symbols (usually  via  defini-
	    tional  CNF  or  clause splitting) to determine where to place it in
	    the precedence. This value is used for a rough pre-order, the normal
	    schemes only sort within symbols with the same  occurance  modifier.
	    The   option   without   the  optional  argument  is  equivalent  to
	    --prec-defpred=2.

     -c <arg>

     --order-constant-weight=<arg>

	    Set a special weight > 0 for constants in the term ordering. By  de-
	    fault, constants are treated like other function symbols.

     --precedence[=<arg>]

	    Describe  a  (partial) precedence for the term ordering used for the
	    proof attempt. You can specify a comma-separated list of  precedence
	    chains,  where  a  precedence  chain  is  a list of function symbols
	    (which all have to appear in the proof problem), connected by >,  <,
	    or	=.  If	this  option  is  used in connection with --order-prece-
	    dence-generation, the partial ordering will be completed  using  the
	    selected  method,  otherwise the prover runs with a non-ground-total
	    ordering. The option without the optional argument is equivalent  to
	    --precedence=.

     --lpo-recursion-limit[=<arg>]

	    Set  a depth limit for LPO comparisons. Most comparisons do not need
	    more than 10 or 20 levels of recursion. By default, recursion  depth
	    is limited to 1000 to avoid stack overflow problems. If the limit is
	    reached, the prover assumes that the terms are uncomparable. Smaller
	    values  make  the comparison attempts faster, but less exact. Larger
	    values have the opposite effect. Values up to 20000 should	be  save
	    on most operating systems. If you run into segmentation faults while
	    using  LPO	or  LPO4,  first  try  to set this limit to a reasonable
	    value. If the problem persists, send a bug	report	;-)  The  option
	    without   the   optional  argument	is  equivalent	to  --lpo-recur-
	    sion-limit=100.

     --restrict-literal-comparisons

	    Make all literals uncomparable in the term ordering (i.e. do not use
	    the term ordering to restrict  paramodulation,  equality  resolution
	    and  factoring  to	certain  literals.  This  is  necessary  to make
	    Set-of-Support-strategies complete for the non-equational  case  (It
	    still is incomplete for the equational case, but pretty useless any-
	    ways).

     --literal-comparison=<arg>

	    Modify how literal comparisons are done. 'None' is equivalent to the
	    previous option, 'Normal' uses the normal lifting of the term order-
	    ing, 'TFOEqMax' uses the equivalent of a transfinite ordering decid-
	    ing  on the predicate symbol and making equational literals maximal,
	    and 'TFOEqMin' modifies this by making equational symbols minimal.

     --sos-uses-input-types

	    If input is TPTP format, use TPTP conjectures for  initializing  the
	    Set of Support. If not in TPTP format, use E-LOP queries (clauses of
	    the  form ?-l(X),...,m(Y)). Normally, all negative clauses are used.
	    Please note that most E heuristics do not use  this  information  at
	    all, it is currently only useful for certain parameter settings (in-
	    cluding the SimulateSOS priority function).

     --destructive-er

	    Allow  destructive	equality  resolution inferences on pure-variable
	    literals of the form X!=Y, i.e. replace the original clause with the
	    result of an equality resolution inference on this literal.

     --strong-destructive-er

	    Allow destructive equality resolution inferences on literals of  the
	    form  X!=t	(where X does not occur in t), i.e. replace the original
	    clause with the result of an equality resolution inference	on  this
	    literal.  Unless  I  am brain-dead, this maintains completeness, al-
	    though the proof is rather tricky.

     --destructive-er-aggressive

	    Apply  destructive	equality  resolution  to  all  newly   generated
	    clauses, not just to selected clauses. Implies --destructive-er.

     --forward-context-sr

	    Apply  contextual  simplify-reflect  with  processed  clauses to the
	    given clause.

     --forward-context-sr-aggressive

	    Apply contextual simplify-reflect  with  processed	clauses  to  new
	    clauses.  Implies --forward-context-sr.

     --backward-context-sr

	    Apply contextual simplify-reflect with the given clause to processed
	    clauses.

     -g

     --prefer-general-demodulators

	    Prefer  general  demodulators. By default, E prefers specialized de-
	    modulators. This affects in which order the rewrite  index	is  tra-
	    versed.

     -F <arg>

     --forward-demod-level=<arg>

	    Set  the desired level for rewriting of unprocessed clauses. A value
	    of 0 means no rewriting, 1 indicates to use rules (orientable  equa-
	    tions)  only, 2 indicates full rewriting with rules and instances of
	    unorientable equations. Default behavior is 2.

     --strong-rw-inst

	    Instantiate unbound variables  in  matching  potential  demodulators
	    with a small constant terms.

     -u

     --strong-forward-subsumption

	    Try  multiple  positions  and  unit-equations to try to equationally
	    subsume a single new clause. Default is to search for a single posi-
	    tion.

     --satcheck-proc-interval[=<arg>]

	    Enable periodic SAT checking at the  given	interval  of  main  loop
	    non-trivial processed clauses. The option without the optional argu-
	    ment is equivalent to --satcheck-proc-interval=5000.

     --satcheck-gen-interval[=<arg>]

	    Enable periodic SAT checking whenever the total proof state size in-
	    creases by the given limit. The option without the optional argument
	    is equivalent to --satcheck-gen-interval=10000.

     --satcheck-ttinsert-interval[=<arg>]

	    Enable periodic SAT checking whenever the number of term tops inser-
	    tions  matches  the given limit (which grows exponentially). The op-
	    tion without the optional argument is equivalent to --satcheck-ttin-
	    sert-interval=5000000.

     --satcheck[=<arg>]

	    Set the grounding strategy for periodic SAT checking. Note	that  to
	    enable  SAT  checking, it is also necessary to set the interval with
	    one of the previous two options. The option without the optional ar-
	    gument is equivalent to --satcheck=FirstConst.

     --satcheck-decision-limit[=<arg>]

	    Set the number of decisions allowed for each run of the SAT  solver.
	    If	the  option is not given, the built-in value is 10000. Use -1 to
	    allow unlimited decision. The option without the  optional	argument
	    is equivalent to --satcheck-decision-limit=100.

     --satcheck-normalize-const

	    Use  the  current  normal  form (as recorded in the termbank rewrite
	    cache) of the selected constant as the term for the  grounding  sub-
	    stitution.

     --satcheck-normalize-unproc

	    Enable  re-simplification  (heuristic re-revaluation) of unprocessed
	    clauses before grounding for SAT checking.

     --watchlist[=<arg>]

	    Give the name for a file containing clauses to be watched for during
	    the saturation process. If a clause is  generated  that  subsumes  a
	    watchlist clause, the subsumed clause is removed from the watchlist.
	    The  prover  will terminate when the watchlist is empty. If you want
	    to use the watchlist for guiding the proof,  put  the  empty  clause
	    onto  the list and use the built-in clause selection heuristic 'Use-
	    Watchlist' (or build a heuristic yourself using the  priority  func-
	    tions 'PreferWatchlist' and 'DeferWatchlist'). Use the argument 'Use
	    inline  watchlist type' (or no argument) and the special clause type
	    'watchlist' if you want to put watchlist clauses into the normal in-
	    put stream. This is only supported for TPTP input formats.	The  op-
	    tion without the optional argument is equivalent to --watchlist='Use
	    inline watchlist type'.

     --static-watchlist[=<arg>]

	    This is identical to the previous option, but subsumed clauses will-
	    not  be  removed  from  the watchlist (and hence the prover will not
	    terminate if all watchlist clauses have been subsumed. This  may  be
	    more  useful for heuristic guidance. The option without the optional
	    argument is equivalent to --static-watchlist='Use  inline  watchlist
	    type'.

     --no-watchlist-simplification

	    By	default,  the watchlist is brought into normal form with respect
	    to the current processed clause  set  and  certain	simplifications.
	    This option disables simplification for the watchlist.

     --conventional-subsumption

	    Equivalent to --subsumption-indexing=None.

     --subsumption-indexing=<arg>

	    Determine  choice  of  indexing  for  (most) subsumption operations.
	    Choices are 'None' for naive subsumption, 'Direct' for direct mapped
	    FV-Indexing, 'Perm' for permuted FV-Indexing and 'PermOpt' for  per-
	    muted  FV-Indexing with deletion of (suspected) non-informative fea-
	    tures. Default behaviour is 'Perm'.

     --fvindex-featuretypes=<arg>

	    Select the feature types used for indexing. Choices  are  "None"  to
	    disable  FV-indexing,  "AC" for AC compatible features (the default)
	    (literal number and symbol counts), "SS" for set subsumption compat-
	    ible features (symbol depth), and "All" for all features.Unless  you
	    want to measure the effects of the different features, I suggest you
	    stick with the default.

     --fvindex-maxfeatures[=<arg>]

	    Set  the  maximum initial number of symbols for feature computation.
	    Depending on the feature selection, a value of X here  will  convert
	    into  2X+2	features  (for	set subsumption features), 2X+4 features
	    (for AC-compatible features) or 4X+6 features (if all  features  are
	    used,  the default). Note that the actually used set of features may
	    be smaller than this if the signature does not contain  enough  sym-
	    bols.For  the  Perm  and PermOpt version, this is _also_ used to set
	    the maximum depth of the feature vector index. Yes, I should  proba-
	    bly make this into two separate options. If you select a small value
	    here, you should probably not use "Direct" for the --subsumption-in-
	    dexing  option.  The option without the optional argument is equiva-
	    lent to --fvindex-maxfeatures=200.

     --fvindex-slack[=<arg>]

	    Set the number of slots reserved in the index for  function  symbols
	    that  may be introduced into the signature later, e.g. by splitting.
	    If no new symbols are introduced, this just wastes time and  memory.
	    If	PermOpt  is chosen, the slackness slots will be deleted from the
	    index anyways, but will still waste (a  little)  time  in  computing
	    feature vectors. The option without the optional argument is equiva-
	    lent to --fvindex-slack=0.

     --rw-bw-index[=<arg>]

	    Select  fingerprint  function for backwards rewrite index. "NoIndex"
	    will disable paramodulation indexing. For a list of the other values
	    run 'eprover --pm-index=none'. FPX functions will use a  fingerprint
	    of	X  positions, the letters disambiguate between different finger-
	    prints with the same sample size. The option  without  the	optional
	    argument is equivalent to --rw-bw-index=FP7.

     --pm-from-index[=<arg>]

	    Select  fingerprint  function  for the index for paramodulation from
	    indexed clauses. "NoIndex" will disable paramodulation indexing. For
	    a list of the other values run 'eprover --pm-index=none'. FPX  func-
	    tionswill use a fingerprint of X positions, the letters disambiguate
	    between different fingerprints with the same sample size. The option
	    without the optional argument is equivalent to --pm-from-index=FP7.

     --pm-into-index[=<arg>]

	    Select  fingerprint  function  for the index for paramodulation into
	    the indexed clauses. "NoIndex" will disable paramodulation indexing.
	    For a list of the other values run	'eprover  --pm-index=none'.  FPX
	    functionswill  use	a fingerprint of X positions, the letters disam-
	    biguate between different fingerprints with the  same  sample  size.
	    The   option   without   the  optional  argument  is  equivalent  to
	    --pm-into-index=FP7.

     --fp-index[=<arg>]

	    Select fingerprint function for all fingerprint indices. See  above.
	    The  option  without the optional argument is equivalent to --fp-in-
	    dex=FP7.

     --fp-no-size-constr

	    Disable usage of size constraints for matching with fingerprint  in-
	    dexing.

     --pdt-no-size-constr

	    Disable usage of size constraints for matching with perfect discrim-
	    ination trees indexing.

     --pdt-no-age-constr

	    Disable usage of age constraints for matching with perfect discrimi-
	    nation trees indexing.

     --detsort-rw

	    Sort  set  of clauses eliminated by backward rewriting using a total
	    syntactic ordering.

     --detsort-new

	    Sort set of newly generated and backward simplified clauses using  a
	    total syntactic ordering.

     -D <arg>

     --define-weight-function=<arg>

     Define
	    a weight function (see manual for details). Later definitions

	    override previous definitions.

     -H <arg>

     --define-heuristic=<arg>

	    Define  a clause selection heuristic (see manual for details). Later
	    definitions override previous definitions.

     --free-numbers

	    Treat numbers (strings of decimal digits) as  normal  free	function
	    symbols  in the input. By default, number now are supposed to denote
	    domain constants and to be implicitly different from each other.

     --free-objects

	    Treat object identifiers (strings in double quotes) as  normal  free
	    function  symbols  in  the input. By default, object identifiers now
	    represent domain objects and  are  implicitly  different  from  each
	    other (and from numbers, unless those are declared to be free).

     --definitional-cnf[=<arg>]

	    Tune the clausification algorithm to introduces definitions for sub-
	    formulae  to  avoid  exponential blow-up. The optional argument is a
	    fudge factor that determines when definitions are introduced. 0 dis-
	    ables definitions completely. The default  works  well.  The  option
	    without   the   optional   argument   is   equivalent  to  --defini-
	    tional-cnf=24.

     --old-cnf[=<arg>]

	    As the previous option, but use the classical, well-tested clausifi-
	    cation algorithm as opposed to the newewst one  which  avoides  some
	    algorithmic pitfalls and hence works better on some exotic formulae.
	    The  two may produce slightly different (but equisatisfiable) clause
	    normal forms. The option without the optional argument is equivalent
	    to --old-cnf=24.

     --miniscope-limit[=<arg>]

	    Set the limit of sub-formula-size to miniscope. The  build-indefault
	    is	256.  Only applies to the new (default) clausification algorithm
	    The option without the optional argument is equivalent  to	--minis-
	    cope-limit=2147483648.

     --print-types

	    Print the type of every term. Useful for debugging purposes.

     --app-encode

	    Encodes  terms in the proof state using applicative encoding, prints
	    encoded input problem and exits.

     --arg-cong=<arg>

	    Turns on ArgCong inference rule. Excepts an argument "all" or  "max"
	    that  applies the rule to all or only literals that are eligible for
	    resolution.

     --neg-ext=<arg>

	    Turns on NegExt inference rule. Excepts an argument "all"  or  "max"
	    that  applies the rule to all or only literals that are eligible for
	    resolution.

     --pos-ext=<arg>

	    Turns on PosExt inference rule. Excepts an argument "all"  or  "max"
	    that  applies the rule to all or only literals that are eligible for
	    resolution.

     --ext-sup-max-depth=<arg>

	    Sets the maximal proof depth of the clause which will be  considered
	    for ExtSup inferences. Negative value disables the rule.

     --inverse-recognition

	    Enables  the  recognition  of  injective function symbols. If such a
	    symbol is recognized, existence of the inverse function is	asserted
	    by adding a corresponding axiom.

     --replace-inj-defs

	    After CNF and before saturation, replaces all clauses that are defi-
	    nitions  of injectivity by axiomatization of inverse function.

REPORTING BUGS
     Report  bugs to <schulz@eprover.org>. Please include the following, if pos-
     sible:

     * The version of the package as reported by eprover --version.

     * The operating system and version.

     * The exact command line that leads to the unexpected behaviour.

     * A description of what you expected and what actually happend.

     * If possible all input files necessary to reproduce the bug.

COPYRIGHT
     Copyright 1998-2021 by Stephan Schulz, schulz@eprover.org, and the  E  con-
     tributors (see DOC/CONTRIBUTORS).

     This program is a part of the distribution of the equational theorem prover
     E.  You  can find the latest version of the E distribution as well as addi-
     tional information at http://www.eprover.org

     This program is free software; you can redistribute it and/or modify it un-
     der the terms of the GNU General Public License as published  by  the  Free
     Software  Foundation;  either version 2 of the License, or (at your option)
     any later version.

     This program is distributed in the hope that it will be useful, but WITHOUT
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
     NESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
     details.

     You  should  have	received  a copy of the GNU General Public License along
     with this program (it should be contained in the top level directory of the
     distribution in the file COPYING); if not, write to the Free Software Foun-
     dation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA

     The original copyright holder can be contacted via email or as

     Stephan Schulz DHBW Stuttgart Fakultaet Technik  Informatik  Rotebuehlplatz
     41 70178 Stuttgart Germany

E 2.6 Floral Guranse (8e8bfa2a3... August 2026				    E(1)

home | help