TSTP Solution File: BOO012-3 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : BOO012-3 : TPTP v8.1.0. Bugfixed v1.2.1.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n027.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  6 17:18:41 EDT 2022

% Result   : Unsatisfiable 3.37s 2.48s
% Output   : Proof 3.51s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   14
%            Number of leaves      :   87
% Syntax   : Number of formulae    :  191 (  64 unt;   7 typ;   0 def)
%            Number of atoms       :  927 (  57 equ)
%            Maximal formula atoms :   20 (   5 avg)
%            Number of connectives : 1342 ( 639   ~; 619   |;   0   &)
%                                         (  84 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   6 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of FOOLs       :   40 (  40 fml;   0 var)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    9 (   4   >;   5   *;   0   +;   0  <<)
%            Number of predicates  :    8 (   6 usr;   1 prp; 0-3 aty)
%            Number of functors    :    5 (   5 usr;   3 con; 0-2 aty)
%            Number of variables   :  686 ( 631   !;   0   ?; 686   :)

% Comments : 
%------------------------------------------------------------------------------
tff(product_type,type,
    product: ( $i * $i * $i ) > $o ).

tff(x_type,type,
    x: $i ).

tff(inverse_type,type,
    inverse: $i > $i ).

tff(multiplicative_identity_type,type,
    multiplicative_identity: $i ).

tff(add_type,type,
    add: ( $i * $i ) > $i ).

tff(sum_type,type,
    sum: ( $i * $i * $i ) > $o ).

tff(additive_identity_type,type,
    additive_identity: $i ).

tff(1,plain,
    ^ [Y: $i,X: $i] :
      refl(
        ( sum(X,Y,add(X,Y))
      <=> sum(X,Y,add(X,Y)) )),
    inference(bind,[status(th)],]) ).

tff(2,plain,
    ( ! [Y: $i,X: $i] : sum(X,Y,add(X,Y))
  <=> ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)) ),
    inference(quant_intro,[status(thm)],[1]) ).

tff(3,plain,
    ( ! [Y: $i,X: $i] : sum(X,Y,add(X,Y))
  <=> ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)) ),
    inference(rewrite,[status(thm)],]) ).

tff(4,axiom,
    ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',closure_of_addition) ).

tff(5,plain,
    ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)),
    inference(modus_ponens,[status(thm)],[4,3]) ).

tff(6,plain,
    ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)),
    inference(skolemize,[status(sab)],[5]) ).

tff(7,plain,
    ! [Y: $i,X: $i] : sum(X,Y,add(X,Y)),
    inference(modus_ponens,[status(thm)],[6,2]) ).

tff(8,plain,
    ( ~ ! [Y: $i,X: $i] : sum(X,Y,add(X,Y))
    | sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(9,plain,
    sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x)),
    inference(unit_resolution,[status(thm)],[8,7]) ).

tff(10,plain,
    ^ [Z: $i,Y: $i,X: $i] :
      refl(
        ( ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
      <=> ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) ) )),
    inference(bind,[status(th)],]) ).

tff(11,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | sum(Y,X,Z) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | sum(Y,X,Z) ) ),
    inference(quant_intro,[status(thm)],[10]) ).

tff(12,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | sum(Y,X,Z) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | sum(Y,X,Z) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(13,axiom,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | sum(Y,X,Z) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',commutativity_of_addition) ).

tff(14,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | sum(Y,X,Z) ),
    inference(modus_ponens,[status(thm)],[13,12]) ).

tff(15,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | sum(Y,X,Z) ),
    inference(skolemize,[status(sab)],[14]) ).

tff(16,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | sum(Y,X,Z) ),
    inference(modus_ponens,[status(thm)],[15,11]) ).

tff(17,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x))
      | sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x))
      | sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(18,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x))
    | sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(19,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(inverse(inverse(x)),x,add(inverse(inverse(x)),x))
    | sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) ),
    inference(modus_ponens,[status(thm)],[18,17]) ).

tff(20,plain,
    sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)),
    inference(unit_resolution,[status(thm)],[19,16,9]) ).

tff(21,plain,
    ^ [X: $i] :
      refl(
        ( product(inverse(X),X,additive_identity)
      <=> product(inverse(X),X,additive_identity) )),
    inference(bind,[status(th)],]) ).

tff(22,plain,
    ( ! [X: $i] : product(inverse(X),X,additive_identity)
  <=> ! [X: $i] : product(inverse(X),X,additive_identity) ),
    inference(quant_intro,[status(thm)],[21]) ).

tff(23,plain,
    ( ! [X: $i] : product(inverse(X),X,additive_identity)
  <=> ! [X: $i] : product(inverse(X),X,additive_identity) ),
    inference(rewrite,[status(thm)],]) ).

tff(24,axiom,
    ! [X: $i] : product(inverse(X),X,additive_identity),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',multiplicative_inverse1) ).

tff(25,plain,
    ! [X: $i] : product(inverse(X),X,additive_identity),
    inference(modus_ponens,[status(thm)],[24,23]) ).

tff(26,plain,
    ! [X: $i] : product(inverse(X),X,additive_identity),
    inference(skolemize,[status(sab)],[25]) ).

tff(27,plain,
    ! [X: $i] : product(inverse(X),X,additive_identity),
    inference(modus_ponens,[status(thm)],[26,22]) ).

tff(28,plain,
    ( ~ ! [X: $i] : product(inverse(X),X,additive_identity)
    | product(inverse(inverse(x)),inverse(x),additive_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(29,plain,
    product(inverse(inverse(x)),inverse(x),additive_identity),
    inference(unit_resolution,[status(thm)],[28,27]) ).

tff(30,plain,
    ^ [Z: $i,Y: $i,X: $i] :
      refl(
        ( ( ~ product(X,Y,Z)
          | sum(X,Z,X) )
      <=> ( ~ product(X,Y,Z)
          | sum(X,Z,X) ) )),
    inference(bind,[status(th)],]) ).

tff(31,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | sum(X,Z,X) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | sum(X,Z,X) ) ),
    inference(quant_intro,[status(thm)],[30]) ).

tff(32,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | sum(X,Z,X) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | sum(X,Z,X) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(33,axiom,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | sum(X,Z,X) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sum_product_dual1) ).

tff(34,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | sum(X,Z,X) ),
    inference(modus_ponens,[status(thm)],[33,32]) ).

tff(35,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | sum(X,Z,X) ),
    inference(skolemize,[status(sab)],[34]) ).

tff(36,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | sum(X,Z,X) ),
    inference(modus_ponens,[status(thm)],[35,31]) ).

tff(37,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | sum(X,Z,X) )
      | ~ product(inverse(inverse(x)),inverse(x),additive_identity)
      | sum(inverse(inverse(x)),additive_identity,inverse(inverse(x))) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | sum(X,Z,X) )
      | ~ product(inverse(inverse(x)),inverse(x),additive_identity)
      | sum(inverse(inverse(x)),additive_identity,inverse(inverse(x))) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(38,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | sum(X,Z,X) )
    | ~ product(inverse(inverse(x)),inverse(x),additive_identity)
    | sum(inverse(inverse(x)),additive_identity,inverse(inverse(x))) ),
    inference(quant_inst,[status(thm)],]) ).

tff(39,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | sum(X,Z,X) )
    | ~ product(inverse(inverse(x)),inverse(x),additive_identity)
    | sum(inverse(inverse(x)),additive_identity,inverse(inverse(x))) ),
    inference(modus_ponens,[status(thm)],[38,37]) ).

tff(40,plain,
    sum(inverse(inverse(x)),additive_identity,inverse(inverse(x))),
    inference(unit_resolution,[status(thm)],[39,36,29]) ).

tff(41,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(inverse(inverse(x)),additive_identity,inverse(inverse(x)))
      | sum(additive_identity,inverse(inverse(x)),inverse(inverse(x))) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(inverse(inverse(x)),additive_identity,inverse(inverse(x)))
      | sum(additive_identity,inverse(inverse(x)),inverse(inverse(x))) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(42,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(inverse(inverse(x)),additive_identity,inverse(inverse(x)))
    | sum(additive_identity,inverse(inverse(x)),inverse(inverse(x))) ),
    inference(quant_inst,[status(thm)],]) ).

tff(43,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(inverse(inverse(x)),additive_identity,inverse(inverse(x)))
    | sum(additive_identity,inverse(inverse(x)),inverse(inverse(x))) ),
    inference(modus_ponens,[status(thm)],[42,41]) ).

tff(44,plain,
    sum(additive_identity,inverse(inverse(x)),inverse(inverse(x))),
    inference(unit_resolution,[status(thm)],[43,16,40]) ).

tff(45,plain,
    ^ [X: $i] :
      refl(
        ( sum(X,inverse(X),multiplicative_identity)
      <=> sum(X,inverse(X),multiplicative_identity) )),
    inference(bind,[status(th)],]) ).

tff(46,plain,
    ( ! [X: $i] : sum(X,inverse(X),multiplicative_identity)
  <=> ! [X: $i] : sum(X,inverse(X),multiplicative_identity) ),
    inference(quant_intro,[status(thm)],[45]) ).

tff(47,plain,
    ( ! [X: $i] : sum(X,inverse(X),multiplicative_identity)
  <=> ! [X: $i] : sum(X,inverse(X),multiplicative_identity) ),
    inference(rewrite,[status(thm)],]) ).

tff(48,axiom,
    ! [X: $i] : sum(X,inverse(X),multiplicative_identity),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',additive_inverse2) ).

tff(49,plain,
    ! [X: $i] : sum(X,inverse(X),multiplicative_identity),
    inference(modus_ponens,[status(thm)],[48,47]) ).

tff(50,plain,
    ! [X: $i] : sum(X,inverse(X),multiplicative_identity),
    inference(skolemize,[status(sab)],[49]) ).

tff(51,plain,
    ! [X: $i] : sum(X,inverse(X),multiplicative_identity),
    inference(modus_ponens,[status(thm)],[50,46]) ).

tff(52,plain,
    ( ~ ! [X: $i] : sum(X,inverse(X),multiplicative_identity)
    | sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(53,plain,
    sum(inverse(x),inverse(inverse(x)),multiplicative_identity),
    inference(unit_resolution,[status(thm)],[52,51]) ).

tff(54,plain,
    ^ [X: $i] :
      refl(
        ( product(X,inverse(X),additive_identity)
      <=> product(X,inverse(X),additive_identity) )),
    inference(bind,[status(th)],]) ).

tff(55,plain,
    ( ! [X: $i] : product(X,inverse(X),additive_identity)
  <=> ! [X: $i] : product(X,inverse(X),additive_identity) ),
    inference(quant_intro,[status(thm)],[54]) ).

tff(56,plain,
    ( ! [X: $i] : product(X,inverse(X),additive_identity)
  <=> ! [X: $i] : product(X,inverse(X),additive_identity) ),
    inference(rewrite,[status(thm)],]) ).

tff(57,axiom,
    ! [X: $i] : product(X,inverse(X),additive_identity),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',multiplicative_inverse2) ).

tff(58,plain,
    ! [X: $i] : product(X,inverse(X),additive_identity),
    inference(modus_ponens,[status(thm)],[57,56]) ).

tff(59,plain,
    ! [X: $i] : product(X,inverse(X),additive_identity),
    inference(skolemize,[status(sab)],[58]) ).

tff(60,plain,
    ! [X: $i] : product(X,inverse(X),additive_identity),
    inference(modus_ponens,[status(thm)],[59,55]) ).

tff(61,plain,
    ( ~ ! [X: $i] : product(X,inverse(X),additive_identity)
    | product(x,inverse(x),additive_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(62,plain,
    product(x,inverse(x),additive_identity),
    inference(unit_resolution,[status(thm)],[61,60]) ).

tff(63,plain,
    ^ [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      refl(
        ( ( product(V1,V2,V4)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | ~ sum(Z,X,V2)
          | ~ sum(Y,X,V1) )
      <=> ( product(V1,V2,V4)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | ~ sum(Z,X,V2)
          | ~ sum(Y,X,V1) ) )),
    inference(bind,[status(th)],]) ).

tff(64,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( product(V1,V2,V4)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | ~ sum(Z,X,V2)
        | ~ sum(Y,X,V1) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( product(V1,V2,V4)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | ~ sum(Z,X,V2)
        | ~ sum(Y,X,V1) ) ),
    inference(quant_intro,[status(thm)],[63]) ).

tff(65,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( product(V1,V2,V4)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | ~ sum(Z,X,V2)
        | ~ sum(Y,X,V1) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( product(V1,V2,V4)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | ~ sum(Z,X,V2)
        | ~ sum(Y,X,V1) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(66,plain,
    ^ [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      trans(
        monotonicity(
          trans(
            monotonicity(
              rewrite(
                ( ( ~ sum(Y,X,V1)
                  | ~ sum(Z,X,V2)
                  | ~ product(Y,Z,V3) )
              <=> ( ~ product(Y,Z,V3)
                  | ~ sum(Z,X,V2)
                  | ~ sum(Y,X,V1) ) )),
              ( ( ~ sum(Y,X,V1)
                | ~ sum(Z,X,V2)
                | ~ product(Y,Z,V3)
                | ~ sum(V3,X,V4) )
            <=> ( ~ product(Y,Z,V3)
                | ~ sum(Z,X,V2)
                | ~ sum(Y,X,V1)
                | ~ sum(V3,X,V4) ) )),
            rewrite(
              ( ( ~ product(Y,Z,V3)
                | ~ sum(Z,X,V2)
                | ~ sum(Y,X,V1)
                | ~ sum(V3,X,V4) )
            <=> ( ~ product(Y,Z,V3)
                | ~ sum(V3,X,V4)
                | ~ sum(Z,X,V2)
                | ~ sum(Y,X,V1) ) )),
            ( ( ~ sum(Y,X,V1)
              | ~ sum(Z,X,V2)
              | ~ product(Y,Z,V3)
              | ~ sum(V3,X,V4) )
          <=> ( ~ product(Y,Z,V3)
              | ~ sum(V3,X,V4)
              | ~ sum(Z,X,V2)
              | ~ sum(Y,X,V1) ) )),
          ( ( ~ sum(Y,X,V1)
            | ~ sum(Z,X,V2)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | product(V1,V2,V4) )
        <=> ( ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1)
            | product(V1,V2,V4) ) )),
        rewrite(
          ( ( ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1)
            | product(V1,V2,V4) )
        <=> ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) ) )),
        ( ( ~ sum(Y,X,V1)
          | ~ sum(Z,X,V2)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | product(V1,V2,V4) )
      <=> ( product(V1,V2,V4)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | ~ sum(Z,X,V2)
          | ~ sum(Y,X,V1) ) )),
    inference(bind,[status(th)],]) ).

tff(67,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,X,V1)
        | ~ sum(Z,X,V2)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | product(V1,V2,V4) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( product(V1,V2,V4)
        | ~ product(Y,Z,V3)
        | ~ sum(V3,X,V4)
        | ~ sum(Z,X,V2)
        | ~ sum(Y,X,V1) ) ),
    inference(quant_intro,[status(thm)],[66]) ).

tff(68,axiom,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ sum(Y,X,V1)
      | ~ sum(Z,X,V2)
      | ~ product(Y,Z,V3)
      | ~ sum(V3,X,V4)
      | product(V1,V2,V4) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',distributivity7) ).

tff(69,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( product(V1,V2,V4)
      | ~ product(Y,Z,V3)
      | ~ sum(V3,X,V4)
      | ~ sum(Z,X,V2)
      | ~ sum(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[68,67]) ).

tff(70,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( product(V1,V2,V4)
      | ~ product(Y,Z,V3)
      | ~ sum(V3,X,V4)
      | ~ sum(Z,X,V2)
      | ~ sum(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[69,65]) ).

tff(71,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( product(V1,V2,V4)
      | ~ product(Y,Z,V3)
      | ~ sum(V3,X,V4)
      | ~ sum(Z,X,V2)
      | ~ sum(Y,X,V1) ),
    inference(skolemize,[status(sab)],[70]) ).

tff(72,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( product(V1,V2,V4)
      | ~ product(Y,Z,V3)
      | ~ sum(V3,X,V4)
      | ~ sum(Z,X,V2)
      | ~ sum(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[71,64]) ).

tff(73,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(74,plain,
    ( ( product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity)
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) )
  <=> ( ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(75,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity)
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ) ),
    inference(monotonicity,[status(thm)],[74]) ).

tff(76,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity)
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( product(V1,V2,V4)
            | ~ product(Y,Z,V3)
            | ~ sum(V3,X,V4)
            | ~ sum(Z,X,V2)
            | ~ sum(Y,X,V1) )
      | ~ product(x,inverse(x),additive_identity)
      | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
      | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ) ),
    inference(transitivity,[status(thm)],[75,73]) ).

tff(77,plain,
    ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
          ( product(V1,V2,V4)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | ~ sum(Z,X,V2)
          | ~ sum(Y,X,V1) )
    | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
    | ~ product(x,inverse(x),additive_identity)
    | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
    | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity)
    | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(78,plain,
    ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
          ( product(V1,V2,V4)
          | ~ product(Y,Z,V3)
          | ~ sum(V3,X,V4)
          | ~ sum(Z,X,V2)
          | ~ sum(Y,X,V1) )
    | ~ product(x,inverse(x),additive_identity)
    | ~ sum(additive_identity,inverse(inverse(x)),inverse(inverse(x)))
    | product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
    | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
    | ~ sum(inverse(x),inverse(inverse(x)),multiplicative_identity) ),
    inference(modus_ponens,[status(thm)],[77,76]) ).

tff(79,plain,
    product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x))),
    inference(unit_resolution,[status(thm)],[78,72,62,53,44,20]) ).

tff(80,plain,
    ^ [X: $i] :
      refl(
        ( product(X,multiplicative_identity,X)
      <=> product(X,multiplicative_identity,X) )),
    inference(bind,[status(th)],]) ).

tff(81,plain,
    ( ! [X: $i] : product(X,multiplicative_identity,X)
  <=> ! [X: $i] : product(X,multiplicative_identity,X) ),
    inference(quant_intro,[status(thm)],[80]) ).

tff(82,plain,
    ( ! [X: $i] : product(X,multiplicative_identity,X)
  <=> ! [X: $i] : product(X,multiplicative_identity,X) ),
    inference(rewrite,[status(thm)],]) ).

tff(83,axiom,
    ! [X: $i] : product(X,multiplicative_identity,X),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',multiplicative_identity2) ).

tff(84,plain,
    ! [X: $i] : product(X,multiplicative_identity,X),
    inference(modus_ponens,[status(thm)],[83,82]) ).

tff(85,plain,
    ! [X: $i] : product(X,multiplicative_identity,X),
    inference(skolemize,[status(sab)],[84]) ).

tff(86,plain,
    ! [X: $i] : product(X,multiplicative_identity,X),
    inference(modus_ponens,[status(thm)],[85,81]) ).

tff(87,plain,
    ( ~ ! [X: $i] : product(X,multiplicative_identity,X)
    | product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(88,plain,
    product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)),
    inference(unit_resolution,[status(thm)],[87,86]) ).

tff(89,plain,
    ^ [V: $i,Y: $i,U: $i,X: $i] :
      refl(
        ( ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) )
      <=> ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) ) )),
    inference(bind,[status(th)],]) ).

tff(90,plain,
    ( ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ( U = V )
        | ~ product(X,Y,V)
        | ~ product(X,Y,U) )
  <=> ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ( U = V )
        | ~ product(X,Y,V)
        | ~ product(X,Y,U) ) ),
    inference(quant_intro,[status(thm)],[89]) ).

tff(91,plain,
    ( ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ( U = V )
        | ~ product(X,Y,V)
        | ~ product(X,Y,U) )
  <=> ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ( U = V )
        | ~ product(X,Y,V)
        | ~ product(X,Y,U) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(92,plain,
    ^ [V: $i,Y: $i,U: $i,X: $i] :
      rewrite(
        ( ( ~ product(X,Y,U)
          | ~ product(X,Y,V)
          | ( U = V ) )
      <=> ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) ) )),
    inference(bind,[status(th)],]) ).

tff(93,plain,
    ( ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ~ product(X,Y,U)
        | ~ product(X,Y,V)
        | ( U = V ) )
  <=> ! [V: $i,Y: $i,U: $i,X: $i] :
        ( ( U = V )
        | ~ product(X,Y,V)
        | ~ product(X,Y,U) ) ),
    inference(quant_intro,[status(thm)],[92]) ).

tff(94,axiom,
    ! [V: $i,Y: $i,U: $i,X: $i] :
      ( ~ product(X,Y,U)
      | ~ product(X,Y,V)
      | ( U = V ) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',multiplication_is_well_defined) ).

tff(95,plain,
    ! [V: $i,Y: $i,U: $i,X: $i] :
      ( ( U = V )
      | ~ product(X,Y,V)
      | ~ product(X,Y,U) ),
    inference(modus_ponens,[status(thm)],[94,93]) ).

tff(96,plain,
    ! [V: $i,Y: $i,U: $i,X: $i] :
      ( ( U = V )
      | ~ product(X,Y,V)
      | ~ product(X,Y,U) ),
    inference(modus_ponens,[status(thm)],[95,91]) ).

tff(97,plain,
    ! [V: $i,Y: $i,U: $i,X: $i] :
      ( ( U = V )
      | ~ product(X,Y,V)
      | ~ product(X,Y,U) ),
    inference(skolemize,[status(sab)],[96]) ).

tff(98,plain,
    ! [V: $i,Y: $i,U: $i,X: $i] :
      ( ( U = V )
      | ~ product(X,Y,V)
      | ~ product(X,Y,U) ),
    inference(modus_ponens,[status(thm)],[97,90]) ).

tff(99,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(100,plain,
    ( ( ( add(inverse(inverse(x)),x) = inverse(inverse(x)) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)) )
  <=> ( ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(101,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) ) ),
    inference(monotonicity,[status(thm)],[100]) ).

tff(102,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
      | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
      | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) ) ),
    inference(transitivity,[status(thm)],[101,99]) ).

tff(103,plain,
    ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
          ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) )
    | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) )
    | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
    | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x)) ),
    inference(quant_inst,[status(thm)],]) ).

tff(104,plain,
    ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
          ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) )
    | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,inverse(inverse(x)))
    | ~ product(add(inverse(inverse(x)),x),multiplicative_identity,add(inverse(inverse(x)),x))
    | ( add(inverse(inverse(x)),x) = inverse(inverse(x)) ) ),
    inference(modus_ponens,[status(thm)],[103,102]) ).

tff(105,plain,
    add(inverse(inverse(x)),x) = inverse(inverse(x)),
    inference(unit_resolution,[status(thm)],[104,98,88,79]) ).

tff(106,plain,
    inverse(inverse(x)) = add(inverse(inverse(x)),x),
    inference(symmetry,[status(thm)],[105]) ).

tff(107,plain,
    ( product(x,inverse(inverse(x)),x)
  <=> product(x,add(inverse(inverse(x)),x),x) ),
    inference(monotonicity,[status(thm)],[106]) ).

tff(108,plain,
    ( product(x,add(inverse(inverse(x)),x),x)
  <=> product(x,inverse(inverse(x)),x) ),
    inference(symmetry,[status(thm)],[107]) ).

tff(109,plain,
    ^ [Z: $i,Y: $i,X: $i] :
      refl(
        ( ( ~ sum(X,Y,Z)
          | product(X,Z,X) )
      <=> ( ~ sum(X,Y,Z)
          | product(X,Z,X) ) )),
    inference(bind,[status(th)],]) ).

tff(110,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | product(X,Z,X) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | product(X,Z,X) ) ),
    inference(quant_intro,[status(thm)],[109]) ).

tff(111,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | product(X,Z,X) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ sum(X,Y,Z)
        | product(X,Z,X) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(112,axiom,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | product(X,Z,X) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sum_product_dual2) ).

tff(113,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | product(X,Z,X) ),
    inference(modus_ponens,[status(thm)],[112,111]) ).

tff(114,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | product(X,Z,X) ),
    inference(skolemize,[status(sab)],[113]) ).

tff(115,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ sum(X,Y,Z)
      | product(X,Z,X) ),
    inference(modus_ponens,[status(thm)],[114,110]) ).

tff(116,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | product(X,Z,X) )
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | product(x,add(inverse(inverse(x)),x),x) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | product(X,Z,X) )
      | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
      | product(x,add(inverse(inverse(x)),x),x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(117,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | product(X,Z,X) )
    | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
    | product(x,add(inverse(inverse(x)),x),x) ),
    inference(quant_inst,[status(thm)],]) ).

tff(118,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | product(X,Z,X) )
    | ~ sum(x,inverse(inverse(x)),add(inverse(inverse(x)),x))
    | product(x,add(inverse(inverse(x)),x),x) ),
    inference(modus_ponens,[status(thm)],[117,116]) ).

tff(119,plain,
    product(x,add(inverse(inverse(x)),x),x),
    inference(unit_resolution,[status(thm)],[118,115,20]) ).

tff(120,plain,
    product(x,inverse(inverse(x)),x),
    inference(modus_ponens,[status(thm)],[119,108]) ).

tff(121,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | sum(X,Z,X) )
      | ~ product(x,inverse(x),additive_identity)
      | sum(x,additive_identity,x) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | sum(X,Z,X) )
      | ~ product(x,inverse(x),additive_identity)
      | sum(x,additive_identity,x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(122,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | sum(X,Z,X) )
    | ~ product(x,inverse(x),additive_identity)
    | sum(x,additive_identity,x) ),
    inference(quant_inst,[status(thm)],]) ).

tff(123,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | sum(X,Z,X) )
    | ~ product(x,inverse(x),additive_identity)
    | sum(x,additive_identity,x) ),
    inference(modus_ponens,[status(thm)],[122,121]) ).

tff(124,plain,
    sum(x,additive_identity,x),
    inference(unit_resolution,[status(thm)],[123,36,62]) ).

tff(125,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(x,additive_identity,x)
      | sum(additive_identity,x,x) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | sum(Y,X,Z) )
      | ~ sum(x,additive_identity,x)
      | sum(additive_identity,x,x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(126,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(x,additive_identity,x)
    | sum(additive_identity,x,x) ),
    inference(quant_inst,[status(thm)],]) ).

tff(127,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | sum(Y,X,Z) )
    | ~ sum(x,additive_identity,x)
    | sum(additive_identity,x,x) ),
    inference(modus_ponens,[status(thm)],[126,125]) ).

tff(128,plain,
    sum(additive_identity,x,x),
    inference(unit_resolution,[status(thm)],[127,16,124]) ).

tff(129,plain,
    ( ~ ! [X: $i] : product(X,inverse(X),additive_identity)
    | product(inverse(x),inverse(inverse(x)),additive_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(130,plain,
    product(inverse(x),inverse(inverse(x)),additive_identity),
    inference(unit_resolution,[status(thm)],[129,60]) ).

tff(131,plain,
    ^ [X: $i] :
      refl(
        ( sum(inverse(X),X,multiplicative_identity)
      <=> sum(inverse(X),X,multiplicative_identity) )),
    inference(bind,[status(th)],]) ).

tff(132,plain,
    ( ! [X: $i] : sum(inverse(X),X,multiplicative_identity)
  <=> ! [X: $i] : sum(inverse(X),X,multiplicative_identity) ),
    inference(quant_intro,[status(thm)],[131]) ).

tff(133,plain,
    ( ! [X: $i] : sum(inverse(X),X,multiplicative_identity)
  <=> ! [X: $i] : sum(inverse(X),X,multiplicative_identity) ),
    inference(rewrite,[status(thm)],]) ).

tff(134,axiom,
    ! [X: $i] : sum(inverse(X),X,multiplicative_identity),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',additive_inverse1) ).

tff(135,plain,
    ! [X: $i] : sum(inverse(X),X,multiplicative_identity),
    inference(modus_ponens,[status(thm)],[134,133]) ).

tff(136,plain,
    ! [X: $i] : sum(inverse(X),X,multiplicative_identity),
    inference(skolemize,[status(sab)],[135]) ).

tff(137,plain,
    ! [X: $i] : sum(inverse(X),X,multiplicative_identity),
    inference(modus_ponens,[status(thm)],[136,132]) ).

tff(138,plain,
    ( ~ ! [X: $i] : sum(inverse(X),X,multiplicative_identity)
    | sum(inverse(x),x,multiplicative_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(139,plain,
    sum(inverse(x),x,multiplicative_identity),
    inference(unit_resolution,[status(thm)],[138,137]) ).

tff(140,plain,
    ^ [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      refl(
        ( ( ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4)
          | ~ product(Z,X,V2)
          | ~ product(Y,X,V1) )
      <=> ( ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4)
          | ~ product(Z,X,V2)
          | ~ product(Y,X,V1) ) )),
    inference(bind,[status(th)],]) ).

tff(141,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4)
        | ~ product(Z,X,V2)
        | ~ product(Y,X,V1) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4)
        | ~ product(Z,X,V2)
        | ~ product(Y,X,V1) ) ),
    inference(quant_intro,[status(thm)],[140]) ).

tff(142,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4)
        | ~ product(Z,X,V2)
        | ~ product(Y,X,V1) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4)
        | ~ product(Z,X,V2)
        | ~ product(Y,X,V1) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(143,plain,
    ^ [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      trans(
        monotonicity(
          trans(
            monotonicity(
              rewrite(
                ( ( ~ product(Y,X,V1)
                  | ~ product(Z,X,V2)
                  | ~ sum(Y,Z,V3) )
              <=> ( ~ sum(Y,Z,V3)
                  | ~ product(Z,X,V2)
                  | ~ product(Y,X,V1) ) )),
              ( ( ~ product(Y,X,V1)
                | ~ product(Z,X,V2)
                | ~ sum(Y,Z,V3)
                | ~ sum(V1,V2,V4) )
            <=> ( ~ sum(Y,Z,V3)
                | ~ product(Z,X,V2)
                | ~ product(Y,X,V1)
                | ~ sum(V1,V2,V4) ) )),
            rewrite(
              ( ( ~ sum(Y,Z,V3)
                | ~ product(Z,X,V2)
                | ~ product(Y,X,V1)
                | ~ sum(V1,V2,V4) )
            <=> ( ~ sum(Y,Z,V3)
                | ~ sum(V1,V2,V4)
                | ~ product(Z,X,V2)
                | ~ product(Y,X,V1) ) )),
            ( ( ~ product(Y,X,V1)
              | ~ product(Z,X,V2)
              | ~ sum(Y,Z,V3)
              | ~ sum(V1,V2,V4) )
          <=> ( ~ sum(Y,Z,V3)
              | ~ sum(V1,V2,V4)
              | ~ product(Z,X,V2)
              | ~ product(Y,X,V1) ) )),
          ( ( ~ product(Y,X,V1)
            | ~ product(Z,X,V2)
            | ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4) )
        <=> ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1)
            | product(V3,X,V4) ) )),
        rewrite(
          ( ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1)
            | product(V3,X,V4) )
        <=> ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) ) )),
        ( ( ~ product(Y,X,V1)
          | ~ product(Z,X,V2)
          | ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4) )
      <=> ( ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4)
          | ~ product(Z,X,V2)
          | ~ product(Y,X,V1) ) )),
    inference(bind,[status(th)],]) ).

tff(144,plain,
    ( ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ product(Y,X,V1)
        | ~ product(Z,X,V2)
        | ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4) )
  <=> ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
        ( ~ sum(Y,Z,V3)
        | ~ sum(V1,V2,V4)
        | product(V3,X,V4)
        | ~ product(Z,X,V2)
        | ~ product(Y,X,V1) ) ),
    inference(quant_intro,[status(thm)],[143]) ).

tff(145,axiom,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ product(Y,X,V1)
      | ~ product(Z,X,V2)
      | ~ sum(Y,Z,V3)
      | ~ sum(V1,V2,V4)
      | product(V3,X,V4) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',distributivity4) ).

tff(146,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ sum(Y,Z,V3)
      | ~ sum(V1,V2,V4)
      | product(V3,X,V4)
      | ~ product(Z,X,V2)
      | ~ product(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[145,144]) ).

tff(147,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ sum(Y,Z,V3)
      | ~ sum(V1,V2,V4)
      | product(V3,X,V4)
      | ~ product(Z,X,V2)
      | ~ product(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[146,142]) ).

tff(148,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ sum(Y,Z,V3)
      | ~ sum(V1,V2,V4)
      | product(V3,X,V4)
      | ~ product(Z,X,V2)
      | ~ product(Y,X,V1) ),
    inference(skolemize,[status(sab)],[147]) ).

tff(149,plain,
    ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
      ( ~ sum(Y,Z,V3)
      | ~ sum(V1,V2,V4)
      | product(V3,X,V4)
      | ~ product(Z,X,V2)
      | ~ product(Y,X,V1) ),
    inference(modus_ponens,[status(thm)],[148,141]) ).

tff(150,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
      | ~ product(x,inverse(inverse(x)),x) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
      | ~ product(x,inverse(inverse(x)),x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(151,plain,
    ( ( ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(x,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity) )
  <=> ( ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
      | ~ product(x,inverse(inverse(x)),x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(152,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(x,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
      | ~ product(x,inverse(inverse(x)),x) ) ),
    inference(monotonicity,[status(thm)],[151]) ).

tff(153,plain,
    ( ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(x,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity) )
  <=> ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
            ( ~ sum(Y,Z,V3)
            | ~ sum(V1,V2,V4)
            | product(V3,X,V4)
            | ~ product(Z,X,V2)
            | ~ product(Y,X,V1) )
      | ~ sum(inverse(x),x,multiplicative_identity)
      | ~ sum(additive_identity,x,x)
      | product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
      | ~ product(x,inverse(inverse(x)),x) ) ),
    inference(transitivity,[status(thm)],[152,150]) ).

tff(154,plain,
    ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
          ( ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4)
          | ~ product(Z,X,V2)
          | ~ product(Y,X,V1) )
    | ~ sum(inverse(x),x,multiplicative_identity)
    | ~ sum(additive_identity,x,x)
    | product(multiplicative_identity,inverse(inverse(x)),x)
    | ~ product(x,inverse(inverse(x)),x)
    | ~ product(inverse(x),inverse(inverse(x)),additive_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(155,plain,
    ( ~ ! [Z: $i,Y: $i,V1: $i,X: $i,V2: $i,V3: $i,V4: $i] :
          ( ~ sum(Y,Z,V3)
          | ~ sum(V1,V2,V4)
          | product(V3,X,V4)
          | ~ product(Z,X,V2)
          | ~ product(Y,X,V1) )
    | ~ sum(inverse(x),x,multiplicative_identity)
    | ~ sum(additive_identity,x,x)
    | product(multiplicative_identity,inverse(inverse(x)),x)
    | ~ product(inverse(x),inverse(inverse(x)),additive_identity)
    | ~ product(x,inverse(inverse(x)),x) ),
    inference(modus_ponens,[status(thm)],[154,153]) ).

tff(156,plain,
    ( product(multiplicative_identity,inverse(inverse(x)),x)
    | ~ product(x,inverse(inverse(x)),x) ),
    inference(unit_resolution,[status(thm)],[155,149,139,130,128]) ).

tff(157,plain,
    product(multiplicative_identity,inverse(inverse(x)),x),
    inference(unit_resolution,[status(thm)],[156,120]) ).

tff(158,plain,
    ( ~ ! [X: $i] : sum(inverse(X),X,multiplicative_identity)
    | sum(inverse(inverse(x)),inverse(x),multiplicative_identity) ),
    inference(quant_inst,[status(thm)],]) ).

tff(159,plain,
    sum(inverse(inverse(x)),inverse(x),multiplicative_identity),
    inference(unit_resolution,[status(thm)],[158,137]) ).

tff(160,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | product(X,Z,X) )
      | ~ sum(inverse(inverse(x)),inverse(x),multiplicative_identity)
      | product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x))) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ sum(X,Y,Z)
            | product(X,Z,X) )
      | ~ sum(inverse(inverse(x)),inverse(x),multiplicative_identity)
      | product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x))) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(161,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | product(X,Z,X) )
    | ~ sum(inverse(inverse(x)),inverse(x),multiplicative_identity)
    | product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x))) ),
    inference(quant_inst,[status(thm)],]) ).

tff(162,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ sum(X,Y,Z)
          | product(X,Z,X) )
    | ~ sum(inverse(inverse(x)),inverse(x),multiplicative_identity)
    | product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x))) ),
    inference(modus_ponens,[status(thm)],[161,160]) ).

tff(163,plain,
    product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x))),
    inference(unit_resolution,[status(thm)],[162,115,159]) ).

tff(164,plain,
    ^ [Z: $i,Y: $i,X: $i] :
      refl(
        ( ( ~ product(X,Y,Z)
          | product(Y,X,Z) )
      <=> ( ~ product(X,Y,Z)
          | product(Y,X,Z) ) )),
    inference(bind,[status(th)],]) ).

tff(165,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | product(Y,X,Z) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | product(Y,X,Z) ) ),
    inference(quant_intro,[status(thm)],[164]) ).

tff(166,plain,
    ( ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | product(Y,X,Z) )
  <=> ! [Z: $i,Y: $i,X: $i] :
        ( ~ product(X,Y,Z)
        | product(Y,X,Z) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(167,axiom,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | product(Y,X,Z) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/BOO002-0.ax',commutativity_of_multiplication) ).

tff(168,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | product(Y,X,Z) ),
    inference(modus_ponens,[status(thm)],[167,166]) ).

tff(169,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | product(Y,X,Z) ),
    inference(skolemize,[status(sab)],[168]) ).

tff(170,plain,
    ! [Z: $i,Y: $i,X: $i] :
      ( ~ product(X,Y,Z)
      | product(Y,X,Z) ),
    inference(modus_ponens,[status(thm)],[169,165]) ).

tff(171,plain,
    ( ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | product(Y,X,Z) )
      | ~ product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x)))
      | product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) )
  <=> ( ~ ! [Z: $i,Y: $i,X: $i] :
            ( ~ product(X,Y,Z)
            | product(Y,X,Z) )
      | ~ product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x)))
      | product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(172,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | product(Y,X,Z) )
    | ~ product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x)))
    | product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) ),
    inference(quant_inst,[status(thm)],]) ).

tff(173,plain,
    ( ~ ! [Z: $i,Y: $i,X: $i] :
          ( ~ product(X,Y,Z)
          | product(Y,X,Z) )
    | ~ product(inverse(inverse(x)),multiplicative_identity,inverse(inverse(x)))
    | product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) ),
    inference(modus_ponens,[status(thm)],[172,171]) ).

tff(174,plain,
    product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))),
    inference(unit_resolution,[status(thm)],[173,170,163]) ).

tff(175,plain,
    ( ( inverse(inverse(x)) != x )
  <=> ( inverse(inverse(x)) != x ) ),
    inference(rewrite,[status(thm)],]) ).

tff(176,axiom,
    inverse(inverse(x)) != x,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',prove_inverse_is_an_involution) ).

tff(177,plain,
    inverse(inverse(x)) != x,
    inference(modus_ponens,[status(thm)],[176,175]) ).

tff(178,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ product(multiplicative_identity,inverse(inverse(x)),x) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ product(multiplicative_identity,inverse(inverse(x)),x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(179,plain,
    ( ( ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) )
  <=> ( ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ product(multiplicative_identity,inverse(inverse(x)),x) ) ),
    inference(rewrite,[status(thm)],]) ).

tff(180,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ product(multiplicative_identity,inverse(inverse(x)),x) ) ),
    inference(monotonicity,[status(thm)],[179]) ).

tff(181,plain,
    ( ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),x)
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) )
  <=> ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
            ( ( U = V )
            | ~ product(X,Y,V)
            | ~ product(X,Y,U) )
      | ( inverse(inverse(x)) = x )
      | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
      | ~ product(multiplicative_identity,inverse(inverse(x)),x) ) ),
    inference(transitivity,[status(thm)],[180,178]) ).

tff(182,plain,
    ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
          ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) )
    | ( inverse(inverse(x)) = x )
    | ~ product(multiplicative_identity,inverse(inverse(x)),x)
    | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x))) ),
    inference(quant_inst,[status(thm)],]) ).

tff(183,plain,
    ( ~ ! [V: $i,Y: $i,U: $i,X: $i] :
          ( ( U = V )
          | ~ product(X,Y,V)
          | ~ product(X,Y,U) )
    | ( inverse(inverse(x)) = x )
    | ~ product(multiplicative_identity,inverse(inverse(x)),inverse(inverse(x)))
    | ~ product(multiplicative_identity,inverse(inverse(x)),x) ),
    inference(modus_ponens,[status(thm)],[182,181]) ).

tff(184,plain,
    $false,
    inference(unit_resolution,[status(thm)],[183,98,177,174,157]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.11  % Problem  : BOO012-3 : TPTP v8.1.0. Bugfixed v1.2.1.
% 0.11/0.12  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.11/0.33  % Computer : n027.cluster.edu
% 0.11/0.33  % Model    : x86_64 x86_64
% 0.11/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.33  % Memory   : 8042.1875MB
% 0.11/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.33  % CPULimit : 300
% 0.11/0.33  % WCLimit  : 300
% 0.11/0.33  % DateTime : Tue Aug 30 03:05:15 EDT 2022
% 0.11/0.33  % CPUTime  : 
% 0.18/0.34  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.18/0.34  Usage: tptp [options] [-file:]file
% 0.18/0.34    -h, -?       prints this message.
% 0.18/0.34    -smt2        print SMT-LIB2 benchmark.
% 0.18/0.34    -m, -model   generate model.
% 0.18/0.34    -p, -proof   generate proof.
% 0.18/0.34    -c, -core    generate unsat core of named formulas.
% 0.18/0.34    -st, -statistics display statistics.
% 0.18/0.34    -t:timeout   set timeout (in second).
% 0.18/0.34    -smt2status  display status in smt2 format instead of SZS.
% 0.18/0.34    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.18/0.34    -<param>:<value> configuration parameter and value.
% 0.18/0.34    -o:<output-file> file to place output in.
% 3.37/2.48  % SZS status Unsatisfiable
% 3.37/2.48  % SZS output start Proof
% See solution above
%------------------------------------------------------------------------------