1E(1) User Commands E(1)
2
3
4
6 E - manual page for E 2.3-DEBUG Gielle
7
9 eprover [options] [files]
10
12 E 2.3-DEBUG "Gielle"
13
14 Read a set of first-order clauses and formulae and try to refute it.
15
17 -h
18
19 --help
20
21 Print a short description of program usage and options.
22
23 -V
24
25 --version
26
27 Print the version number of the prover. Please include this with
28 all bug reports (if any).
29
30 -v
31
32 --verbose[=<arg>]
33
34 Verbose comments on the progress of the program. This differs
35 from the output level (below) in that technical information is
36 printed to stderr, while the output level determines which logi‐
37 cal manipulations of the clauses are printed to stdout. The
38 short form or the long form without the optional argument is
39 equivalent to --verbose=1.
40
41 -o <arg>
42
43 --output-file=<arg>
44
45 Redirect output into the named file.
46
47 -s
48
49 --silent
50
51 Equivalent to --output-level=0.
52
53 -l <arg>
54
55 --output-level=<arg>
56
57 Select an output level, greater values imply more verbose out‐
58 put. Level 0 produces nearly no output, level 1 will output each
59 clause as it is processed, level 2 will output generating infer‐
60 ences, level 3 will give a full protocol including rewrite steps
61 and level 4 will include some internal clause renamings. Levels
62 >= 2 also imply PCL2 or TSTP formats (which can be post-pro‐
63 cessed with suitable tools).
64
65 -p
66
67 --proof-object[=<arg>]
68
69 Generate (and print, in case of success) an internal proof
70 object. Level 0 will not build a proof object, level 1 will
71 build a simple, compact proof object that only contains infer‐
72 ence rules and dependencies, level 2 will build a proof object
73 where inferences are unambiguously described by giving inference
74 positions, and level 3 will expand this to a proof object where
75 all intermediate results are explicit. This feature is under
76 development, so far only level 0 and 1 are operational. The
77 short form or the long form without the optional argument is
78 equivalent to --proof-object=1.
79
80 --proof-graph[=<arg>]
81
82 Generate (and print, in case of success) an internal proof
83 object in the form of a GraphViz dot graph. The optional argu‐
84 ment can be 1 (nodes are labelled with just name of the clause),
85 2 (nodes are labelled with just the TPTP clause/formula) or 3
86 (nodes also labelled with source/inference record. The option
87 without the optional argument is equivalent to --proof-graph=3.
88
89 -d
90
91 --full-deriv
92
93 Include all derived formuas/clauses in the proof graph/proof
94 object, not just the ones contributing to the actual proof.
95
96 --force-deriv[=<arg>]
97
98 Force output of the derivation even in cases where the prover
99 terminates in an indeterminate state. By default, the derivia‐
100 tion of all processed clauses is included in the derivation
101 object. With value 2, derivation of all clauses will be printed
102 The option without the optional argument is equivalent to
103 --force-deriv=1.
104
105 --record-gcs
106
107 Record given-clause selection as separate (pseudo-)inferences
108 and preserve the form of given clauses evaluated and selected
109 via archiving for analysis and possibly machine learning.
110
111 --training-examples[=<arg>]
112
113 Generate and process training examples from the proof search
114 object. Implies --record-gcs. The argument is a binary or of
115 the desired processig. Bit zero prints positive exampels. Bit 1
116 prints negative examples. Additional selectors will be added
117 later. The option without the optional argument is equivalent to
118 --training-examples=1.
119
120 --pcl-terms-compressed
121
122 Print terms in the PCL output in shared representation.
123
124 --pcl-compact
125
126 Print PCL steps without additional spaces for formatting (safes
127 disk space for large protocols).
128
129 --pcl-shell-level[=<arg>]
130
131 Determines level to which clauses and formulas are suppressed in
132 the output. Level 0 will print all, level 1 will only print ini‐
133 tial clauses/formulas, level 2 will print no clauses or axioms.
134 All levels will still print the dependency graph. The option
135 without the optional argument is equivalent to
136 --pcl-shell-level=1.
137
138 --print-statistics
139
140 Print the inference statistics (only relevant for output level
141 0, otherwise they are printed automatically.
142
143 -0
144
145 --print-detailed-statistics
146
147 Print data about the proof state that is potentially expensive
148 to collect. Includes number of term cells and number of rewrite
149 steps.
150
151 -S
152
153 --print-saturated[=<arg>]
154
155 Print the (semi-) saturated clause sets after terminating the
156 saturation process. The argument given describes which parts
157 should be printed in which order. Legal characters are
158 'teigEIGaA', standing for type declarations, processed positive
159 units, processed negative units, processed non-units, unpro‐
160 cessed positive units, unprocessed negative units, unprocessed
161 non-units, and two types of additional equality axioms, respec‐
162 tively. Equality axioms will only be printed if the original
163 specification contained real equality. In this case, 'a'
164 requests axioms in which a separate substitutivity axiom is
165 given for each argument position of a function or predicate sym‐
166 bol, while 'A' requests a single substitutivity axiom (covering
167 all positions) for each symbol. The short form or the long form
168 without the optional argument is equivalent to --print-satu‐
169 rated=eigEIG.
170
171 --print-sat-info
172
173 Print additional information (clause number, weight, etc) as a
174 comment for clauses from the semi-saturated end system.
175
176 --filter-saturated[=<arg>]
177
178 Filter the
179 (semi-) saturated clause sets after terminating the
180
181 saturation process. The argument is a string describing which
182 operations to take (and in which order). Options are 'u' (remove
183 all clauses with more than one literal), 'c' (delete all but one
184 copy of identical clauses, 'n', 'r', 'f' (forward contraction,
185 unit-subsumption only, no rewriting, rewriting with rules only,
186 full rewriting, respectively), and 'N', 'R' and 'F' (as their
187 lower case counterparts, but with non-unit-subsumption enabled
188 as well). The option without the optional argument is equivalent
189 to --filter-saturated=Fc.
190
191 --prune
192
193 Stop after relevancy pruning, SInE pruning, and output of the
194 initial clause- and formula set. This will automatically set
195 output level to 4 so that the pruned problem specification is
196 printed. Note that the desired pruning methods must still be
197 specified (e.g. '--sine=Auto').
198
199 --cnf
200
201 Convert the input problem into clause normal form and print it.
202 This is (nearly) equivalent to '--print-saturated=eigEIG --pro‐
203 cessed-clauses-limit=0' and will by default perform some usually
204 useful simplifications. You can additionally specify e.g.
205 '--no-preprocessing' if you want just the result of CNF transla‐
206 tion.
207
208 --print-pid
209
210 Print the process id of the prover as a comment after option
211 processing.
212
213 --print-version
214
215 Print the version number of the prover as a comment after option
216 processing. Note that unlike -version, the prover will not ter‐
217 minate, but proceed normally.
218
219 --error-on-empty
220
221 Return with an error code if the input file contains no clauses.
222 Formally, the empty clause set (as an empty conjunction of
223 clauses) is trivially satisfiable, and E will treat any empty
224 input set as satisfiable. However, in composite systems this is
225 more often a sign that something went wrong. Use this option to
226 catch such bugs.
227
228 -m <arg>
229
230 --memory-limit=<arg>
231
232 Limit the memory the prover may use. The argument is the allowed
233 amount of memory in MB. If you use the argument 'Auto', the sys‐
234 tem will try to figure out the amount of physical memory of your
235 machine and claim most of it. This option may not work every‐
236 where, due to broken and/or strange behaviour of setrlimit() in
237 some UNIX implementations, and due to the fact that I know of no
238 portable way to figure out the physical memory in a machine.
239 Both the option and the 'Auto' version do work under all tested
240 versions of Solaris and GNU/Linux. Due to problems with limit
241 data types, it is currently impossible to set a limit of more
242 than 2 GB (2048 MB).
243
244 --cpu-limit[=<arg>]
245
246 Limit the cpu time the prover should run. The optional argument
247 is the CPU time in seconds. The prover will terminate immedi‐
248 ately after reaching the time limit, regardless of internal
249 state. This option may not work everywhere, due to broken and/or
250 strange behaviour of setrlimit() in some UNIX implementations.
251 It does work under all tested versions of Solaris, HP-UX, Mac‐
252 OS-X, and GNU/Linux. As a side effect, this option will inhibit
253 core file writing. Please note that if you use both --cpu-limit
254 and --soft-cpu-limit, the soft limit has to be smaller than the
255 hard limit to have any effect. The option without the optional
256 argument is equivalent to --cpu-limit=300.
257
258 --soft-cpu-limit[=<arg>]
259
260 Limit the cpu time the prover should spend in the main satura‐
261 tion phase. The prover will then terminate gracefully, i.e. it
262 will perform post-processing, filtering and printing of unpro‐
263 cessed clauses, if these options are selected. Note that for
264 some filtering options (in particular those which perform full
265 subsumption), the post-processing time may well be larger than
266 the saturation time. This option is particularly useful if you
267 want to use E as a preprocessor or lemma generator in a larger
268 system. The option without the optional argument is equivalent
269 to --soft-cpu-limit=290.
270
271 -R
272
273 --resources-info
274
275 Give some information about the resources used by the prover.
276 You will usually get CPU time information. On systems returning
277 more information with the rusage() system call, you will also
278 get information about memory consumption.
279
280 -C <arg>
281
282 --processed-clauses-limit=<arg>
283
284 Set the maximal number of clauses to process (i.e. the number of
285 traversals of the main-loop).
286
287 -P <arg>
288
289 --processed-set-limit=<arg>
290
291 Set the maximal size of the set of processed clauses. This dif‐
292 fers from the previous option in that redundant and back-simpli‐
293 fied processed clauses are not counted.
294
295 -U <arg>
296
297 --unprocessed-limit=<arg>
298
299 Set the maximal size of the set of unprocessed clauses. This is
300 a termination condition, not something to use to control the
301 deletion of bad clauses. Compare --delete-bad-limit.
302
303 -T <arg>
304
305 --total-clause-set-limit=<arg>
306
307 Set the maximal size of the set of all clauses. See previous
308 option.
309
310 --generated-limit=<arg>
311
312 Set the maximal number of generated clauses before the proof
313 search stops. This is a reasonable (though not great) estimate
314 of the work done.
315
316 --tb-insert-limit=<arg>
317
318 Set the maximal number of of term bank term top insertions. This
319 is a reasonable (though not great) estimate of the work done.
320
321 --answers[=<arg>]
322
323 Set the maximal number of answers to print for existentially
324 quantified questions. Without this option, the prover terminates
325 after the first answer found. If the value is different from 1,
326 the prover is no longer guaranteed to terminate, even if there
327 is a finite number of answers. The option without the optional
328 argument is equivalent to --answers=2147483647.
329
330 --conjectures-are-questions
331
332 Treat all conjectures as questions to be answered. This is a
333 wart necessary because CASC-J6 has categories requiring answers,
334 but does not yet support the 'question' type for formulas.
335
336 -n
337
338 --eqn-no-infix
339
340 In LOP, print equations in prefix notation equal(x,y).
341
342 -e
343
344 --full-equational-rep
345
346 In LOP. print all literals as equations, even non-equational
347 ones.
348
349 --lop-in
350
351 Set E-LOP as the input format. If no input format is selected by
352 this or one of the following options, E will guess the input
353 format based on the first token. It will almost always correctly
354 recognize TPTP-3, but it may misidentify E-LOP files that use
355 TPTP meta-identifiers as logical symbols.
356
357 --pcl-out
358
359 Set PCL as the proof object output format.
360
361 --tptp-in
362
363 Set TPTP-2 as the input format (but note that includes are still
364 handled according to TPTP-3 semantics).
365
366 --tptp-out
367
368 Print TPTP format instead of E-LOP. Implies --eqn-no-infix and
369 will ignore --full-equational-rep.
370
371 --tptp-format
372
373 Equivalent to --tptp-in and --tptp-out.
374
375 --tptp2-in
376
377 Synonymous with --tptp-in.
378
379 --tptp2-out
380
381 Synonymous with --tptp-out.
382
383 --tptp2-format
384
385 Synonymous with --tptp-format.
386
387 --tstp-in
388
389 Set TPTP-3 as the input format (Note that TPTP-3 syntax is still
390 under development, and the version in E may not be fully con‐
391 forming at all times. E works on all TPTP 6.3.0 FOF and CNF
392 files (including includes).
393
394 --tstp-out
395
396 Print output clauses in TPTP-3 syntax. In particular, for output
397 levels >=2, write derivations as TPTP-3 derivations.
398
399 --tstp-format
400
401 Equivalent to --tstp-in and --tstp-out.
402
403 --tptp3-in
404
405 Synonymous with --tstp-in.
406
407 --tptp3-out
408
409 Synonymous with --tstp-out.
410
411 --tptp3-format
412
413 Synonymous with --tstp-format.
414
415 --auto
416
417 Automatically determine settings for proof search. This is
418 equivalent to -xAuto -tAuto --sine=Auto.
419
420 --satauto
421
422 Automatically determine settings for proof/saturation search.
423 This is equivalent to -xAuto -tAuto.
424
425 --autodev
426
427 Automatically determine settings for proof search (development
428 version). This is equivalent to -xAutoDev -tAutoDev
429 --sine=Auto.
430
431 --satautodev
432
433 Automatically determine settings for proof/saturation search
434 (development version). This is equivalent to -xAutoDev -tAu‐
435 toDev.
436
437 --auto-schedule
438
439 Use the (experimental) strategy scheduling. This will try sev‐
440 eral different fully specified search strategies (aka
441 "Auto-Modes"), one after the other, until a proof or saturation
442 is found, or the time limit is exceeded.
443
444 --satauto-schedule
445
446 Use the (experimental) strategy scheduling without SInE, thus
447 maintaining completeness.
448
449 --no-preprocessing
450
451 Do not perform preprocessing on the initial clause set. Prepro‐
452 cessing currently removes tautologies and orders terms, literals
453 and clauses in a certain ("canonical") way before anything else
454 happens. Unless limited by one of the following options, it will
455 also unfold equational definitions.
456
457 --eq-unfold-limit=<arg>
458
459 During preprocessing, limit unfolding (and removing) of equa‐
460 tional definitions to those where the expanded definition is at
461 most the given limit bigger (in terms of standard weight) than
462 the defined term.
463
464 --eq-unfold-maxclauses=<arg>
465
466 During preprocessing, don't try unfolding of equational defini‐
467 tions if the problem has more than this limit of clauses.
468
469 --no-eq-unfolding
470
471 During preprocessing, abstain from unfolding (and removing)
472 equational definitions.
473
474 --sine[=<arg>]
475
476 Apply SInE to prune the unprocessed axioms with the specified
477 filter. 'Auto' will automatically pick a filter. The option
478 without the optional argument is equivalent to --sine=Auto.
479
480 --rel-pruning-level[=<arg>]
481
482 Perform relevancy pruning up to the given level on the unpro‐
483 cessed axioms. The option without the optional argument is
484 equivalent to --rel-pruning-level=3.
485
486 --presat-simplify
487
488 Before proper saturation do a complete interreduction of the
489 proof state.
490
491 --ac-handling[=<arg>]
492
493 Select AC handling mode, i.e. determine what to do with redun‐
494 dant AC tautologies. The default is equivalent to 'DiscardAll',
495 the other possible values are 'None' (to disable AC handling),
496 'KeepUnits', and 'KeepOrientable'. The option without the
497 optional argument is equivalent to --ac-handling=KeepUnits.
498
499 --ac-non-aggressive
500
501 Do AC resolution on negative literals only on processing (by
502 default, AC resolution is done after clause creation). Only
503 effective if AC handling is not disabled.
504
505 -W <arg>
506
507 --literal-selection-strategy=<arg>
508
509 Choose a strategy for selection of negative literals. There are
510 two special values for this option: NoSelection will select no
511 literal (i.e. perform normal superposition) and NoGeneration
512 will inhibit all generating inferences. For a list of the other
513 (hopefully self-documenting) values run 'eprover -W none'. There
514 are two variants of each strategy. The one prefixed with 'P'
515 will allow paramodulation into maximal positive literals in
516 addition to paramodulation into maximal selected negative liter‐
517 als.
518
519 --no-generation
520
521 Don't perform any generating inferences (equivalent to --lit‐
522 eral-selection-strategy=NoGeneration).
523
524 --select-on-processing-only
525
526 Perform literal selection at processing time only (i.e. select
527 only in the _given clause_), not before clause evaluation. This
528 is relevant because many clause selection heuristics give spe‐
529 cial consideration to maximal or selected literals.
530
531 -i
532
533 --inherit-paramod-literals
534
535 Always select the negative literals a previous inference
536 paramodulated into (if possible). If no such literal exists,
537 select as dictated by the selection strategy.
538
539 -j
540
541 --inherit-goal-pm-literals
542
543 In a goal (all negative clause), always select the negative lit‐
544 erals a previous inference paramodulated into (if possible). If
545 no such literal exists, select as dictated by the selection
546 strategy.
547
548 --inherit-conjecture-pm-literals
549
550 In a conjecture-derived clause, always select the negative lit‐
551 erals a previous inference paramodulated into (if possible). If
552 no such literal exists, select as dictated by the selection
553 strategy.
554
555 --selection-pos-min=<arg>
556
557 Set a lower limit for the number of positive literals a clause
558 must have to be eligible for literal selection.
559
560 --selection-pos-max=<arg>
561
562 Set a upper limit for the number of positive literals a clause
563 can have to be eligible for literal selection.
564
565 --selection-neg-min=<arg>
566
567 Set a lower limit for the number of negative literals a clause
568 must have to be eligible for literal selection.
569
570 --selection-neg-max=<arg>
571
572 Set a upper limit for the number of negative literals a clause
573 can have to be eligible for literal selection.
574
575 --selection-all-min=<arg>
576
577 Set a lower limit for the number of literals a clause must have
578 to be eligible for literal selection.
579
580 --selection-all-max=<arg>
581
582 Set an upper limit for the number of literals a clause must have
583 to be eligible for literal selection.
584
585 --selection-weight-min=<arg>
586
587 Set the minimum weight a clause must have to be eligible for
588 literal selection.
589
590 --prefer-initial-clauses
591
592 Always process all initial clauses first.
593
594 -x <arg>
595
596 --expert-heuristic=<arg>
597
598 Select one of the clause selection heuristics. Currently at
599 least available: Auto, Weight, StandardWeight, RWeight, FIFO,
600 LIFO, Uniq, UseWatchlist. For a full list check HEURIS‐
601 TICS/che_proofcontrol.c. Auto is recommended if you only want to
602 find a proof. It is special in that it will also set some addi‐
603 tional options. To have optimal performance, you also should
604 specify -tAuto to select a good term ordering. LIFO is unfair
605 and will make the prover incomplete. Uniq is used internally and
606 is not very useful in most cases. You can define more heuristics
607 using the option -H (see below).
608
609 --filter-orphans-limit[=<arg>]
610
611 Orphans are unprocessed clauses where one of the parents has
612 been removed by back-simolification. They are redundant and usu‐
613 ally removed lazily (i.e. only when they are selected for pro‐
614 cessing). With this option you can select a limit on back-sim‐
615 plified clauses after which orphans will be eagerly deleted.
616 The option without the optional argument is equivalent to --fil‐
617 ter-orphans-limit=100.
618
619 --forward-contract-limit[=<arg>]
620
621 Set a limit on the number of processed clauses after which the
622 unprocessed clause set will be re-simplified and reweighted.
623 The option without the optional argument is equivalent to --for‐
624 ward-contract-limit=80000.
625
626 --delete-bad-limit[=<arg>]
627
628 Set the number of storage units after which bad clauses are
629 deleted without further consideration. This causes the prover to
630 be potentially incomplete, but will allow you to limit the maxi‐
631 mum amount of memory used fairly well. The prover will tell you
632 if a proof attempt failed due to the incompleteness introduced
633 by this option. It is recommended to set this limit signifi‐
634 cantly higher than --filter-limit or --filter-copies-limit. If
635 you select -xAuto and set a memory limit, the prover will deter‐
636 mine a good value automatically. The option without the optional
637 argument is equivalent to --delete-bad-limit=1500000.
638
639 --assume-completeness
640
641 There are various way (e.g. the next few options) to configure
642 the prover to be strongly incomplete in the general case. E will
643 detect when such an option is selected and return corresponding
644 exit states (i.e. it will not claim satisfiability just because
645 it ran out of unprocessed clauses). If you _know_ that for your
646 class of problems the selected strategy is still complete, use
647 this option to tell the system that this is the case.
648
649 --assume-incompleteness
650
651 This option instructs the prover to assume incompleteness (typi‐
652 cally because the axiomatization already is incomplete because
653 axioms have been filtered before they are handed to the system.
654
655 --disable-eq-factoring
656
657 Disable equality factoring. This makes the prover incomplete for
658 general non-Horn problems, but helps for some specialized
659 classes. It is not necessary to disable equality factoring for
660 Horn problems, as Horn clauses are not factored anyways.
661
662 --disable-paramod-into-neg-units
663
664 Disable paramodulation into negative unit clause. This makes the
665 prover incomplete in the general case, but helps for some spe‐
666 cialized classes.
667
668 --condense
669
670 Enable condensing for the given clause. Condensing replaces a
671 clause by a more general factor (if such a factor exists).
672
673 --condense-aggressive
674
675 Enable condensing for the given and newly generated clauses.
676
677 --disable-given-clause-fw-contraction
678
679 Disable simplification and subsumption of the newly selected
680 given clause (clauses are still simplified when they are gener‐
681 ated). In general, this breaks some basic assumptions of the
682 DISCOUNT loop proof search procedure. However, there are some
683 problem classes in which this simplifications empirically never
684 occurs. In such cases, we can save significant overhead. The
685 option _should_ work in all cases, but is not expected to
686 improve things in most cases.
687
688 --simul-paramod
689
690 Use simultaneous paramodulation to implement superposition.
691 Default is to use plain paramodulation.
692
693 --oriented-simul-paramod
694
695 Use simultaneous paramodulation for oriented from-literals. This
696 is an experimental feature.
697
698 --split-clauses[=<arg>]
699
700 Determine which clauses should be subject to splitting. The
701 argument is the binary 'OR' of values for the desired classes:
702
703 1: Horn clauses
704
705 2: Non-Horn clauses
706
707 4: Negative clauses
708
709 8: Positive clauses
710
711 16: Clauses with both positive and negative literals
712
713 Each set bit adds that class to the set of clauses which will be
714 split. The option without the optional argument is equivalent
715 to --split-clauses=7.
716
717 --split-method=<arg>
718
719 Determine how to treat ground literals in splitting. The argu‐
720 ment is either '0' to denote no splitting of ground literals
721 (they are all assigned to the first split clause produced), '1'
722 to denote that all ground literals should form a single new
723 clause, or '2', in which case ground literals are treated as
724 usual and are all split off into individual clauses.
725
726 --split-aggressive
727
728 Apply splitting to new clauses (after simplification) and before
729 evaluation. By default, splitting (if activated) is only per‐
730 formed on selected clauses.
731
732 --split-reuse-defs
733
734 If possible, reuse previous definitions for splitting.
735
736 -t <arg>
737
738 --term-ordering=<arg>
739
740 Select an ordering type (currently Auto, LPO, LPO4, KBO or
741 KBO6). -tAuto is suggested, in particular with -xAuto. KBO and
742 KBO6 are different implementations of the same ordering, KBO6 is
743 usually faster and has had more testing. Similarly, LPO4 is a
744 new, equivalent but superior implementation of LPO.
745
746 -w <arg>
747
748 --order-weight-generation=<arg>
749
750 Select a method for the generation of weights for use with the
751 term ordering. Run 'eprover -w none' for a list of options.
752
753 --order-weights=<arg>
754
755 Describe a (partial) assignments of weights to function symbols
756 for term orderings (in particular, KBO). You can specify a list
757 of weights of the form 'f1:w1,f2:w2, ...'. Since a total weight
758 assignment is needed, E will _first_ apply any weight generation
759 scheme specified (or the default one), and then modify the
760 weights as specified. Note that E performs only very basic san‐
761 ity checks, so you probably can specify weights that break KBO
762 constraints.
763
764 -G <arg>
765
766 --order-precedence-generation=<arg>
767
768 Select a method for the generation of a precedence for use with
769 the term ordering. Run 'eprover -G none' for a list of options.
770
771 -c <arg>
772
773 --order-constant-weight=<arg>
774
775 Set a special weight > 0 for constants in the term ordering. By
776 default, constants are treated like other function symbols.
777
778 --precedence[=<arg>]
779
780 Describe a (partial) precedence for the term ordering used for
781 the proof attempt. You can specify a comma-separated list of
782 precedence chains, where a precedence chain is a list of func‐
783 tion symbols (which all have to appear in the proof problem),
784 connected by >, <, or =. If this option is used in connection
785 with --order-precedence-generation, the partial ordering will be
786 completed using the selected method, otherwise the prover runs
787 with a non-ground-total ordering. The option without the
788 optional argument is equivalent to --precedence=.
789
790 --lpo-recursion-limit[=<arg>]
791
792 Set a depth limit for LPO comparisons. Most comparisons do not
793 need more than 10 or 20 levels of recursion. By default, recur‐
794 sion depth is limited to 1000 to avoid stack overflow problems.
795 If the limit is reached, the prover assumes that the terms are
796 uncomparable. Smaller values make the comparison attempts
797 faster, but less exact. Larger values have the opposite effect.
798 Values up to 20000 should be save on most operating systems. If
799 you run into segmentation faults while using LPO or LPO4, first
800 try to set this limit to a reasonable value. If the problem per‐
801 sists, send a bug report ;-) The option without the optional
802 argument is equivalent to --lpo-recursion-limit=100.
803
804 --restrict-literal-comparisons
805
806 Make all literals uncomparable in the term ordering (i.e. do not
807 use the term ordering to restrict paramodulation, equality reso‐
808 lution and factoring to certain literals. This is necessary to
809 make Set-of-Support-strategies complete for the non-equational
810 case (It still is incomplete for the equational case, but pretty
811 useless anyways).
812
813 --sos-uses-input-types
814
815 If input is TPTP format, use TPTP conjectures for initializing
816 the Set of Support. If not in TPTP format, use E-LOP queries
817 (clauses of the form ?-l(X),...,m(Y)). Normally, all negative
818 clauses are used. Please note that most E heuristics do not use
819 this information at all, it is currently only useful for certain
820 parameter settings (including the SimulateSOS priority func‐
821 tion).
822
823 --destructive-er
824
825 Allow destructive equality resolution inferences on pure-vari‐
826 able literals of the form X!=Y, i.e. replace the original clause
827 with the result of an equality resolution inference on this lit‐
828 eral.
829
830 --strong-destructive-er
831
832 Allow destructive equality resolution inferences on literals of
833 the form X!=t (where X does not occur in t), i.e. replace the
834 original clause with the result of an equality resolution infer‐
835 ence on this literal. Unless I am brain-dead, this maintains
836 completeness, although the proof is rather tricky.
837
838 --destructive-er-aggressive
839
840 Apply destructive equality resolution to all newly generated
841 clauses, not just to selected clauses. Implies --destructive-er.
842
843 --forward-context-sr
844
845 Apply contextual simplify-reflect with processed clauses to the
846 given clause.
847
848 --forward-context-sr-aggressive
849
850 Apply contextual simplify-reflect with processed clauses to new
851 clauses. Implies --forward-context-sr.
852
853 --backward-context-sr
854
855 Apply contextual simplify-reflect with the given clause to pro‐
856 cessed clauses.
857
858 -g
859
860 --prefer-general-demodulators
861
862 Prefer general demodulators. By default, E prefers specialized
863 demodulators. This affects in which order the rewrite index is
864 traversed.
865
866 -F <arg>
867
868 --forward-demod-level=<arg>
869
870 Set the desired level for rewriting of unprocessed clauses. A
871 value of 0 means no rewriting, 1 indicates to use rules (ori‐
872 entable equations) only, 2 indicates full rewriting with rules
873 and instances of unorientable equations. Default behavior is 2.
874
875 --strong-rw-inst
876
877 Instantiate unbound variables in matching potential demodulators
878 with a small constant terms.
879
880 -u
881
882 --strong-forward-subsumption
883
884 Try multiple positions and unit-equations to try to equationally
885 subsume a single new clause. Default is to search for a single
886 position.
887
888 --satcheck-proc-interval[=<arg>]
889
890 Enable periodic SAT checking at the given interval of main loop
891 non-trivial processed clauses. The option without the optional
892 argument is equivalent to --satcheck-proc-interval=5000.
893
894 --satcheck-gen-interval[=<arg>]
895
896 Enable periodic SAT checking whenever the total proof state size
897 increases by the given limit. The option without the optional
898 argument is equivalent to --satcheck-gen-interval=10000.
899
900 --satcheck-ttinsert-interval[=<arg>]
901
902 Enable periodic SAT checking whenever the number of term tops
903 insertions matches the given limit (which grows exponentially).
904 The option without the optional argument is equivalent to
905 --satcheck-ttinsert-interval=5000000.
906
907 --satcheck[=<arg>]
908
909 Set the grounding strategy for periodic SAT checking. Note that
910 to enable SAT checking, it is also necessary to set the interval
911 with one of the previous two options. The option without the
912 optional argument is equivalent to --satcheck=FirstConst.
913
914 --satcheck-decision-limit[=<arg>]
915
916 Set the number of decisions allowed for each run of the SAT
917 solver. If the option is not given, the built-in value is 10000.
918 Use -1 to allow unlimited decision. The option without the
919 optional argument is equivalent to --satcheck-deci‐
920 sion-limit=100.
921
922 --satcheck-normalize-const
923
924 Use the current normal form (as recorded in the termbank rewrite
925 cache) of the selected constant as the term for the grounding
926 substitution.
927
928 --satcheck-normalize-unproc
929
930 Enable re-simplification (heuristic re-revaluation) of unpro‐
931 cessed clauses before grounding for SAT checking.
932
933 --watchlist[=<arg>]
934
935 Give the name for a file containing clauses to be watched for
936 during the saturation process. If a clause is generated that
937 subsumes a watchlist clause, the subsumed clause is removed from
938 the watchlist. The prover will terminate when the watchlist is
939 empty. If you want to use the watchlist for guiding the proof,
940 put the empty clause onto the list and use the built-in clause
941 selection heuristic 'UseWatchlist' (or build a heuristic your‐
942 self using the priority functions 'PreferWatchlist' and 'Defer‐
943 Watchlist'). Use the argument 'Use inline watchlist type' (or no
944 argument) and the special clause type 'watchlist' if you want to
945 put watchlist clauses into the normal input stream. This is only
946 supported for TPTP input formats. The option without the
947 optional argument is equivalent to --watchlist='Use inline
948 watchlist type'.
949
950 --static-watchlist[=<arg>]
951
952 This is identical to the previous option, but subsumed clauses
953 willnot be removed from the watchlist (and hence the prover will
954 not terminate if all watchlist clauses have been subsumed. This
955 may be more useful for heuristic guidance. The option without
956 the optional argument is equivalent to --static-watchlist='Use
957 inline watchlist type'.
958
959 --no-watchlist-simplification
960
961 By default, the watchlist is brought into normal form with
962 respect to the current processed clause set and certain simpli‐
963 fications. This option disables simplification for the watch‐
964 list.
965
966 --conventional-subsumption
967
968 Equivalent to --subsumption-indexing=None.
969
970 --subsumption-indexing=<arg>
971
972 Determine choice of indexing for (most) subsumption operations.
973 Choices are 'None' for naive subsumption, 'Direct' for direct
974 mapped FV-Indexing, 'Perm' for permuted FV-Indexing and 'Per‐
975 mOpt' for permuted FV-Indexing with deletion of (suspected)
976 non-informative features. Default behaviour is 'Perm'.
977
978 --fvindex-featuretypes=<arg>
979
980 Select the feature types used for indexing. Choices are "None"
981 to disable FV-indexing, "AC" for AC compatible features (the
982 default) (literal number and symbol counts), "SS" for set sub‐
983 sumption compatible features (symbol depth), and "All" for all
984 features.Unless you want to measure the effects of the different
985 features, I suggest you stick with the default.
986
987 --fvindex-maxfeatures[=<arg>]
988
989 Set the maximum initial number of symbols for feature computa‐
990 tion. Depending on the feature selection, a value of X here
991 will convert into 2X+2 features (for set subsumption features),
992 2X+4 features (for AC-compatible features) or 4X+6 features (if
993 all features are used, the default). Note that the actually used
994 set of features may be smaller than this if the signature does
995 not contain enough symbols.For the Perm and PermOpt version,
996 this is _also_ used to set the maximum depth of the feature vec‐
997 tor index. Yes, I should probably make this into two separate
998 options. If you select a small value here, you should probably
999 not use "Direct" for the --subsumption-indexing option. The
1000 option without the optional argument is equivalent to --fvin‐
1001 dex-maxfeatures=200.
1002
1003 --fvindex-slack[=<arg>]
1004
1005 Set the number of slots reserved in the index for function sym‐
1006 bols that may be introduced into the signature later, e.g. by
1007 splitting. If no new symbols are introduced, this just wastes
1008 time and memory. If PermOpt is chosen, the slackness slots will
1009 be deleted from the index anyways, but will still waste (a lit‐
1010 tle) time in computing feature vectors. The option without the
1011 optional argument is equivalent to --fvindex-slack=0.
1012
1013 --rw-bw-index[=<arg>]
1014
1015 Select fingerprint function for backwards rewrite index. "NoIn‐
1016 dex" will disable paramodulation indexing. For a list of the
1017 other values run 'eprover --pm-index=none'. FPX functions will
1018 use a fingerprint of X positions, the letters disambiguate
1019 between different fingerprints with the same sample size. The
1020 option without the optional argument is equivalent to
1021 --rw-bw-index=FP7.
1022
1023 --pm-from-index[=<arg>]
1024
1025 Select fingerprint function for the index for paramodulation
1026 from indexed clauses. "NoIndex" will disable paramodulation
1027 indexing. For a list of the other values run 'eprover
1028 --pm-index=none'. FPX functionswill use a fingerprint of X posi‐
1029 tions, the letters disambiguate between different fingerprints
1030 with the same sample size. The option without the optional argu‐
1031 ment is equivalent to --pm-from-index=FP7.
1032
1033 --pm-into-index[=<arg>]
1034
1035 Select fingerprint function for the index for paramodulation
1036 into the indexed clauses. "NoIndex" will disable paramodulation
1037 indexing. For a list of the other values run 'eprover
1038 --pm-index=none'. FPX functionswill use a fingerprint of X posi‐
1039 tions, the letters disambiguate between different fingerprints
1040 with the same sample size. The option without the optional argu‐
1041 ment is equivalent to --pm-into-index=FP7.
1042
1043 --fp-index[=<arg>]
1044
1045 Select fingerprint function for all fingerprint indices. See
1046 above. The option without the optional argument is equivalent to
1047 --fp-index=FP7.
1048
1049 --fp-no-size-constr
1050
1051 Disable usage of size constraints for matching with fingerprint
1052 indexing.
1053
1054 --pdt-no-size-constr
1055
1056 Disable usage of size constraints for matching with perfect dis‐
1057 crimination trees indexing.
1058
1059 --pdt-no-age-constr
1060
1061 Disable usage of age constraints for matching with perfect dis‐
1062 crimination trees indexing.
1063
1064 --detsort-rw
1065
1066 Sort set of clauses eliminated by backward rewriting using a
1067 total syntactic ordering.
1068
1069 --detsort-new
1070
1071 Sort set of newly generated and backward simplified clauses
1072 using a total syntactic ordering.
1073
1074 -D <arg>
1075
1076 --define-weight-function=<arg>
1077
1078 Define
1079 a weight function (see manual for details). Later definitions
1080
1081 override previous definitions.
1082
1083 -H <arg>
1084
1085 --define-heuristic=<arg>
1086
1087 Define a clause selection heuristic (see manual for details).
1088 Later definitions override previous definitions.
1089
1090 --free-numbers
1091
1092 Treat numbers (strings of decimal digits) as normal free func‐
1093 tion symbols in the input. By default, number now are supposed
1094 to denote domain constants and to be implicitly different from
1095 each other.
1096
1097 --free-objects
1098
1099 Treat object identifiers (strings in double quotes) as normal
1100 free function symbols in the input. By default, object identi‐
1101 fiers now represent domain objects and are implicitly different
1102 from each other (and from numbers, unless those are declared to
1103 be free).
1104
1105 --definitional-cnf[=<arg>]
1106
1107 Tune the clausification algorithm to introduces definitions for
1108 subformulae to avoid exponential blow-up. The optional argument
1109 is a fudge factor that determines when definitions are intro‐
1110 duced. 0 disables definitions completely. The default works
1111 well. The option without the optional argument is equivalent to
1112 --definitional-cnf=24.
1113
1114 --old-cnf[=<arg>]
1115
1116 As the previous option, but use the classical, well-tested
1117 clausification algorithm as opposed to the newewst one which
1118 avoides some algorithmic pitfalls and hence works better on some
1119 exotic formulae. The two may produce slightly different (but
1120 equisatisfiable) clause normal forms. The option without the
1121 optional argument is equivalent to --old-cnf=24.
1122
1123 --miniscope-limit[=<arg>]
1124
1125 Set the limit of sub-formula-size to miniscope. The build-inde‐
1126 fault is 256. Only applies to the new (default) clausification
1127 algorithm The option without the optional argument is equivalent
1128 to --miniscope-limit=2147483648.
1129
1130 --print-types
1131
1132 Print the type of every term. Useful for debugging purposes.
1133
1134 --app-encode
1135
1136 Encodes terms in the proof state using applicative encoding,
1137 prints encoded input problem and exits.
1138
1140 Report bugs to <schulz@eprover.org>. Please include the following, if
1141 possible:
1142
1143 * The version of the package as reported by eprover --version.
1144
1145 * The operating system and version.
1146
1147 * The exact command line that leads to the unexpected behaviour.
1148
1149 * A description of what you expected and what actually happend.
1150
1151 * If possible all input files necessary to reproduce the bug.
1152
1154 Copyright 1998-2019 by Stephan Schulz, schulz@eprover.org, and the E
1155 contributors (see DOC/CONTRIBUTORS).
1156
1157 This program is a part of the distribution of the equational theorem
1158 prover E. You can find the latest version of the E distribution as well
1159 as additional information at http://www.eprover.org
1160
1161 This program is free software; you can redistribute it and/or modify it
1162 under the terms of the GNU General Public License as published by the
1163 Free Software Foundation; either version 2 of the License, or (at your
1164 option) any later version.
1165
1166 This program is distributed in the hope that it will be useful, but
1167 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
1168 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
1169 Public License for more details.
1170
1171 You should have received a copy of the GNU General Public License along
1172 with this program (it should be contained in the top level directory of
1173 the distribution in the file COPYING); if not, write to the Free Soft‐
1174 ware Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1175 02111-1307 USA
1176
1177 The original copyright holder can be contacted via email or as
1178
1179 Stephan Schulz DHBW Stuttgart Fakultaet Technik Informatik Rote‐
1180 buehlplatz 41 70178 Stuttgart Germany
1181
1182
1183
1184E 2.3-DEBUG Gielle April 2019 E(1)