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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : REL027+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 : 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 13:44:10 EDT 2023

% Result   : Theorem 17.81s 2.82s
% Output   : Proof 18.78s
% Verified : 
% SZS Type : -

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