TSTP Solution File: SWB087+1 by Z3---4.8.9.0

View Problem - Process Solution

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

% Computer : n022.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 : Tue Sep 20 08:32:15 EDT 2022

% Result   : Theorem 0.69s 0.74s
% Output   : Proof 0.77s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :   33
% Syntax   : Number of formulae    :   64 (  16 unt;  11 typ;   0 def)
%            Number of atoms       :  268 (   0 equ)
%            Maximal formula atoms :   16 (   5 avg)
%            Number of connectives :  302 ( 105   ~;  86   |;  19   &)
%                                         (  89 <=>;   3  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   5 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :   18 (  18 fml;   0 var)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    7 (   3   >;   4   *;   0   +;   0  <<)
%            Number of predicates  :    7 (   6 usr;   1 prp; 0-3 aty)
%            Number of functors    :    9 (   9 usr;   8 con; 0-2 aty)
%            Number of variables   :  155 ( 138   !;   0   ?; 155   :)

% Comments : 
%------------------------------------------------------------------------------
tff(iext_type,type,
    iext: ( $i * $i * $i ) > $o ).

tff(uri_ex_w_type,type,
    uri_ex_w: $i ).

tff(uri_ex_p_type,type,
    uri_ex_p: $i ).

tff(icext_type,type,
    icext: ( $i * $i ) > $o ).

tff(uri_ex_z_type,type,
    uri_ex_z: $i ).

tff(uri_rdf_type_type,type,
    uri_rdf_type: $i ).

tff(uri_owl_onProperty_type,type,
    uri_owl_onProperty: $i ).

tff(literal_typed_type,type,
    literal_typed: ( $i * $i ) > $i ).

tff(uri_xsd_boolean_type,type,
    uri_xsd_boolean: $i ).

tff(dat_str_true_type,type,
    dat_str_true: $i ).

tff(uri_owl_hasSelf_type,type,
    uri_owl_hasSelf: $i ).

tff(1,plain,
    ^ [X: $i,C: $i] :
      refl(
        ( ( iext(uri_rdf_type,X,C)
        <=> icext(C,X) )
      <=> ( iext(uri_rdf_type,X,C)
        <=> icext(C,X) ) )),
    inference(bind,[status(th)],]) ).

tff(2,plain,
    ( ! [X: $i,C: $i] :
        ( iext(uri_rdf_type,X,C)
      <=> icext(C,X) )
  <=> ! [X: $i,C: $i] :
        ( iext(uri_rdf_type,X,C)
      <=> icext(C,X) ) ),
    inference(quant_intro,[status(thm)],[1]) ).

tff(3,plain,
    ( ! [X: $i,C: $i] :
        ( iext(uri_rdf_type,X,C)
      <=> icext(C,X) )
  <=> ! [X: $i,C: $i] :
        ( iext(uri_rdf_type,X,C)
      <=> icext(C,X) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(4,axiom,
    ! [X: $i,C: $i] :
      ( iext(uri_rdf_type,X,C)
    <=> icext(C,X) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWB001+0.ax',rdfs_cext_def) ).

tff(5,plain,
    ! [X: $i,C: $i] :
      ( iext(uri_rdf_type,X,C)
    <=> icext(C,X) ),
    inference(modus_ponens,[status(thm)],[4,3]) ).

tff(6,plain,
    ! [X: $i,C: $i] :
      ( iext(uri_rdf_type,X,C)
    <=> icext(C,X) ),
    inference(skolemize,[status(sab)],[5]) ).

tff(7,plain,
    ! [X: $i,C: $i] :
      ( iext(uri_rdf_type,X,C)
    <=> icext(C,X) ),
    inference(modus_ponens,[status(thm)],[6,2]) ).

tff(8,plain,
    ( ~ ! [X: $i,C: $i] :
          ( iext(uri_rdf_type,X,C)
        <=> icext(C,X) )
    | ( iext(uri_rdf_type,uri_ex_w,uri_ex_z)
    <=> icext(uri_ex_z,uri_ex_w) ) ),
    inference(quant_inst,[status(thm)],]) ).

tff(9,plain,
    ( iext(uri_rdf_type,uri_ex_w,uri_ex_z)
  <=> icext(uri_ex_z,uri_ex_w) ),
    inference(unit_resolution,[status(thm)],[8,7]) ).

tff(10,plain,
    ( ~ iext(uri_rdf_type,uri_ex_w,uri_ex_z)
  <=> ~ iext(uri_rdf_type,uri_ex_w,uri_ex_z) ),
    inference(rewrite,[status(thm)],]) ).

tff(11,axiom,
    ~ iext(uri_rdf_type,uri_ex_w,uri_ex_z),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conclusion_rdfbased_sem_restrict_hasself_inst_subj) ).

tff(12,plain,
    ~ iext(uri_rdf_type,uri_ex_w,uri_ex_z),
    inference(modus_ponens,[status(thm)],[11,10]) ).

tff(13,plain,
    ( ~ ( iext(uri_rdf_type,uri_ex_w,uri_ex_z)
      <=> icext(uri_ex_z,uri_ex_w) )
    | iext(uri_rdf_type,uri_ex_w,uri_ex_z)
    | ~ icext(uri_ex_z,uri_ex_w) ),
    inference(tautology,[status(thm)],]) ).

tff(14,plain,
    ( ~ ( iext(uri_rdf_type,uri_ex_w,uri_ex_z)
      <=> icext(uri_ex_z,uri_ex_w) )
    | ~ icext(uri_ex_z,uri_ex_w) ),
    inference(unit_resolution,[status(thm)],[13,12]) ).

tff(15,plain,
    ~ icext(uri_ex_z,uri_ex_w),
    inference(unit_resolution,[status(thm)],[14,9]) ).

tff(16,plain,
    ( iext(uri_ex_p,uri_ex_w,uri_ex_w)
  <=> iext(uri_ex_p,uri_ex_w,uri_ex_w) ),
    inference(rewrite,[status(thm)],]) ).

tff(17,axiom,
    ( iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
    & iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
    & iext(uri_ex_p,uri_ex_w,uri_ex_w) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',premise_rdfbased_sem_restrict_hasself_inst_subj) ).

tff(18,plain,
    iext(uri_ex_p,uri_ex_w,uri_ex_w),
    inference(and_elim,[status(thm)],[17]) ).

tff(19,plain,
    iext(uri_ex_p,uri_ex_w,uri_ex_w),
    inference(modus_ponens,[status(thm)],[18,16]) ).

tff(20,plain,
    ( ~ ( icext(uri_ex_z,uri_ex_w)
      <=> iext(uri_ex_p,uri_ex_w,uri_ex_w) )
    | icext(uri_ex_z,uri_ex_w)
    | ~ iext(uri_ex_p,uri_ex_w,uri_ex_w) ),
    inference(tautology,[status(thm)],]) ).

tff(21,plain,
    ~ ( icext(uri_ex_z,uri_ex_w)
    <=> iext(uri_ex_p,uri_ex_w,uri_ex_w) ),
    inference(unit_resolution,[status(thm)],[20,19,15]) ).

tff(22,plain,
    ( iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
  <=> iext(uri_owl_onProperty,uri_ex_z,uri_ex_p) ),
    inference(rewrite,[status(thm)],]) ).

tff(23,plain,
    ( iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
    & iext(uri_owl_onProperty,uri_ex_z,uri_ex_p) ),
    inference(and_elim,[status(thm)],[17]) ).

tff(24,plain,
    iext(uri_owl_onProperty,uri_ex_z,uri_ex_p),
    inference(and_elim,[status(thm)],[23]) ).

tff(25,plain,
    iext(uri_owl_onProperty,uri_ex_z,uri_ex_p),
    inference(modus_ponens,[status(thm)],[24,22]) ).

tff(26,plain,
    ( iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
  <=> iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean)) ),
    inference(rewrite,[status(thm)],]) ).

tff(27,plain,
    iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean)),
    inference(and_elim,[status(thm)],[23]) ).

tff(28,plain,
    iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean)),
    inference(modus_ponens,[status(thm)],[27,26]) ).

tff(29,plain,
    ^ [Z: $i,P: $i,V: $i] :
      rewrite(
        ( ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) )
      <=> ( ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V)
          | ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) ) )),
    inference(bind,[status(th)],]) ).

tff(30,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V)
        | ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) ) ),
    inference(quant_intro,[status(thm)],[29]) ).

tff(31,plain,
    ^ [Z: $i,P: $i,V: $i] :
      refl(
        ( ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) )
      <=> ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) ) )),
    inference(bind,[status(th)],]) ).

tff(32,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) ) ),
    inference(quant_intro,[status(thm)],[31]) ).

tff(33,plain,
    ^ [Z: $i,P: $i,V: $i] :
      rewrite(
        ( ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) )
      <=> ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) ) )),
    inference(bind,[status(th)],]) ).

tff(34,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) ) ),
    inference(quant_intro,[status(thm)],[33]) ).

tff(35,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) ) ),
    inference(transitivity,[status(thm)],[34,32]) ).

tff(36,plain,
    ^ [Z: $i,P: $i,V: $i] :
      trans(
        monotonicity(
          trans(
            monotonicity(
              rewrite(
                ( ( iext(uri_owl_hasSelf,Z,V)
                  & iext(uri_owl_onProperty,Z,P) )
              <=> ~ ( ~ iext(uri_owl_hasSelf,Z,V)
                    | ~ iext(uri_owl_onProperty,Z,P) ) )),
              ( ~ ( iext(uri_owl_hasSelf,Z,V)
                  & iext(uri_owl_onProperty,Z,P) )
            <=> ~ ~ ( ~ iext(uri_owl_hasSelf,Z,V)
                    | ~ iext(uri_owl_onProperty,Z,P) ) )),
            rewrite(
              ( ~ ~ ( ~ iext(uri_owl_hasSelf,Z,V)
                    | ~ iext(uri_owl_onProperty,Z,P) )
            <=> ( ~ iext(uri_owl_hasSelf,Z,V)
                | ~ iext(uri_owl_onProperty,Z,P) ) )),
            ( ~ ( iext(uri_owl_hasSelf,Z,V)
                & iext(uri_owl_onProperty,Z,P) )
          <=> ( ~ iext(uri_owl_hasSelf,Z,V)
              | ~ iext(uri_owl_onProperty,Z,P) ) )),
          ( ( ~ ( iext(uri_owl_hasSelf,Z,V)
                & iext(uri_owl_onProperty,Z,P) )
            | ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) ) )
        <=> ( ~ iext(uri_owl_hasSelf,Z,V)
            | ~ iext(uri_owl_onProperty,Z,P)
            | ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) ) ) )),
        rewrite(
          ( ( ~ iext(uri_owl_hasSelf,Z,V)
            | ~ iext(uri_owl_onProperty,Z,P)
            | ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) ) )
        <=> ( ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) )
            | ~ iext(uri_owl_onProperty,Z,P)
            | ~ iext(uri_owl_hasSelf,Z,V) ) )),
        ( ( ~ ( iext(uri_owl_hasSelf,Z,V)
              & iext(uri_owl_onProperty,Z,P) )
          | ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) )
      <=> ( ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) )
          | ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V) ) )),
    inference(bind,[status(th)],]) ).

tff(37,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ~ ( iext(uri_owl_hasSelf,Z,V)
            & iext(uri_owl_onProperty,Z,P) )
        | ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) )
        | ~ iext(uri_owl_onProperty,Z,P)
        | ~ iext(uri_owl_hasSelf,Z,V) ) ),
    inference(quant_intro,[status(thm)],[36]) ).

tff(38,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ~ ( iext(uri_owl_hasSelf,Z,V)
            & iext(uri_owl_onProperty,Z,P) )
        | ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ~ ( iext(uri_owl_hasSelf,Z,V)
            & iext(uri_owl_onProperty,Z,P) )
        | ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(39,plain,
    ^ [Z: $i,P: $i,V: $i] :
      rewrite(
        ( ( ( iext(uri_owl_hasSelf,Z,V)
            & iext(uri_owl_onProperty,Z,P) )
         => ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) )
      <=> ( ~ ( iext(uri_owl_hasSelf,Z,V)
              & iext(uri_owl_onProperty,Z,P) )
          | ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) ) )),
    inference(bind,[status(th)],]) ).

tff(40,plain,
    ( ! [Z: $i,P: $i,V: $i] :
        ( ( iext(uri_owl_hasSelf,Z,V)
          & iext(uri_owl_onProperty,Z,P) )
       => ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) )
  <=> ! [Z: $i,P: $i,V: $i] :
        ( ~ ( iext(uri_owl_hasSelf,Z,V)
            & iext(uri_owl_onProperty,Z,P) )
        | ! [X: $i] :
            ( icext(Z,X)
          <=> iext(P,X,X) ) ) ),
    inference(quant_intro,[status(thm)],[39]) ).

tff(41,axiom,
    ! [Z: $i,P: $i,V: $i] :
      ( ( iext(uri_owl_hasSelf,Z,V)
        & iext(uri_owl_onProperty,Z,P) )
     => ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) ) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWB001+0.ax',owl_restrict_hasself) ).

tff(42,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ~ ( iext(uri_owl_hasSelf,Z,V)
          & iext(uri_owl_onProperty,Z,P) )
      | ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) ) ),
    inference(modus_ponens,[status(thm)],[41,40]) ).

tff(43,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ~ ( iext(uri_owl_hasSelf,Z,V)
          & iext(uri_owl_onProperty,Z,P) )
      | ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) ) ),
    inference(modus_ponens,[status(thm)],[42,38]) ).

tff(44,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ~ ( iext(uri_owl_hasSelf,Z,V)
          & iext(uri_owl_onProperty,Z,P) )
      | ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) ) ),
    inference(skolemize,[status(sab)],[43]) ).

tff(45,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) )
      | ~ iext(uri_owl_onProperty,Z,P)
      | ~ iext(uri_owl_hasSelf,Z,V) ),
    inference(modus_ponens,[status(thm)],[44,37]) ).

tff(46,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) )
      | ~ iext(uri_owl_onProperty,Z,P)
      | ~ iext(uri_owl_hasSelf,Z,V) ),
    inference(modus_ponens,[status(thm)],[45,35]) ).

tff(47,plain,
    ! [Z: $i,P: $i,V: $i] :
      ( ~ iext(uri_owl_onProperty,Z,P)
      | ~ iext(uri_owl_hasSelf,Z,V)
      | ! [X: $i] :
          ( icext(Z,X)
        <=> iext(P,X,X) ) ),
    inference(modus_ponens,[status(thm)],[46,30]) ).

tff(48,plain,
    ( ( ~ ! [Z: $i,P: $i,V: $i] :
            ( ~ iext(uri_owl_onProperty,Z,P)
            | ~ iext(uri_owl_hasSelf,Z,V)
            | ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) ) )
      | ~ iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
      | ~ iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
      | ! [X: $i] :
          ( icext(uri_ex_z,X)
        <=> iext(uri_ex_p,X,X) ) )
  <=> ( ~ ! [Z: $i,P: $i,V: $i] :
            ( ~ iext(uri_owl_onProperty,Z,P)
            | ~ iext(uri_owl_hasSelf,Z,V)
            | ! [X: $i] :
                ( icext(Z,X)
              <=> iext(P,X,X) ) )
      | ~ iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
      | ~ iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
      | ! [X: $i] :
          ( icext(uri_ex_z,X)
        <=> iext(uri_ex_p,X,X) ) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(49,plain,
    ( ~ ! [Z: $i,P: $i,V: $i] :
          ( ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V)
          | ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) )
    | ~ iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
    | ~ iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
    | ! [X: $i] :
        ( icext(uri_ex_z,X)
      <=> iext(uri_ex_p,X,X) ) ),
    inference(quant_inst,[status(thm)],]) ).

tff(50,plain,
    ( ~ ! [Z: $i,P: $i,V: $i] :
          ( ~ iext(uri_owl_onProperty,Z,P)
          | ~ iext(uri_owl_hasSelf,Z,V)
          | ! [X: $i] :
              ( icext(Z,X)
            <=> iext(P,X,X) ) )
    | ~ iext(uri_owl_onProperty,uri_ex_z,uri_ex_p)
    | ~ iext(uri_owl_hasSelf,uri_ex_z,literal_typed(dat_str_true,uri_xsd_boolean))
    | ! [X: $i] :
        ( icext(uri_ex_z,X)
      <=> iext(uri_ex_p,X,X) ) ),
    inference(modus_ponens,[status(thm)],[49,48]) ).

tff(51,plain,
    ! [X: $i] :
      ( icext(uri_ex_z,X)
    <=> iext(uri_ex_p,X,X) ),
    inference(unit_resolution,[status(thm)],[50,47,28,25]) ).

tff(52,plain,
    ( ~ ! [X: $i] :
          ( icext(uri_ex_z,X)
        <=> iext(uri_ex_p,X,X) )
    | ( icext(uri_ex_z,uri_ex_w)
    <=> iext(uri_ex_p,uri_ex_w,uri_ex_w) ) ),
    inference(quant_inst,[status(thm)],]) ).

tff(53,plain,
    $false,
    inference(unit_resolution,[status(thm)],[52,51,21]) ).

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