TSTP Solution File: NUM845+1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : NUM845+1 : TPTP v8.1.2. Released v4.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof

% 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 : Thu Aug 31 11:58:35 EDT 2023

% Result   : Theorem 0.21s 0.52s
% Output   : Proof 0.21s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : NUM845+1 : TPTP v8.1.2. Released v4.1.0.
% 0.00/0.13  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.35  % Computer : n027.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.35  % WCLimit  : 300
% 0.14/0.35  % DateTime : Fri Aug 25 08:51:33 EDT 2023
% 0.14/0.35  % CPUTime  : 
% 0.21/0.52  Command-line arguments: --lhs-weight 9 --flip-ordering --complete-subsets --normalise-queue-percent 10 --cp-renormalise-threshold 10
% 0.21/0.52  
% 0.21/0.52  % SZS status Theorem
% 0.21/0.52  
% 0.21/0.52  % SZS output start Proof
% 0.21/0.52  Take the following subset of the input axioms:
% 0.21/0.52    fof('ass(cond(33, 0), 0)', axiom, ![Vd46, Vd47, Vd48]: vplus(vplus(Vd46, Vd47), Vd48)=vplus(Vd46, vplus(Vd47, Vd48))).
% 0.21/0.52    fof('ass(cond(52, 0), 0)', axiom, ![Vd68, Vd69]: vplus(vsucc(Vd68), Vd69)=vsucc(vplus(Vd68, Vd69))).
% 0.21/0.52    fof('ass(cond(61, 0), 0)', axiom, ![Vd78, Vd79]: vplus(Vd79, Vd78)=vplus(Vd78, Vd79)).
% 0.21/0.52    fof('ass(cond(conseq(263), 1), 0)', axiom, ![Vd413]: (vmul(vsucc(vd411), Vd413)=vplus(vmul(vd411, Vd413), Vd413) => vplus(vplus(vmul(vd411, Vd413), vd411), vsucc(Vd413))=vplus(vmul(vd411, vsucc(Vd413)), vsucc(Vd413)))).
% 0.21/0.52    fof('ass(cond(conseq(263), 1), 4)', axiom, ![Vd413_2]: (vmul(vsucc(vd411), Vd413_2)=vplus(vmul(vd411, Vd413_2), Vd413_2) => vplus(vmul(vd411, Vd413_2), vplus(Vd413_2, vsucc(vd411)))=vplus(vmul(vd411, Vd413_2), vplus(vsucc(vd411), Vd413_2)))).
% 0.21/0.52    fof('ass(cond(conseq(263), 1), 6)', axiom, ![Vd413_2]: (vmul(vsucc(vd411), Vd413_2)=vplus(vmul(vd411, Vd413_2), Vd413_2) => vplus(vmul(vsucc(vd411), Vd413_2), vsucc(vd411))=vplus(vplus(vmul(vd411, Vd413_2), Vd413_2), vsucc(vd411)))).
% 0.21/0.52    fof('qu(cond(conseq(axiom(3)), 3), and(holds(definiens(29), 45, 0), holds(definiens(29), 44, 0)))', axiom, ![Vd42, Vd43]: (vplus(Vd42, vsucc(Vd43))=vsucc(vplus(Vd42, Vd43)) & vplus(Vd42, v1)=vsucc(Vd42))).
% 0.21/0.52    fof('qu(cond(conseq(axiom(3)), 32), and(holds(definiens(249), 399, 0), holds(definiens(249), 398, 0)))', axiom, ![Vd396, Vd397]: (vmul(Vd396, vsucc(Vd397))=vplus(vmul(Vd396, Vd397), Vd396) & vmul(Vd396, v1)=Vd396)).
% 0.21/0.52    fof('qu(ind(267), imp(267))', conjecture, ![Vd416]: (vmul(vsucc(vd411), Vd416)=vplus(vmul(vd411, Vd416), Vd416) => vmul(vsucc(vd411), vsucc(Vd416))=vplus(vmul(vd411, vsucc(Vd416)), vsucc(Vd416)))).
% 0.21/0.52  
% 0.21/0.52  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.21/0.52  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.21/0.52  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.21/0.52    fresh(y, y, x1...xn) = u
% 0.21/0.52    C => fresh(s, t, x1...xn) = v
% 0.21/0.52  where fresh is a fresh function symbol and x1..xn are the free
% 0.21/0.52  variables of u and v.
% 0.21/0.52  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.21/0.52  input problem has no model of domain size 1).
% 0.21/0.52  
% 0.21/0.52  The encoding turns the above axioms into the following unit equations and goals:
% 0.21/0.52  
% 0.21/0.52  Axiom 1 (ass(cond(61, 0), 0)): vplus(X, Y) = vplus(Y, X).
% 0.21/0.52  Axiom 2 (qu(cond(conseq(axiom(3)), 3), and(holds(definiens(29), 45, 0), holds(definiens(29), 44, 0)))_1): vplus(X, vsucc(Y)) = vsucc(vplus(X, Y)).
% 0.21/0.52  Axiom 3 (ass(cond(52, 0), 0)): vplus(vsucc(X), Y) = vsucc(vplus(X, Y)).
% 0.21/0.52  Axiom 4 (ass(cond(33, 0), 0)): vplus(vplus(X, Y), Z) = vplus(X, vplus(Y, Z)).
% 0.21/0.52  Axiom 5 (qu(cond(conseq(axiom(3)), 32), and(holds(definiens(249), 399, 0), holds(definiens(249), 398, 0)))_1): vmul(X, vsucc(Y)) = vplus(vmul(X, Y), X).
% 0.21/0.52  Axiom 6 (qu(ind(267), imp(267))): vmul(vsucc(vd411), vd416) = vplus(vmul(vd411, vd416), vd416).
% 0.21/0.52  Axiom 7 (ass(cond(conseq(263), 1), 0)): fresh30(X, X, Y) = vplus(vmul(vd411, vsucc(Y)), vsucc(Y)).
% 0.21/0.52  Axiom 8 (ass(cond(conseq(263), 1), 6)): fresh24(X, X, Y) = vplus(vmul(vsucc(vd411), Y), vsucc(vd411)).
% 0.21/0.52  Axiom 9 (ass(cond(conseq(263), 1), 4)): fresh26(X, X, Y) = vplus(vmul(vd411, Y), vplus(vsucc(vd411), Y)).
% 0.21/0.52  Axiom 10 (ass(cond(conseq(263), 1), 0)): fresh30(vmul(vsucc(vd411), X), vplus(vmul(vd411, X), X), X) = vplus(vplus(vmul(vd411, X), vd411), vsucc(X)).
% 0.21/0.52  Axiom 11 (ass(cond(conseq(263), 1), 4)): fresh26(vmul(vsucc(vd411), X), vplus(vmul(vd411, X), X), X) = vplus(vmul(vd411, X), vplus(X, vsucc(vd411))).
% 0.21/0.52  Axiom 12 (ass(cond(conseq(263), 1), 6)): fresh24(vmul(vsucc(vd411), X), vplus(vmul(vd411, X), X), X) = vplus(vplus(vmul(vd411, X), X), vsucc(vd411)).
% 0.21/0.52  
% 0.21/0.52  Lemma 13: vplus(vd416, vmul(vd411, vd416)) = vmul(vsucc(vd411), vd416).
% 0.21/0.52  Proof:
% 0.21/0.52    vplus(vd416, vmul(vd411, vd416))
% 0.21/0.52  = { by axiom 1 (ass(cond(61, 0), 0)) R->L }
% 0.21/0.52    vplus(vmul(vd411, vd416), vd416)
% 0.21/0.52  = { by axiom 6 (qu(ind(267), imp(267))) R->L }
% 0.21/0.52    vmul(vsucc(vd411), vd416)
% 0.21/0.52  
% 0.21/0.52  Goal 1 (qu(ind(267), imp(267))_1): vmul(vsucc(vd411), vsucc(vd416)) = vplus(vmul(vd411, vsucc(vd416)), vsucc(vd416)).
% 0.21/0.52  Proof:
% 0.21/0.52    vmul(vsucc(vd411), vsucc(vd416))
% 0.21/0.52  = { by axiom 5 (qu(cond(conseq(axiom(3)), 32), and(holds(definiens(249), 399, 0), holds(definiens(249), 398, 0)))_1) }
% 0.21/0.52    vplus(vmul(vsucc(vd411), vd416), vsucc(vd411))
% 0.21/0.52  = { by axiom 8 (ass(cond(conseq(263), 1), 6)) R->L }
% 0.21/0.52    fresh24(vmul(vsucc(vd411), vd416), vmul(vsucc(vd411), vd416), vd416)
% 0.21/0.52  = { by lemma 13 R->L }
% 0.21/0.52    fresh24(vmul(vsucc(vd411), vd416), vplus(vd416, vmul(vd411, vd416)), vd416)
% 0.21/0.52  = { by axiom 1 (ass(cond(61, 0), 0)) R->L }
% 0.21/0.52    fresh24(vmul(vsucc(vd411), vd416), vplus(vmul(vd411, vd416), vd416), vd416)
% 0.21/0.52  = { by axiom 12 (ass(cond(conseq(263), 1), 6)) }
% 0.21/0.52    vplus(vplus(vmul(vd411, vd416), vd416), vsucc(vd411))
% 0.21/0.52  = { by axiom 4 (ass(cond(33, 0), 0)) }
% 0.21/0.52    vplus(vmul(vd411, vd416), vplus(vd416, vsucc(vd411)))
% 0.21/0.52  = { by axiom 11 (ass(cond(conseq(263), 1), 4)) R->L }
% 0.21/0.52    fresh26(vmul(vsucc(vd411), vd416), vplus(vmul(vd411, vd416), vd416), vd416)
% 0.21/0.52  = { by axiom 1 (ass(cond(61, 0), 0)) }
% 0.21/0.52    fresh26(vmul(vsucc(vd411), vd416), vplus(vd416, vmul(vd411, vd416)), vd416)
% 0.21/0.52  = { by lemma 13 }
% 0.21/0.52    fresh26(vmul(vsucc(vd411), vd416), vmul(vsucc(vd411), vd416), vd416)
% 0.21/0.52  = { by axiom 9 (ass(cond(conseq(263), 1), 4)) }
% 0.21/0.52    vplus(vmul(vd411, vd416), vplus(vsucc(vd411), vd416))
% 0.21/0.52  = { by axiom 3 (ass(cond(52, 0), 0)) }
% 0.21/0.52    vplus(vmul(vd411, vd416), vsucc(vplus(vd411, vd416)))
% 0.21/0.52  = { by axiom 2 (qu(cond(conseq(axiom(3)), 3), and(holds(definiens(29), 45, 0), holds(definiens(29), 44, 0)))_1) R->L }
% 0.21/0.52    vplus(vmul(vd411, vd416), vplus(vd411, vsucc(vd416)))
% 0.21/0.52  = { by axiom 4 (ass(cond(33, 0), 0)) R->L }
% 0.21/0.52    vplus(vplus(vmul(vd411, vd416), vd411), vsucc(vd416))
% 0.21/0.52  = { by axiom 10 (ass(cond(conseq(263), 1), 0)) R->L }
% 0.21/0.52    fresh30(vmul(vsucc(vd411), vd416), vplus(vmul(vd411, vd416), vd416), vd416)
% 0.21/0.52  = { by axiom 1 (ass(cond(61, 0), 0)) }
% 0.21/0.52    fresh30(vmul(vsucc(vd411), vd416), vplus(vd416, vmul(vd411, vd416)), vd416)
% 0.21/0.52  = { by lemma 13 }
% 0.21/0.52    fresh30(vmul(vsucc(vd411), vd416), vmul(vsucc(vd411), vd416), vd416)
% 0.21/0.52  = { by axiom 7 (ass(cond(conseq(263), 1), 0)) }
% 0.21/0.52    vplus(vmul(vd411, vsucc(vd416)), vsucc(vd416))
% 0.21/0.52  % SZS output end Proof
% 0.21/0.52  
% 0.21/0.52  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------