TSTP Solution File: PLA020-1 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : PLA020-1 : TPTP v8.1.0. Released v1.1.0.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n008.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Sun Sep 18 13:39:56 EDT 2022

% Result   : Unsatisfiable 0.20s 0.40s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    7
%            Number of leaves      :   26
% Syntax   : Number of formulae    :   44 (  15 unt;   9 typ;   0 def)
%            Number of atoms       :  205 (   0 equ)
%            Maximal formula atoms :   16 (   5 avg)
%            Number of connectives :  301 ( 146   ~; 134   |;   0   &)
%                                         (  21 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   5 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       :   15 (  15 fml;   0 var)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    8 (   5   >;   3   *;   0   +;   0  <<)
%            Number of predicates  :    6 (   5 usr;   1 prp; 0-3 aty)
%            Number of functors    :    8 (   8 usr;   4 con; 0-2 aty)
%            Number of variables   :   73 (  66   !;   0   ?;  73   :)

% Comments : 
%------------------------------------------------------------------------------
tff(holds_type,type,
    holds: ( $i * $i ) > $o ).

tff(do_type,type,
    do: ( $i * $i ) > $i ).

tff(s0_type,type,
    s0: $i ).

tff(pickup_type,type,
    pickup: $i > $i ).

tff(c_type,type,
    c: $i ).

tff(clear_type,type,
    clear: $i > $i ).

tff(d_type,type,
    d: $i ).

tff(empty_type,type,
    empty: $i ).

tff(on_type,type,
    on: ( $i * $i ) > $i ).

tff(1,plain,
    ( holds(empty,s0)
  <=> holds(empty,s0) ),
    inference(rewrite,[status(thm)],]) ).

tff(2,axiom,
    holds(empty,s0),
    file('/export/starexec/sandbox2/benchmark/Axioms/PLA001-1.ax',initial_state8) ).

tff(3,plain,
    holds(empty,s0),
    inference(modus_ponens,[status(thm)],[2,1]) ).

tff(4,plain,
    ( holds(clear(c),s0)
  <=> holds(clear(c),s0) ),
    inference(rewrite,[status(thm)],]) ).

tff(5,axiom,
    holds(clear(c),s0),
    file('/export/starexec/sandbox2/benchmark/Axioms/PLA001-1.ax',initial_state7) ).

tff(6,plain,
    holds(clear(c),s0),
    inference(modus_ponens,[status(thm)],[5,4]) ).

tff(7,plain,
    ( holds(on(c,d),s0)
  <=> holds(on(c,d),s0) ),
    inference(rewrite,[status(thm)],]) ).

tff(8,axiom,
    holds(on(c,d),s0),
    file('/export/starexec/sandbox2/benchmark/Axioms/PLA001-1.ax',initial_state3) ).

tff(9,plain,
    holds(on(c,d),s0),
    inference(modus_ponens,[status(thm)],[8,7]) ).

tff(10,plain,
    ^ [Y: $i,State: $i,X: $i] :
      refl(
        ( ( ~ holds(clear(X),State)
          | ~ holds(empty,State)
          | ~ holds(on(X,Y),State)
          | holds(clear(Y),do(pickup(X),State)) )
      <=> ( ~ holds(clear(X),State)
          | ~ holds(empty,State)
          | ~ holds(on(X,Y),State)
          | holds(clear(Y),do(pickup(X),State)) ) )),
    inference(bind,[status(th)],]) ).

tff(11,plain,
    ( ! [Y: $i,State: $i,X: $i] :
        ( ~ holds(clear(X),State)
        | ~ holds(empty,State)
        | ~ holds(on(X,Y),State)
        | holds(clear(Y),do(pickup(X),State)) )
  <=> ! [Y: $i,State: $i,X: $i] :
        ( ~ holds(clear(X),State)
        | ~ holds(empty,State)
        | ~ holds(on(X,Y),State)
        | holds(clear(Y),do(pickup(X),State)) ) ),
    inference(quant_intro,[status(thm)],[10]) ).

tff(12,plain,
    ( ! [Y: $i,State: $i,X: $i] :
        ( ~ holds(clear(X),State)
        | ~ holds(empty,State)
        | ~ holds(on(X,Y),State)
        | holds(clear(Y),do(pickup(X),State)) )
  <=> ! [Y: $i,State: $i,X: $i] :
        ( ~ holds(clear(X),State)
        | ~ holds(empty,State)
        | ~ holds(on(X,Y),State)
        | holds(clear(Y),do(pickup(X),State)) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(13,plain,
    ^ [Y: $i,State: $i,X: $i] :
      trans(
        monotonicity(
          trans(
            monotonicity(
              rewrite(
                ( ( holds(clear(Y),do(pickup(X),State))
                  | ~ holds(on(X,Y),State) )
              <=> ( ~ holds(on(X,Y),State)
                  | holds(clear(Y),do(pickup(X),State)) ) )),
              ( ( holds(clear(Y),do(pickup(X),State))
                | ~ holds(on(X,Y),State)
                | ~ holds(clear(X),State) )
            <=> ( ~ holds(on(X,Y),State)
                | holds(clear(Y),do(pickup(X),State))
                | ~ holds(clear(X),State) ) )),
            rewrite(
              ( ( ~ holds(on(X,Y),State)
                | holds(clear(Y),do(pickup(X),State))
                | ~ holds(clear(X),State) )
            <=> ( ~ holds(clear(X),State)
                | ~ holds(on(X,Y),State)
                | holds(clear(Y),do(pickup(X),State)) ) )),
            ( ( holds(clear(Y),do(pickup(X),State))
              | ~ holds(on(X,Y),State)
              | ~ holds(clear(X),State) )
          <=> ( ~ holds(clear(X),State)
              | ~ holds(on(X,Y),State)
              | holds(clear(Y),do(pickup(X),State)) ) )),
          ( ( holds(clear(Y),do(pickup(X),State))
            | ~ holds(on(X,Y),State)
            | ~ holds(clear(X),State)
            | ~ holds(empty,State) )
        <=> ( ~ holds(clear(X),State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State))
            | ~ holds(empty,State) ) )),
        rewrite(
          ( ( ~ holds(clear(X),State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State))
            | ~ holds(empty,State) )
        <=> ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) ) )),
        ( ( holds(clear(Y),do(pickup(X),State))
          | ~ holds(on(X,Y),State)
          | ~ holds(clear(X),State)
          | ~ holds(empty,State) )
      <=> ( ~ holds(clear(X),State)
          | ~ holds(empty,State)
          | ~ holds(on(X,Y),State)
          | holds(clear(Y),do(pickup(X),State)) ) )),
    inference(bind,[status(th)],]) ).

tff(14,plain,
    ( ! [Y: $i,State: $i,X: $i] :
        ( holds(clear(Y),do(pickup(X),State))
        | ~ holds(on(X,Y),State)
        | ~ holds(clear(X),State)
        | ~ holds(empty,State) )
  <=> ! [Y: $i,State: $i,X: $i] :
        ( ~ holds(clear(X),State)
        | ~ holds(empty,State)
        | ~ holds(on(X,Y),State)
        | holds(clear(Y),do(pickup(X),State)) ) ),
    inference(quant_intro,[status(thm)],[13]) ).

tff(15,axiom,
    ! [Y: $i,State: $i,X: $i] :
      ( holds(clear(Y),do(pickup(X),State))
      | ~ holds(on(X,Y),State)
      | ~ holds(clear(X),State)
      | ~ holds(empty,State) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/PLA001-0.ax',pickup_2) ).

tff(16,plain,
    ! [Y: $i,State: $i,X: $i] :
      ( ~ holds(clear(X),State)
      | ~ holds(empty,State)
      | ~ holds(on(X,Y),State)
      | holds(clear(Y),do(pickup(X),State)) ),
    inference(modus_ponens,[status(thm)],[15,14]) ).

tff(17,plain,
    ! [Y: $i,State: $i,X: $i] :
      ( ~ holds(clear(X),State)
      | ~ holds(empty,State)
      | ~ holds(on(X,Y),State)
      | holds(clear(Y),do(pickup(X),State)) ),
    inference(modus_ponens,[status(thm)],[16,12]) ).

tff(18,plain,
    ! [Y: $i,State: $i,X: $i] :
      ( ~ holds(clear(X),State)
      | ~ holds(empty,State)
      | ~ holds(on(X,Y),State)
      | holds(clear(Y),do(pickup(X),State)) ),
    inference(skolemize,[status(sab)],[17]) ).

tff(19,plain,
    ! [Y: $i,State: $i,X: $i] :
      ( ~ holds(clear(X),State)
      | ~ holds(empty,State)
      | ~ holds(on(X,Y),State)
      | holds(clear(Y),do(pickup(X),State)) ),
    inference(modus_ponens,[status(thm)],[18,11]) ).

tff(20,plain,
    ( ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(empty,s0)
      | ~ holds(clear(c),s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) )
  <=> ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(empty,s0)
      | ~ holds(clear(c),s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(21,plain,
    ( ( ~ holds(clear(c),s0)
      | ~ holds(empty,s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) )
  <=> ( ~ holds(empty,s0)
      | ~ holds(clear(c),s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(22,plain,
    ( ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(clear(c),s0)
      | ~ holds(empty,s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) )
  <=> ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(empty,s0)
      | ~ holds(clear(c),s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) ) ),
    inference(monotonicity,[status(thm)],[21]) ).

tff(23,plain,
    ( ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(clear(c),s0)
      | ~ holds(empty,s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) )
  <=> ( ~ ! [Y: $i,State: $i,X: $i] :
            ( ~ holds(clear(X),State)
            | ~ holds(empty,State)
            | ~ holds(on(X,Y),State)
            | holds(clear(Y),do(pickup(X),State)) )
      | ~ holds(empty,s0)
      | ~ holds(clear(c),s0)
      | ~ holds(on(c,d),s0)
      | holds(clear(d),do(pickup(c),s0)) ) ),
    inference(transitivity,[status(thm)],[22,20]) ).

tff(24,plain,
    ( ~ ! [Y: $i,State: $i,X: $i] :
          ( ~ holds(clear(X),State)
          | ~ holds(empty,State)
          | ~ holds(on(X,Y),State)
          | holds(clear(Y),do(pickup(X),State)) )
    | ~ holds(clear(c),s0)
    | ~ holds(empty,s0)
    | ~ holds(on(c,d),s0)
    | holds(clear(d),do(pickup(c),s0)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(25,plain,
    ( ~ ! [Y: $i,State: $i,X: $i] :
          ( ~ holds(clear(X),State)
          | ~ holds(empty,State)
          | ~ holds(on(X,Y),State)
          | holds(clear(Y),do(pickup(X),State)) )
    | ~ holds(empty,s0)
    | ~ holds(clear(c),s0)
    | ~ holds(on(c,d),s0)
    | holds(clear(d),do(pickup(c),s0)) ),
    inference(modus_ponens,[status(thm)],[24,23]) ).

tff(26,plain,
    holds(clear(d),do(pickup(c),s0)),
    inference(unit_resolution,[status(thm)],[25,19,9,6,3]) ).

tff(27,plain,
    ^ [State: $i] :
      refl(
        ( ~ holds(clear(d),State)
      <=> ~ holds(clear(d),State) )),
    inference(bind,[status(th)],]) ).

tff(28,plain,
    ( ! [State: $i] : ~ holds(clear(d),State)
  <=> ! [State: $i] : ~ holds(clear(d),State) ),
    inference(quant_intro,[status(thm)],[27]) ).

tff(29,plain,
    ( ! [State: $i] : ~ holds(clear(d),State)
  <=> ! [State: $i] : ~ holds(clear(d),State) ),
    inference(rewrite,[status(thm)],]) ).

tff(30,axiom,
    ! [State: $i] : ~ holds(clear(d),State),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',prove_D) ).

tff(31,plain,
    ! [State: $i] : ~ holds(clear(d),State),
    inference(modus_ponens,[status(thm)],[30,29]) ).

tff(32,plain,
    ! [State: $i] : ~ holds(clear(d),State),
    inference(skolemize,[status(sab)],[31]) ).

tff(33,plain,
    ! [State: $i] : ~ holds(clear(d),State),
    inference(modus_ponens,[status(thm)],[32,28]) ).

tff(34,plain,
    ( ~ ! [State: $i] : ~ holds(clear(d),State)
    | ~ holds(clear(d),do(pickup(c),s0)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(35,plain,
    $false,
    inference(unit_resolution,[status(thm)],[34,33,26]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : PLA020-1 : TPTP v8.1.0. Released v1.1.0.
% 0.12/0.13  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.13/0.34  % Computer : n008.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Fri Sep  2 17:18:55 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.20/0.35  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.20/0.35  Usage: tptp [options] [-file:]file
% 0.20/0.35    -h, -?       prints this message.
% 0.20/0.35    -smt2        print SMT-LIB2 benchmark.
% 0.20/0.35    -m, -model   generate model.
% 0.20/0.35    -p, -proof   generate proof.
% 0.20/0.35    -c, -core    generate unsat core of named formulas.
% 0.20/0.35    -st, -statistics display statistics.
% 0.20/0.35    -t:timeout   set timeout (in second).
% 0.20/0.35    -smt2status  display status in smt2 format instead of SZS.
% 0.20/0.35    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.20/0.35    -<param>:<value> configuration parameter and value.
% 0.20/0.35    -o:<output-file> file to place output in.
% 0.20/0.40  % SZS status Unsatisfiable
% 0.20/0.40  % SZS output start Proof
% See solution above
%------------------------------------------------------------------------------