TSTP Solution File: REL008+4 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : REL008+4 : TPTP v8.1.2. Released v4.0.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 : n010.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 13:43:49 EDT 2023

% Result   : Theorem 0.19s 0.69s
% Output   : Proof 0.19s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : REL008+4 : TPTP v8.1.2. Released v4.0.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.13/0.34  % Computer : n010.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Fri Aug 25 20:05:05 EDT 2023
% 0.13/0.34  % CPUTime  : 
% 0.19/0.69  Command-line arguments: --no-flatten-goal
% 0.19/0.69  
% 0.19/0.69  % SZS status Theorem
% 0.19/0.69  
% 0.19/0.70  % SZS output start Proof
% 0.19/0.70  Take the following subset of the input axioms:
% 0.19/0.70    fof(composition_associativity, axiom, ![X0, X1, X2]: composition(X0, composition(X1, X2))=composition(composition(X0, X1), X2)).
% 0.19/0.70    fof(composition_distributivity, axiom, ![X0_2, X1_2, X2_2]: composition(join(X0_2, X1_2), X2_2)=join(composition(X0_2, X2_2), composition(X1_2, X2_2))).
% 0.19/0.70    fof(composition_identity, axiom, ![X0_2]: composition(X0_2, one)=X0_2).
% 0.19/0.70    fof(converse_additivity, axiom, ![X0_2, X1_2]: converse(join(X0_2, X1_2))=join(converse(X0_2), converse(X1_2))).
% 0.19/0.70    fof(converse_cancellativity, axiom, ![X0_2, X1_2]: join(composition(converse(X0_2), complement(composition(X0_2, X1_2))), complement(X1_2))=complement(X1_2)).
% 0.19/0.70    fof(converse_idempotence, axiom, ![X0_2]: converse(converse(X0_2))=X0_2).
% 0.19/0.70    fof(converse_multiplicativity, axiom, ![X0_2, X1_2]: converse(composition(X0_2, X1_2))=composition(converse(X1_2), converse(X0_2))).
% 0.19/0.70    fof(def_zero, axiom, ![X0_2]: zero=meet(X0_2, complement(X0_2))).
% 0.19/0.70    fof(goals, conjecture, ![X0_2, X1_2, X2_2]: (join(join(composition(X0_2, join(X1_2, X2_2)), composition(X0_2, X1_2)), composition(X0_2, X2_2))=join(composition(X0_2, X1_2), composition(X0_2, X2_2)) & join(join(composition(X0_2, X1_2), composition(X0_2, X2_2)), composition(X0_2, join(X1_2, X2_2)))=composition(X0_2, join(X1_2, X2_2)))).
% 0.19/0.70    fof(maddux1_join_commutativity, axiom, ![X0_2, X1_2]: join(X0_2, X1_2)=join(X1_2, X0_2)).
% 0.19/0.70    fof(maddux2_join_associativity, axiom, ![X0_2, X1_2, X2_2]: join(X0_2, join(X1_2, X2_2))=join(join(X0_2, X1_2), X2_2)).
% 0.19/0.70    fof(maddux3_a_kind_of_de_Morgan, axiom, ![X0_2, X1_2]: X0_2=join(complement(join(complement(X0_2), complement(X1_2))), complement(join(complement(X0_2), X1_2)))).
% 0.19/0.70    fof(maddux4_definiton_of_meet, axiom, ![X0_2, X1_2]: meet(X0_2, X1_2)=complement(join(complement(X0_2), complement(X1_2)))).
% 0.19/0.70  
% 0.19/0.70  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.19/0.70  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.19/0.70  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.19/0.70    fresh(y, y, x1...xn) = u
% 0.19/0.70    C => fresh(s, t, x1...xn) = v
% 0.19/0.70  where fresh is a fresh function symbol and x1..xn are the free
% 0.19/0.70  variables of u and v.
% 0.19/0.70  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.19/0.70  input problem has no model of domain size 1).
% 0.19/0.70  
% 0.19/0.70  The encoding turns the above axioms into the following unit equations and goals:
% 0.19/0.70  
% 0.19/0.70  Axiom 1 (converse_idempotence): converse(converse(X)) = X.
% 0.19/0.70  Axiom 2 (maddux1_join_commutativity): join(X, Y) = join(Y, X).
% 0.19/0.70  Axiom 3 (composition_identity): composition(X, one) = X.
% 0.19/0.70  Axiom 4 (def_zero): zero = meet(X, complement(X)).
% 0.19/0.70  Axiom 5 (converse_additivity): converse(join(X, Y)) = join(converse(X), converse(Y)).
% 0.19/0.70  Axiom 6 (maddux2_join_associativity): join(X, join(Y, Z)) = join(join(X, Y), Z).
% 0.19/0.70  Axiom 7 (converse_multiplicativity): converse(composition(X, Y)) = composition(converse(Y), converse(X)).
% 0.19/0.70  Axiom 8 (composition_associativity): composition(X, composition(Y, Z)) = composition(composition(X, Y), Z).
% 0.19/0.70  Axiom 9 (maddux4_definiton_of_meet): meet(X, Y) = complement(join(complement(X), complement(Y))).
% 0.19/0.70  Axiom 10 (composition_distributivity): composition(join(X, Y), Z) = join(composition(X, Z), composition(Y, Z)).
% 0.19/0.70  Axiom 11 (converse_cancellativity): join(composition(converse(X), complement(composition(X, Y))), complement(Y)) = complement(Y).
% 0.19/0.70  Axiom 12 (maddux3_a_kind_of_de_Morgan): X = join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y))).
% 0.19/0.70  
% 0.19/0.70  Lemma 13: composition(converse(one), X) = X.
% 0.19/0.70  Proof:
% 0.19/0.70    composition(converse(one), X)
% 0.19/0.70  = { by axiom 1 (converse_idempotence) R->L }
% 0.19/0.70    composition(converse(one), converse(converse(X)))
% 0.19/0.70  = { by axiom 7 (converse_multiplicativity) R->L }
% 0.19/0.70    converse(composition(converse(X), one))
% 0.19/0.70  = { by axiom 3 (composition_identity) }
% 0.19/0.70    converse(converse(X))
% 0.19/0.70  = { by axiom 1 (converse_idempotence) }
% 0.19/0.70    X
% 0.19/0.70  
% 0.19/0.70  Lemma 14: join(complement(X), complement(X)) = complement(X).
% 0.19/0.70  Proof:
% 0.19/0.70    join(complement(X), complement(X))
% 0.19/0.70  = { by lemma 13 R->L }
% 0.19/0.70    join(complement(X), composition(converse(one), complement(X)))
% 0.19/0.70  = { by lemma 13 R->L }
% 0.19/0.70    join(complement(X), composition(converse(one), complement(composition(converse(one), X))))
% 0.19/0.70  = { by axiom 3 (composition_identity) R->L }
% 0.19/0.70    join(complement(X), composition(converse(one), complement(composition(composition(converse(one), one), X))))
% 0.19/0.70  = { by axiom 8 (composition_associativity) R->L }
% 0.19/0.70    join(complement(X), composition(converse(one), complement(composition(converse(one), composition(one, X)))))
% 0.19/0.70  = { by lemma 13 }
% 0.19/0.70    join(complement(X), composition(converse(one), complement(composition(one, X))))
% 0.19/0.70  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.70    join(composition(converse(one), complement(composition(one, X))), complement(X))
% 0.19/0.70  = { by axiom 11 (converse_cancellativity) }
% 0.19/0.70    complement(X)
% 0.19/0.70  
% 0.19/0.70  Lemma 15: join(meet(X, Y), complement(join(complement(X), Y))) = X.
% 0.19/0.70  Proof:
% 0.19/0.70    join(meet(X, Y), complement(join(complement(X), Y)))
% 0.19/0.70  = { by axiom 9 (maddux4_definiton_of_meet) }
% 0.19/0.70    join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y)))
% 0.19/0.70  = { by axiom 12 (maddux3_a_kind_of_de_Morgan) R->L }
% 0.19/0.70    X
% 0.19/0.70  
% 0.19/0.70  Lemma 16: join(zero, complement(complement(X))) = X.
% 0.19/0.70  Proof:
% 0.19/0.70    join(zero, complement(complement(X)))
% 0.19/0.70  = { by axiom 4 (def_zero) }
% 0.19/0.70    join(meet(X, complement(X)), complement(complement(X)))
% 0.19/0.70  = { by lemma 14 R->L }
% 0.19/0.70    join(meet(X, complement(X)), complement(join(complement(X), complement(X))))
% 0.19/0.70  = { by lemma 15 }
% 0.19/0.70    X
% 0.19/0.70  
% 0.19/0.70  Lemma 17: join(zero, join(X, complement(complement(Y)))) = join(X, Y).
% 0.19/0.70  Proof:
% 0.19/0.70    join(zero, join(X, complement(complement(Y))))
% 0.19/0.70  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.70    join(zero, join(complement(complement(Y)), X))
% 0.19/0.70  = { by lemma 14 R->L }
% 0.19/0.70    join(zero, join(complement(join(complement(Y), complement(Y))), X))
% 0.19/0.70  = { by axiom 9 (maddux4_definiton_of_meet) R->L }
% 0.19/0.70    join(zero, join(meet(Y, Y), X))
% 0.19/0.70  = { by axiom 6 (maddux2_join_associativity) }
% 0.19/0.70    join(join(zero, meet(Y, Y)), X)
% 0.19/0.70  = { by axiom 9 (maddux4_definiton_of_meet) }
% 0.19/0.70    join(join(zero, complement(join(complement(Y), complement(Y)))), X)
% 0.19/0.70  = { by axiom 4 (def_zero) }
% 0.19/0.71    join(join(meet(Y, complement(Y)), complement(join(complement(Y), complement(Y)))), X)
% 0.19/0.71  = { by lemma 15 }
% 0.19/0.71    join(Y, X)
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    join(X, Y)
% 0.19/0.71  
% 0.19/0.71  Lemma 18: join(X, zero) = join(X, X).
% 0.19/0.71  Proof:
% 0.19/0.71    join(X, zero)
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    join(zero, X)
% 0.19/0.71  = { by lemma 16 R->L }
% 0.19/0.71    join(zero, join(zero, complement(complement(X))))
% 0.19/0.71  = { by lemma 14 R->L }
% 0.19/0.71    join(zero, join(zero, join(complement(complement(X)), complement(complement(X)))))
% 0.19/0.71  = { by lemma 17 }
% 0.19/0.71    join(zero, join(complement(complement(X)), X))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    join(zero, join(X, complement(complement(X))))
% 0.19/0.71  = { by lemma 17 }
% 0.19/0.71    join(X, X)
% 0.19/0.71  
% 0.19/0.71  Lemma 19: join(X, join(Y, X)) = join(X, Y).
% 0.19/0.71  Proof:
% 0.19/0.71    join(X, join(Y, X))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    join(X, join(X, Y))
% 0.19/0.71  = { by axiom 6 (maddux2_join_associativity) }
% 0.19/0.71    join(join(X, X), Y)
% 0.19/0.71  = { by lemma 18 R->L }
% 0.19/0.71    join(join(X, zero), Y)
% 0.19/0.71  = { by axiom 6 (maddux2_join_associativity) R->L }
% 0.19/0.71    join(X, join(zero, Y))
% 0.19/0.71  = { by lemma 17 R->L }
% 0.19/0.71    join(X, join(zero, join(zero, complement(complement(Y)))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    join(X, join(zero, join(complement(complement(Y)), zero)))
% 0.19/0.71  = { by lemma 18 }
% 0.19/0.71    join(X, join(zero, join(complement(complement(Y)), complement(complement(Y)))))
% 0.19/0.71  = { by lemma 14 }
% 0.19/0.71    join(X, join(zero, complement(complement(Y))))
% 0.19/0.71  = { by lemma 16 }
% 0.19/0.71    join(X, Y)
% 0.19/0.71  
% 0.19/0.71  Lemma 20: join(Y, join(X, Z)) = join(X, join(Y, Z)).
% 0.19/0.71  Proof:
% 0.19/0.71    join(Y, join(X, Z))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    join(join(X, Z), Y)
% 0.19/0.71  = { by axiom 6 (maddux2_join_associativity) R->L }
% 0.19/0.71    join(X, join(Z, Y))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    join(X, join(Y, Z))
% 0.19/0.71  
% 0.19/0.71  Lemma 21: join(composition(X, Y), composition(X, Z)) = composition(X, join(Y, Z)).
% 0.19/0.71  Proof:
% 0.19/0.71    join(composition(X, Y), composition(X, Z))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) R->L }
% 0.19/0.71    join(composition(X, Y), composition(X, converse(converse(Z))))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) R->L }
% 0.19/0.71    converse(converse(join(composition(X, Y), composition(X, converse(converse(Z))))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    converse(converse(join(composition(X, converse(converse(Z))), composition(X, Y))))
% 0.19/0.71  = { by axiom 5 (converse_additivity) }
% 0.19/0.71    converse(join(converse(composition(X, converse(converse(Z)))), converse(composition(X, Y))))
% 0.19/0.71  = { by axiom 7 (converse_multiplicativity) }
% 0.19/0.71    converse(join(composition(converse(converse(converse(Z))), converse(X)), converse(composition(X, Y))))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) }
% 0.19/0.71    converse(join(composition(converse(Z), converse(X)), converse(composition(X, Y))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    converse(join(converse(composition(X, Y)), composition(converse(Z), converse(X))))
% 0.19/0.71  = { by axiom 7 (converse_multiplicativity) }
% 0.19/0.71    converse(join(composition(converse(Y), converse(X)), composition(converse(Z), converse(X))))
% 0.19/0.71  = { by axiom 10 (composition_distributivity) R->L }
% 0.19/0.71    converse(composition(join(converse(Y), converse(Z)), converse(X)))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) R->L }
% 0.19/0.71    converse(composition(join(converse(Z), converse(Y)), converse(X)))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) R->L }
% 0.19/0.71    converse(composition(join(converse(converse(converse(Z))), converse(Y)), converse(X)))
% 0.19/0.71  = { by axiom 5 (converse_additivity) R->L }
% 0.19/0.71    converse(composition(converse(join(converse(converse(Z)), Y)), converse(X)))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    converse(composition(converse(join(Y, converse(converse(Z)))), converse(X)))
% 0.19/0.71  = { by axiom 7 (converse_multiplicativity) R->L }
% 0.19/0.71    converse(converse(composition(X, join(Y, converse(converse(Z))))))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) }
% 0.19/0.71    composition(X, join(Y, converse(converse(Z))))
% 0.19/0.71  = { by axiom 1 (converse_idempotence) }
% 0.19/0.71    composition(X, join(Y, Z))
% 0.19/0.71  
% 0.19/0.71  Goal 1 (goals): tuple(join(join(composition(x0_2, join(x1_2, x2_2)), composition(x0_2, x1_2)), composition(x0_2, x2_2)), join(join(composition(x0, x1), composition(x0, x2)), composition(x0, join(x1, x2)))) = tuple(join(composition(x0_2, x1_2), composition(x0_2, x2_2)), composition(x0, join(x1, x2))).
% 0.19/0.71  Proof:
% 0.19/0.71    tuple(join(join(composition(x0_2, join(x1_2, x2_2)), composition(x0_2, x1_2)), composition(x0_2, x2_2)), join(join(composition(x0, x1), composition(x0, x2)), composition(x0, join(x1, x2))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    tuple(join(composition(x0_2, x2_2), join(composition(x0_2, join(x1_2, x2_2)), composition(x0_2, x1_2))), join(join(composition(x0, x1), composition(x0, x2)), composition(x0, join(x1, x2))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    tuple(join(composition(x0_2, x2_2), join(composition(x0_2, x1_2), composition(x0_2, join(x1_2, x2_2)))), join(join(composition(x0, x1), composition(x0, x2)), composition(x0, join(x1, x2))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    tuple(join(composition(x0_2, x2_2), join(composition(x0_2, x1_2), composition(x0_2, join(x1_2, x2_2)))), join(composition(x0, join(x1, x2)), join(composition(x0, x1), composition(x0, x2))))
% 0.19/0.71  = { by lemma 20 R->L }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), join(composition(x0_2, x2_2), composition(x0_2, join(x1_2, x2_2)))), join(composition(x0, join(x1, x2)), join(composition(x0, x1), composition(x0, x2))))
% 0.19/0.71  = { by lemma 20 R->L }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), join(composition(x0_2, x2_2), composition(x0_2, join(x1_2, x2_2)))), join(composition(x0, x1), join(composition(x0, join(x1, x2)), composition(x0, x2))))
% 0.19/0.71  = { by axiom 2 (maddux1_join_commutativity) }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), join(composition(x0_2, x2_2), composition(x0_2, join(x1_2, x2_2)))), join(composition(x0, x1), join(composition(x0, x2), composition(x0, join(x1, x2)))))
% 0.19/0.71  = { by lemma 21 }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), composition(x0_2, join(x2_2, join(x1_2, x2_2)))), join(composition(x0, x1), join(composition(x0, x2), composition(x0, join(x1, x2)))))
% 0.19/0.71  = { by lemma 19 }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), composition(x0_2, join(x2_2, x1_2))), join(composition(x0, x1), join(composition(x0, x2), composition(x0, join(x1, x2)))))
% 0.19/0.71  = { by lemma 21 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, join(x2_2, x1_2))), join(composition(x0, x1), join(composition(x0, x2), composition(x0, join(x1, x2)))))
% 0.19/0.71  = { by lemma 19 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, x2_2)), join(composition(x0, x1), join(composition(x0, x2), composition(x0, join(x1, x2)))))
% 0.19/0.71  = { by lemma 21 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, x2_2)), join(composition(x0, x1), composition(x0, join(x2, join(x1, x2)))))
% 0.19/0.71  = { by lemma 19 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, x2_2)), join(composition(x0, x1), composition(x0, join(x2, x1))))
% 0.19/0.71  = { by lemma 21 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, x2_2)), composition(x0, join(x1, join(x2, x1))))
% 0.19/0.71  = { by lemma 19 }
% 0.19/0.71    tuple(composition(x0_2, join(x1_2, x2_2)), composition(x0, join(x1, x2)))
% 0.19/0.71  = { by lemma 21 R->L }
% 0.19/0.71    tuple(join(composition(x0_2, x1_2), composition(x0_2, x2_2)), composition(x0, join(x1, x2)))
% 0.19/0.71  % SZS output end Proof
% 0.19/0.71  
% 0.19/0.71  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------