TSTP Solution File: GRP013-1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : GRP013-1 : TPTP v8.2.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n015.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 : Wed May 29 16:50:17 EDT 2024

% Result   : Unsatisfiable 0.50s 0.68s
% Output   : Proof 0.50s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.04/0.13  % Problem    : GRP013-1 : TPTP v8.2.0. Released v1.0.0.
% 0.14/0.14  % Command    : do_cvc5 %s %d
% 0.14/0.35  % Computer : n015.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit   : 300
% 0.14/0.36  % WCLimit    : 300
% 0.14/0.36  % DateTime   : Sun May 26 18:00:24 EDT 2024
% 0.14/0.36  % CPUTime    : 
% 0.22/0.50  %----Proving TF0_NAR, FOF, or CNF
% 0.22/0.51  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.50/0.68  % SZS status Unsatisfiable for /export/starexec/sandbox/tmp/tmp.g0NLAG3kIg/cvc5---1.0.5_15036.smt2
% 0.50/0.68  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.g0NLAG3kIg/cvc5---1.0.5_15036.smt2
% 0.50/0.68  (assume a0 (forall ((X $$unsorted)) (tptp.product tptp.identity X X)))
% 0.50/0.68  (assume a1 (forall ((X $$unsorted)) (tptp.product X tptp.identity X)))
% 0.50/0.68  (assume a2 (forall ((X $$unsorted)) (tptp.product (tptp.inverse X) X tptp.identity)))
% 0.50/0.68  (assume a3 (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)))
% 0.50/0.68  (assume a4 (forall ((X $$unsorted) (Y $$unsorted)) (tptp.product X Y (tptp.multiply X Y))))
% 0.50/0.68  (assume a5 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))))
% 0.50/0.68  (assume a6 (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product U Z W)) (tptp.product X V W))))
% 0.50/0.68  (assume a7 (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))))
% 0.50/0.68  (assume a8 (forall ((A $$unsorted)) (tptp.product A A tptp.identity)))
% 0.50/0.68  (assume a9 (tptp.product tptp.a tptp.b tptp.c))
% 0.50/0.68  (assume a10 (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d))
% 0.50/0.68  (assume a11 (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))))
% 0.50/0.68  (assume a12 (not (tptp.product tptp.c tptp.d tptp.identity)))
% 0.50/0.68  (step t1 (cl (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity)) (forall ((A $$unsorted)) (tptp.product A A tptp.identity))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t2)
% 0.50/0.68  (assume t2.a0 (forall ((A $$unsorted)) (tptp.product A A tptp.identity)))
% 0.50/0.68  (step t2.t1 (cl (or (not (forall ((A $$unsorted)) (tptp.product A A tptp.identity))) (tptp.product tptp.d tptp.d tptp.identity))) :rule forall_inst :args ((:= A tptp.d)))
% 0.50/0.68  (step t2.t2 (cl (not (forall ((A $$unsorted)) (tptp.product A A tptp.identity))) (tptp.product tptp.d tptp.d tptp.identity)) :rule or :premises (t2.t1))
% 0.50/0.68  (step t2.t3 (cl (tptp.product tptp.d tptp.d tptp.identity)) :rule resolution :premises (t2.t2 t2.a0))
% 0.50/0.68  (step t2 (cl (not (forall ((A $$unsorted)) (tptp.product A A tptp.identity))) (tptp.product tptp.d tptp.d tptp.identity)) :rule subproof :discharge (t2.a0))
% 0.50/0.68  (step t3 (cl (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity)) :rule resolution :premises (t1 t2))
% 0.50/0.68  (step t4 (cl (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.d tptp.d tptp.identity))) :rule implies_neg2)
% 0.50/0.68  (step t5 (cl (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity)) (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity))) :rule resolution :premises (t3 t4))
% 0.50/0.68  (step t6 (cl (=> (forall ((A $$unsorted)) (tptp.product A A tptp.identity)) (tptp.product tptp.d tptp.d tptp.identity))) :rule contraction :premises (t5))
% 0.50/0.68  (step t7 (cl (not (forall ((A $$unsorted)) (tptp.product A A tptp.identity))) (tptp.product tptp.d tptp.d tptp.identity)) :rule implies :premises (t6))
% 0.50/0.68  (step t8 (cl (not (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) :rule or_pos)
% 0.50/0.68  (step t9 (cl (not (tptp.product tptp.a tptp.d tptp.b)) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))))) :rule reordering :premises (t8))
% 0.50/0.68  (step t10 (cl (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)) :rule or_pos)
% 0.50/0.68  (step t11 (cl (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b) (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)))) :rule reordering :premises (t10))
% 0.50/0.68  (step t12 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t13)
% 0.50/0.68  (assume t13.a0 (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))))
% 0.50/0.68  (step t13.t1 (cl (or (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)))) :rule forall_inst :args ((:= A tptp.a) (:= B tptp.b) (:= C tptp.d)))
% 0.50/0.68  (step t13.t2 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule or :premises (t13.t1))
% 0.50/0.68  (step t13.t3 (cl (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule resolution :premises (t13.t2 t13.a0))
% 0.50/0.68  (step t13 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule subproof :discharge (t13.a0))
% 0.50/0.68  (step t14 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule resolution :premises (t12 t13))
% 0.50/0.68  (step t15 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)))) :rule implies_neg2)
% 0.50/0.68  (step t16 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)))) :rule resolution :premises (t14 t15))
% 0.50/0.68  (step t17 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b)))) :rule contraction :premises (t16))
% 0.50/0.68  (step t18 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule implies :premises (t17))
% 0.50/0.68  (step t19 (cl (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse tptp.b) tptp.d)) (tptp.product tptp.a tptp.d tptp.b))) :rule resolution :premises (t18 a11))
% 0.50/0.68  (step t20 (cl (tptp.product tptp.a tptp.d tptp.b)) :rule resolution :premises (t11 a10 t19))
% 0.50/0.68  (step t21 (cl (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)) :rule or_pos)
% 0.50/0.68  (step t22 (cl (tptp.product tptp.c tptp.d tptp.identity) (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)))) :rule reordering :premises (t21))
% 0.50/0.68  (step t23 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t24)
% 0.50/0.68  (assume t24.a0 (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)))
% 0.50/0.68  (step t24.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity))) :rule forall_inst :args ((:= X tptp.a)))
% 0.50/0.68  (step t24.t2 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule or :premises (t24.t1))
% 0.50/0.68  (step t24.t3 (cl (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule resolution :premises (t24.t2 t24.a0))
% 0.50/0.68  (step t24 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule subproof :discharge (t24.a0))
% 0.50/0.68  (step t25 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule resolution :premises (t23 t24))
% 0.50/0.68  (step t26 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity))) :rule implies_neg2)
% 0.50/0.68  (step t27 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity))) :rule resolution :premises (t25 t26))
% 0.50/0.68  (step t28 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity))) :rule contraction :premises (t27))
% 0.50/0.68  (step t29 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule implies :premises (t28))
% 0.50/0.68  (step t30 (cl (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) :rule resolution :premises (t29 a3))
% 0.50/0.68  (step t31 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t32)
% 0.50/0.68  (assume t32.a0 (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))))
% 0.50/0.68  (step t32.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b) (:= U tptp.c) (:= Z tptp.d) (:= V (tptp.inverse tptp.a)) (:= W tptp.identity)))
% 0.50/0.68  (step t32.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule or :premises (t32.t1))
% 0.50/0.68  (step t32.t3 (cl (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule resolution :premises (t32.t2 t32.a0))
% 0.50/0.68  (step t32 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule subproof :discharge (t32.a0))
% 0.50/0.68  (step t33 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule resolution :premises (t31 t32))
% 0.50/0.68  (step t34 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)))) :rule implies_neg2)
% 0.50/0.68  (step t35 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)))) :rule resolution :premises (t33 t34))
% 0.50/0.68  (step t36 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity)))) :rule contraction :premises (t35))
% 0.50/0.68  (step t37 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule implies :premises (t36))
% 0.50/0.68  (step t38 (cl (or (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))) (not (tptp.product tptp.a (tptp.inverse tptp.a) tptp.identity)) (tptp.product tptp.c tptp.d tptp.identity))) :rule resolution :premises (t37 a7))
% 0.50/0.68  (step t39 (cl (not (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule resolution :premises (t22 a12 a9 t30 t38))
% 0.50/0.68  (step t40 (cl (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) :rule or_pos)
% 0.50/0.68  (step t41 (cl (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)) (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))))) :rule reordering :premises (t40))
% 0.50/0.68  (step t42 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t43)
% 0.50/0.68  (assume t43.a0 (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)))
% 0.50/0.68  (step t43.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity))) :rule forall_inst :args ((:= X (tptp.inverse tptp.a))))
% 0.50/0.68  (step t43.t2 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule or :premises (t43.t1))
% 0.50/0.68  (step t43.t3 (cl (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule resolution :premises (t43.t2 t43.a0))
% 0.50/0.68  (step t43 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule subproof :discharge (t43.a0))
% 0.50/0.68  (step t44 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule resolution :premises (t42 t43))
% 0.50/0.68  (step t45 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity))) :rule implies_neg2)
% 0.50/0.68  (step t46 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity))) :rule resolution :premises (t44 t45))
% 0.50/0.68  (step t47 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity)) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity))) :rule contraction :premises (t46))
% 0.50/0.68  (step t48 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.inverse X) tptp.identity))) (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule implies :premises (t47))
% 0.50/0.68  (step t49 (cl (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) :rule resolution :premises (t48 a3))
% 0.50/0.68  (step t50 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t51)
% 0.50/0.68  (assume t51.a0 (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))))
% 0.50/0.68  (step t51.t1 (cl (or (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))))) :rule forall_inst :args ((:= A tptp.a) (:= B (tptp.inverse tptp.a)) (:= C tptp.identity)))
% 0.50/0.68  (step t51.t2 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule or :premises (t51.t1))
% 0.50/0.68  (step t51.t3 (cl (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule resolution :premises (t51.t2 t51.a0))
% 0.50/0.68  (step t51 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule subproof :discharge (t51.a0))
% 0.50/0.68  (step t52 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule resolution :premises (t50 t51))
% 0.50/0.68  (step t53 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) (not (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))))) :rule implies_neg2)
% 0.50/0.68  (step t54 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))))) :rule resolution :premises (t52 t53))
% 0.50/0.68  (step t55 (cl (=> (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))))) :rule contraction :premises (t54))
% 0.50/0.68  (step t56 (cl (not (forall ((A $$unsorted) (B $$unsorted) (C $$unsorted)) (or (not (tptp.product (tptp.inverse A) (tptp.inverse B) C)) (tptp.product A C B)))) (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule implies :premises (t55))
% 0.50/0.68  (step t57 (cl (or (not (tptp.product (tptp.inverse tptp.a) (tptp.inverse (tptp.inverse tptp.a)) tptp.identity)) (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a)))) :rule resolution :premises (t56 a11))
% 0.50/0.68  (step t58 (cl (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) :rule resolution :premises (t41 t49 t57))
% 0.50/0.68  (step t59 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) :rule implies_neg1)
% 0.50/0.68  (anchor :step t60)
% 0.50/0.68  (assume t60.a0 (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))))
% 0.50/0.68  (step t60.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.d) (:= U tptp.b) (:= Z tptp.d) (:= V tptp.identity) (:= W (tptp.inverse tptp.a))))
% 0.50/0.68  (step t60.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule or :premises (t60.t1))
% 0.50/0.68  (step t60.t3 (cl (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule resolution :premises (t60.t2 t60.a0))
% 0.50/0.68  (step t60 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule subproof :discharge (t60.a0))
% 0.50/0.68  (step t61 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule resolution :premises (t59 t60))
% 0.50/0.68  (step t62 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) (not (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))))) :rule implies_neg2)
% 0.50/0.68  (step t63 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))))) :rule resolution :premises (t61 t62))
% 0.50/0.68  (step t64 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a))))) :rule contraction :premises (t63))
% 0.50/0.68  (step t65 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (U $$unsorted) (Z $$unsorted) (V $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y U)) (not (tptp.product Y Z V)) (not (tptp.product X V W)) (tptp.product U Z W)))) (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule implies :premises (t64))
% 0.50/0.68  (step t66 (cl (or (not (tptp.product tptp.a tptp.d tptp.b)) (not (tptp.product tptp.d tptp.d tptp.identity)) (not (tptp.product tptp.a tptp.identity (tptp.inverse tptp.a))) (tptp.product tptp.b tptp.d (tptp.inverse tptp.a)))) :rule resolution :premises (t65 a7))
% 0.50/0.68  (step t67 (cl (not (tptp.product tptp.d tptp.d tptp.identity))) :rule resolution :premises (t9 t20 t39 t58 t66))
% 0.50/0.68  (step t68 (cl) :rule resolution :premises (t7 t67 a8))
% 0.50/0.68  
% 0.50/0.68  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.g0NLAG3kIg/cvc5---1.0.5_15036.smt2
% 0.50/0.69  % cvc5---1.0.5 exiting
% 0.50/0.69  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------