Verbose mode

Running prover X in verbose mode (-v option) we get a detailed description of the performed proof-search. E.g., the following are some steps from the execution of g3ibu in verbose mode on Kreisel-Putnam Principle:

$ java -jar g3ibu-1.0.jar -v wffs/ipl_examples_jtabwb/scott.jtabwb
** Reader [jtawb_format]
> Parsing problem... time (ms) [2]
** Problem [Kreisel-Putnam], status [UNPROVABLE]
> Building initial node set... time (ms) [101]
** Prover [g3ibu 1.0 (seq=bsf, eval=min)]
> Proving...
[0] ------------------------------------ [INITIAL_STATE]
    Stack size [0]
    Initial goal: (0)
    | [U]==>
    | (((p -> false) -> (q | r)) -> (((p -> false) -> q) | ((p -> false) -> r)))
[1] ------------------------------------ [REGULAR_RULE_APPLICATION]
    Stack size [0]
    Selected formula [->-formula]: (((p -> false) -> (q | r)) ->
                                   (((p -> false) -> q) | ((p -> false) -> r)))
    Rule name [RIGHT_IMPLIES], conclusions [1], treating branch [1 of 1]
    Details: Eval(((p -> false) -> (q | r)),premise)= F
    Generated node: (1)
    | ((p -> false) -> (q | r))[U]==>
    | (((p -> false) -> q) | ((p -> false) -> r))
[2] ------------------------------------ [CLASH_DETECTION_RULE_APPLICATION]
    Stack size [0]
    Rule name: CLASH_DETECTION
    Clash status: FAILURE
[3] ------------------------------------ [META_RULE_APPLICATION]
    Stack size: [1], BACKTRACK POINT added
    Rule name [G3ibu Meta Backtrack rule], rules to try [2]
    Rule [1 of 2] selected, [LEFT_IMPLIES] on [->-formula]: ((p -> false) -> (q | r))
    Added [on rule resumed] listener for [G3ibu Meta Backtrack rule]
[4] ------------------------------------ [REGULAR_RULE_APPLICATION]
    Stack size: [2], AND-BRANCH POINT added
    Selected formula [->-formula]: ((p -> false) -> (q | r))
    Rule name [LEFT_IMPLIES], conclusions [2], treating branch [1 of 2]
    Generated node: (2)
    | (q | r)[U]==>
    | (((p -> false) -> q) | ((p -> false) -> r))
[5] ------------------------------------ [REGULAR_RULE_APPLICATION]
    Stack size: [3], AND-BRANCH POINT added
    Selected formula [|-formula]: (q | r)
    Rule name [LEFT_OR], conclusions [2], treating branch [1 of 2]
    Generated node: (3)
    | q[U]==>
    | (((p -> false) -> q) | ((p -> false) -> r))
[6] ------------------------------------ [CLASH_DETECTION_RULE_APPLICATION]
    Stack size [3]
    Rule name: CLASH_DETECTION
    Clash status: FAILURE
....

The output describes the iterations performed by the engine. Every iteration starts with a line of the form:

[N] ------------------------------------ [ENGINE_MOVE]

specifying that at iteration N the prover has performed the specified move. The possible moves are:

  • INITIAL_STATE
  • REGULAR_RULE_APPLICATION:
  • CLASH_DETECTION_RULE_APPLICATION
  • BRANCH_EXISTS_RULE_APPLICATION
  • META_RULE_APPLICATION
  • AND_BRANCH_POINT_SEARCH
  • BACKTRACK_POINT_SEARCH

According with the move performed by the prover displays different data.

INITIAL_STATE

[0] ------------------------------------ [INITIAL_STATE]
    Stack size [0]
    Initial goal: (0)
    | [U]==>
    | (((p -> false) -> (q | r)) -> (((p -> false) -> q) | ((p -> false) -> r)))

The engine displays the initial stack size and the goal of the proof-search (having index 0). Node-sets are indexed by a counter displayed between (...) for future references.

REGULAR_RULE_APPLICATION

[4] ------------------------------------ [REGULAR_RULE_APPLICATION]
    Stack size: [2], AND-BRANCH POINT added
    Selected formula [->-formula]: ((p -> false) -> (q | r))
    Rule name [LEFT_IMPLIES], conclusions [2], treating branch [1 of 2]
    Generated node: (2)
    | (q | r)[U]==>
    | (((p -> false) -> q) | ((p -> false) -> r))

The engine displays the following data:

  • The depth of the stack and a massage describing whether the performed rule application modified the stack.
  • The treated formula (selected formula) that is the main formula of the rule application. For the formula are displayed both the short name that the formula description obtained by invoking the methods shortName() and format() of _AbstractFormula respectively.
  • The applied rule, the number of conclusions generated by the rule application (conclusions [N]) and the conclusion treated by this rule application.
  • The node-set generated by the rule application and selected as next goal.

CLASH_DETECTION_RULE_APPLICATION

[2] ------------------------------------ [CLASH_DETECTION_RULE_APPLICATION]
    Stack size [0]
    Rule name: CLASH_DETECTION
    Clash status: FAILURE

The engine displays the stack size, the rule name and the status of its application (FAILURE'' or ``SUCCESS).

BRANCH_EXISTS_RULE_APPLICATION

[8] ------------------------------------ [BRANCH_EXISTS_RULE_APPLICATION]
    Stack size: [4], BACKTRACK POINT added
    Selected formula [|-formula]: (((p -> false) -> q) | ((p -> false) -> r))
    Rule name [RIGHT_OR], conclusions [2], treating conclusion [1 of 2]
    Generated node: (4)
    | q[B]==>
    | ((p -> false) -> q)

The engine displays the following data:

  • The depth of the stack and a massage describing whether the performed rule application modified the stack.
  • The treated formula (selected formula) that is the main formula of the rule application.
  • The applied rule, the number of conclusions generated by the rule application (conclusions [N]) and the conclusion treated by this rule application.
  • The node-set generated by the rule application and selected as next goal.

META_RULE_APPLICATION

[36] ------------------------------------ [META_RULE_APPLICATION]
    Stack size: [2], BACKTRACK POINT added
    Rule name [G3ibu Meta Backtrack rule], rules to try [2]
    Rule [1 of 2] selected, [LEFT_IMPLIES] on [->-formula]: (p -> false)
    Added [on rule resumed] listener for [G3ibu Meta Backtrack rule]

The engine displays the following data:

  • The depth of the stack and a massage describing whether the performed rule application modified the stack.
  • The applied meta-backtrack rule with the number of rule applications generated by its application (rules to try [N]).
  • The number of the rule selected for application, its name and its main formula.
  • In the examples is also reported that applying the rule the engine registered an on rule resumed (this means that the applied meta-backtrack rule implements the engine._OnRuleResumedListener interface).