0.12/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.12/0.12 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.13/0.33 % Computer : n011.cluster.edu 0.13/0.33 % Model : x86_64 x86_64 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.13/0.33 % Memory : 8042.1875MB 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.13/0.33 % CPULimit : 1200 0.13/0.33 % WCLimit : 120 0.13/0.33 % DateTime : Tue Jul 13 16:39:40 EDT 2021 0.13/0.33 % CPUTime : 59.82/7.91 % SZS status Theorem 59.82/7.91 60.45/7.96 % SZS output start Proof 60.45/7.96 Take the following subset of the input axioms: 60.45/7.97 fof(composition_associativity, axiom, ![X0, X1, X2]: composition(composition(X0, X1), X2)=composition(X0, composition(X1, X2))). 60.45/7.97 fof(composition_distributivity, axiom, ![X0, X1, X2]: composition(join(X0, X1), X2)=join(composition(X0, X2), composition(X1, X2))). 60.45/7.97 fof(composition_identity, axiom, ![X0]: composition(X0, one)=X0). 60.45/7.97 fof(converse_additivity, axiom, ![X0, X1]: converse(join(X0, X1))=join(converse(X0), converse(X1))). 60.45/7.97 fof(converse_cancellativity, axiom, ![X0, X1]: join(composition(converse(X0), complement(composition(X0, X1))), complement(X1))=complement(X1)). 60.45/7.97 fof(converse_idempotence, axiom, ![X0]: converse(converse(X0))=X0). 60.45/7.97 fof(converse_multiplicativity, axiom, ![X0, X1]: converse(composition(X0, X1))=composition(converse(X1), converse(X0))). 60.45/7.97 fof(def_top, axiom, ![X0]: join(X0, complement(X0))=top). 60.45/7.97 fof(def_zero, axiom, ![X0]: zero=meet(X0, complement(X0))). 60.45/7.97 fof(goals, conjecture, ![X0, X1, X2]: ((meet(X0, composition(X1, X2))=join(composition(meet(X0, X1), X2), meet(X0, composition(X1, X2))) & composition(meet(X0, X1), X2)=join(meet(X0, composition(X1, X2)), composition(meet(X0, X1), X2))) <= composition(X0, top)=X0)). 60.45/7.97 fof(maddux1_join_commutativity, axiom, ![X0, X1]: join(X0, X1)=join(X1, X0)). 60.45/7.97 fof(maddux2_join_associativity, axiom, ![X0, X1, X2]: join(join(X0, X1), X2)=join(X0, join(X1, X2))). 60.45/7.97 fof(maddux3_a_kind_of_de_Morgan, axiom, ![X0, X1]: X0=join(complement(join(complement(X0), complement(X1))), complement(join(complement(X0), X1)))). 60.45/7.97 fof(maddux4_definiton_of_meet, axiom, ![X0, X1]: meet(X0, X1)=complement(join(complement(X0), complement(X1)))). 60.45/7.97 60.45/7.97 Now clausify the problem and encode Horn clauses using encoding 3 of 60.45/7.97 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 60.45/7.97 We repeatedly replace C & s=t => u=v by the two clauses: 60.45/7.97 fresh(y, y, x1...xn) = u 60.45/7.97 C => fresh(s, t, x1...xn) = v 60.45/7.97 where fresh is a fresh function symbol and x1..xn are the free 60.45/7.97 variables of u and v. 60.45/7.97 A predicate p(X) is encoded as p(X)=true (this is sound, because the 60.45/7.97 input problem has no model of domain size 1). 60.45/7.97 60.45/7.97 The encoding turns the above axioms into the following unit equations and goals: 60.45/7.97 60.45/7.97 Axiom 1 (maddux1_join_commutativity): join(X, Y) = join(Y, X). 60.45/7.97 Axiom 2 (composition_identity): composition(X, one) = X. 60.45/7.97 Axiom 3 (goals): composition(x0, top) = x0. 60.45/7.97 Axiom 4 (converse_idempotence): converse(converse(X)) = X. 60.45/7.97 Axiom 5 (def_top): join(X, complement(X)) = top. 60.45/7.97 Axiom 6 (maddux2_join_associativity): join(join(X, Y), Z) = join(X, join(Y, Z)). 60.45/7.97 Axiom 7 (def_zero): zero = meet(X, complement(X)). 60.45/7.97 Axiom 8 (composition_associativity): composition(composition(X, Y), Z) = composition(X, composition(Y, Z)). 60.45/7.97 Axiom 9 (converse_additivity): converse(join(X, Y)) = join(converse(X), converse(Y)). 60.45/7.97 Axiom 10 (composition_distributivity): composition(join(X, Y), Z) = join(composition(X, Z), composition(Y, Z)). 60.45/7.97 Axiom 11 (converse_multiplicativity): converse(composition(X, Y)) = composition(converse(Y), converse(X)). 60.45/7.97 Axiom 12 (maddux4_definiton_of_meet): meet(X, Y) = complement(join(complement(X), complement(Y))). 60.45/7.97 Axiom 13 (converse_cancellativity): join(composition(converse(X), complement(composition(X, Y))), complement(Y)) = complement(Y). 60.45/7.97 Axiom 14 (maddux3_a_kind_of_de_Morgan): X = join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y))). 60.45/7.97 60.45/7.97 Lemma 15: join(X, join(Y, complement(X))) = join(Y, top). 60.45/7.97 Proof: 60.45/7.97 join(X, join(Y, complement(X))) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(X, join(complement(X), Y)) 60.45/7.97 = { by axiom 6 (maddux2_join_associativity) R->L } 60.45/7.97 join(join(X, complement(X)), Y) 60.45/7.97 = { by axiom 5 (def_top) } 60.45/7.97 join(top, Y) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.97 join(Y, top) 60.45/7.97 60.45/7.97 Lemma 16: converse(composition(converse(X), Y)) = composition(converse(Y), X). 60.45/7.97 Proof: 60.45/7.97 converse(composition(converse(X), Y)) 60.45/7.97 = { by axiom 11 (converse_multiplicativity) } 60.45/7.97 composition(converse(Y), converse(converse(X))) 60.45/7.97 = { by axiom 4 (converse_idempotence) } 60.45/7.97 composition(converse(Y), X) 60.45/7.97 60.45/7.97 Lemma 17: composition(converse(one), X) = X. 60.45/7.97 Proof: 60.45/7.97 composition(converse(one), X) 60.45/7.97 = { by lemma 16 R->L } 60.45/7.97 converse(composition(converse(X), one)) 60.45/7.97 = { by axiom 2 (composition_identity) } 60.45/7.97 converse(converse(X)) 60.45/7.97 = { by axiom 4 (converse_idempotence) } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 18: composition(one, X) = X. 60.45/7.97 Proof: 60.45/7.97 composition(one, X) 60.45/7.97 = { by lemma 17 R->L } 60.45/7.97 composition(converse(one), composition(one, X)) 60.45/7.97 = { by axiom 8 (composition_associativity) R->L } 60.45/7.97 composition(composition(converse(one), one), X) 60.45/7.97 = { by axiom 2 (composition_identity) } 60.45/7.97 composition(converse(one), X) 60.45/7.97 = { by lemma 17 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 19: join(complement(X), composition(converse(Y), complement(composition(Y, X)))) = complement(X). 60.45/7.97 Proof: 60.45/7.97 join(complement(X), composition(converse(Y), complement(composition(Y, X)))) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(composition(converse(Y), complement(composition(Y, X))), complement(X)) 60.45/7.97 = { by axiom 13 (converse_cancellativity) } 60.45/7.97 complement(X) 60.45/7.97 60.45/7.97 Lemma 20: join(complement(X), complement(X)) = complement(X). 60.45/7.97 Proof: 60.45/7.97 join(complement(X), complement(X)) 60.45/7.97 = { by lemma 17 R->L } 60.45/7.97 join(complement(X), composition(converse(one), complement(X))) 60.45/7.97 = { by lemma 18 R->L } 60.45/7.97 join(complement(X), composition(converse(one), complement(composition(one, X)))) 60.45/7.97 = { by lemma 19 } 60.45/7.97 complement(X) 60.45/7.97 60.45/7.97 Lemma 21: join(top, complement(X)) = top. 60.45/7.97 Proof: 60.45/7.97 join(top, complement(X)) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(complement(X), top) 60.45/7.97 = { by lemma 15 R->L } 60.45/7.97 join(X, join(complement(X), complement(X))) 60.45/7.97 = { by lemma 20 } 60.45/7.97 join(X, complement(X)) 60.45/7.97 = { by axiom 5 (def_top) } 60.45/7.97 top 60.45/7.97 60.45/7.97 Lemma 22: join(Y, top) = join(X, top). 60.45/7.97 Proof: 60.45/7.97 join(Y, top) 60.45/7.97 = { by lemma 21 R->L } 60.45/7.97 join(Y, join(top, complement(Y))) 60.45/7.97 = { by lemma 15 } 60.45/7.97 join(top, top) 60.45/7.97 = { by lemma 15 R->L } 60.45/7.97 join(X, join(top, complement(X))) 60.45/7.97 = { by lemma 21 } 60.45/7.97 join(X, top) 60.45/7.97 60.45/7.97 Lemma 23: join(meet(X, Y), complement(join(complement(X), Y))) = X. 60.45/7.97 Proof: 60.45/7.97 join(meet(X, Y), complement(join(complement(X), Y))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.97 join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y))) 60.45/7.97 = { by axiom 14 (maddux3_a_kind_of_de_Morgan) R->L } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 24: join(zero, meet(X, X)) = X. 60.45/7.97 Proof: 60.45/7.97 join(zero, meet(X, X)) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.97 join(zero, complement(join(complement(X), complement(X)))) 60.45/7.97 = { by axiom 7 (def_zero) } 60.45/7.97 join(meet(X, complement(X)), complement(join(complement(X), complement(X)))) 60.45/7.97 = { by lemma 23 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 25: complement(top) = zero. 60.45/7.97 Proof: 60.45/7.97 complement(top) 60.45/7.97 = { by axiom 5 (def_top) R->L } 60.45/7.97 complement(join(complement(X), complement(complement(X)))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.97 meet(X, complement(X)) 60.45/7.97 = { by axiom 7 (def_zero) R->L } 60.45/7.97 zero 60.45/7.97 60.45/7.97 Lemma 26: join(zero, zero) = zero. 60.45/7.97 Proof: 60.45/7.97 join(zero, zero) 60.45/7.97 = { by lemma 25 R->L } 60.45/7.97 join(zero, complement(top)) 60.45/7.97 = { by lemma 25 R->L } 60.45/7.97 join(complement(top), complement(top)) 60.45/7.97 = { by lemma 20 } 60.45/7.97 complement(top) 60.45/7.97 = { by lemma 25 } 60.45/7.97 zero 60.45/7.97 60.45/7.97 Lemma 27: join(zero, join(zero, X)) = join(X, zero). 60.45/7.97 Proof: 60.45/7.97 join(zero, join(zero, X)) 60.45/7.97 = { by axiom 6 (maddux2_join_associativity) R->L } 60.45/7.97 join(join(zero, zero), X) 60.45/7.97 = { by lemma 26 } 60.45/7.97 join(zero, X) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.97 join(X, zero) 60.45/7.97 60.45/7.97 Lemma 28: join(X, zero) = X. 60.45/7.97 Proof: 60.45/7.97 join(X, zero) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(zero, X) 60.45/7.97 = { by lemma 24 R->L } 60.45/7.97 join(zero, join(zero, meet(X, X))) 60.45/7.97 = { by lemma 27 } 60.45/7.97 join(meet(X, X), zero) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.97 join(zero, meet(X, X)) 60.45/7.97 = { by lemma 24 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 29: join(zero, X) = X. 60.45/7.97 Proof: 60.45/7.97 join(zero, X) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(X, zero) 60.45/7.97 = { by lemma 28 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 30: join(X, top) = top. 60.45/7.97 Proof: 60.45/7.97 join(X, top) 60.45/7.97 = { by lemma 22 } 60.45/7.97 join(zero, top) 60.45/7.97 = { by lemma 29 } 60.45/7.97 top 60.45/7.97 60.45/7.97 Lemma 31: join(top, X) = top. 60.45/7.97 Proof: 60.45/7.97 join(top, X) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 join(X, top) 60.45/7.97 = { by lemma 22 R->L } 60.45/7.97 join(Y, top) 60.45/7.97 = { by lemma 30 } 60.45/7.97 top 60.45/7.97 60.45/7.97 Lemma 32: converse(join(X, converse(Y))) = join(Y, converse(X)). 60.45/7.97 Proof: 60.45/7.97 converse(join(X, converse(Y))) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 converse(join(converse(Y), X)) 60.45/7.97 = { by axiom 9 (converse_additivity) } 60.45/7.97 join(converse(converse(Y)), converse(X)) 60.45/7.97 = { by axiom 4 (converse_idempotence) } 60.45/7.97 join(Y, converse(X)) 60.45/7.97 60.45/7.97 Lemma 33: converse(top) = top. 60.45/7.97 Proof: 60.45/7.97 converse(top) 60.45/7.97 = { by lemma 31 R->L } 60.45/7.97 converse(join(top, converse(top))) 60.45/7.97 = { by lemma 32 } 60.45/7.97 join(top, converse(top)) 60.45/7.97 = { by lemma 31 } 60.45/7.97 top 60.45/7.97 60.45/7.97 Lemma 34: meet(X, X) = X. 60.45/7.97 Proof: 60.45/7.97 meet(X, X) 60.45/7.97 = { by lemma 29 R->L } 60.45/7.97 join(zero, meet(X, X)) 60.45/7.97 = { by lemma 24 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 35: meet(Y, X) = meet(X, Y). 60.45/7.97 Proof: 60.45/7.97 meet(Y, X) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.97 complement(join(complement(Y), complement(X))) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 complement(join(complement(X), complement(Y))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.97 meet(X, Y) 60.45/7.97 60.45/7.97 Lemma 36: complement(join(zero, complement(X))) = meet(X, top). 60.45/7.97 Proof: 60.45/7.97 complement(join(zero, complement(X))) 60.45/7.97 = { by lemma 25 R->L } 60.45/7.97 complement(join(complement(top), complement(X))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.97 meet(top, X) 60.45/7.97 = { by lemma 35 R->L } 60.45/7.97 meet(X, top) 60.45/7.97 60.45/7.97 Lemma 37: complement(complement(X)) = meet(X, X). 60.45/7.97 Proof: 60.45/7.97 complement(complement(X)) 60.45/7.97 = { by lemma 20 R->L } 60.45/7.97 complement(join(complement(X), complement(X))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.97 meet(X, X) 60.45/7.97 60.45/7.97 Lemma 38: complement(complement(X)) = X. 60.45/7.97 Proof: 60.45/7.97 complement(complement(X)) 60.45/7.97 = { by lemma 29 R->L } 60.45/7.97 join(zero, complement(complement(X))) 60.45/7.97 = { by lemma 37 } 60.45/7.97 join(zero, meet(X, X)) 60.45/7.97 = { by lemma 24 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 39: meet(X, top) = X. 60.45/7.97 Proof: 60.45/7.97 meet(X, top) 60.45/7.97 = { by lemma 36 R->L } 60.45/7.97 complement(join(zero, complement(X))) 60.45/7.97 = { by lemma 29 } 60.45/7.97 complement(complement(X)) 60.45/7.97 = { by lemma 38 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 40: join(meet(X, Y), meet(X, Y)) = meet(X, Y). 60.45/7.97 Proof: 60.45/7.97 join(meet(X, Y), meet(X, Y)) 60.45/7.97 = { by lemma 35 } 60.45/7.97 join(meet(Y, X), meet(X, Y)) 60.45/7.97 = { by lemma 35 } 60.45/7.97 join(meet(Y, X), meet(Y, X)) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.97 join(meet(Y, X), complement(join(complement(Y), complement(X)))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.97 join(complement(join(complement(Y), complement(X))), complement(join(complement(Y), complement(X)))) 60.45/7.97 = { by lemma 20 } 60.45/7.97 complement(join(complement(Y), complement(X))) 60.45/7.97 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.97 meet(Y, X) 60.45/7.97 = { by lemma 35 R->L } 60.45/7.97 meet(X, Y) 60.45/7.97 60.45/7.97 Lemma 41: join(X, X) = X. 60.45/7.97 Proof: 60.45/7.97 join(X, X) 60.45/7.97 = { by lemma 34 R->L } 60.45/7.97 join(X, meet(X, X)) 60.45/7.97 = { by lemma 34 R->L } 60.45/7.97 join(meet(X, X), meet(X, X)) 60.45/7.97 = { by lemma 40 } 60.45/7.97 meet(X, X) 60.45/7.97 = { by lemma 34 } 60.45/7.97 X 60.45/7.97 60.45/7.97 Lemma 42: converse(composition(X, converse(Y))) = composition(Y, converse(X)). 60.45/7.97 Proof: 60.45/7.97 converse(composition(X, converse(Y))) 60.45/7.97 = { by axiom 11 (converse_multiplicativity) } 60.45/7.97 composition(converse(converse(Y)), converse(X)) 60.45/7.97 = { by axiom 4 (converse_idempotence) } 60.45/7.97 composition(Y, converse(X)) 60.45/7.97 60.45/7.97 Lemma 43: composition(join(X, one), Y) = join(Y, composition(X, Y)). 60.45/7.97 Proof: 60.45/7.97 composition(join(X, one), Y) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 composition(join(one, X), Y) 60.45/7.97 = { by axiom 10 (composition_distributivity) } 60.45/7.97 join(composition(one, Y), composition(X, Y)) 60.45/7.97 = { by lemma 18 } 60.45/7.97 join(Y, composition(X, Y)) 60.45/7.97 60.45/7.97 Lemma 44: converse(join(converse(X), Y)) = join(X, converse(Y)). 60.45/7.97 Proof: 60.45/7.97 converse(join(converse(X), Y)) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 converse(join(Y, converse(X))) 60.45/7.97 = { by lemma 32 } 60.45/7.97 join(X, converse(Y)) 60.45/7.97 60.45/7.97 Lemma 45: composition(complement(x0), top) = complement(x0). 60.45/7.97 Proof: 60.45/7.97 composition(complement(x0), top) 60.45/7.97 = { by lemma 33 R->L } 60.45/7.97 composition(complement(x0), converse(top)) 60.45/7.97 = { by lemma 42 R->L } 60.45/7.97 converse(composition(top, converse(complement(x0)))) 60.45/7.97 = { by lemma 30 R->L } 60.45/7.97 converse(composition(join(one, top), converse(complement(x0)))) 60.45/7.97 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.97 converse(composition(join(top, one), converse(complement(x0)))) 60.45/7.97 = { by lemma 43 } 60.45/7.97 converse(join(converse(complement(x0)), composition(top, converse(complement(x0))))) 60.45/7.97 = { by lemma 44 } 60.45/7.97 join(complement(x0), converse(composition(top, converse(complement(x0))))) 60.45/7.97 = { by lemma 42 } 60.45/7.97 join(complement(x0), composition(complement(x0), converse(top))) 60.45/7.97 = { by lemma 33 } 60.45/7.97 join(complement(x0), composition(complement(x0), top)) 60.45/7.97 = { by axiom 5 (def_top) R->L } 60.45/7.97 join(complement(x0), composition(complement(x0), join(zero, complement(zero)))) 60.45/7.97 = { by lemma 29 } 60.45/7.97 join(complement(x0), composition(complement(x0), complement(zero))) 60.45/7.97 = { by axiom 4 (converse_idempotence) R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(zero))) 60.45/7.97 = { by lemma 26 R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(join(zero, zero)))) 60.45/7.97 = { by axiom 4 (converse_idempotence) R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(join(zero, converse(converse(zero)))))) 60.45/7.97 = { by lemma 28 R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(join(zero, converse(join(converse(zero), zero)))))) 60.45/7.97 = { by lemma 44 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(join(zero, join(zero, converse(zero)))))) 60.45/7.97 = { by lemma 27 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(join(converse(zero), zero)))) 60.45/7.97 = { by lemma 28 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(zero)))) 60.45/7.97 = { by lemma 25 R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(complement(top))))) 60.45/7.97 = { by lemma 19 R->L } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(join(complement(top), composition(converse(x0), complement(composition(x0, top)))))))) 60.45/7.97 = { by axiom 3 (goals) } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(join(complement(top), composition(converse(x0), complement(x0))))))) 60.45/7.97 = { by lemma 25 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(join(zero, composition(converse(x0), complement(x0))))))) 60.45/7.97 = { by lemma 29 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(converse(composition(converse(x0), complement(x0)))))) 60.45/7.97 = { by lemma 16 } 60.45/7.97 join(complement(x0), composition(converse(converse(complement(x0))), complement(composition(converse(complement(x0)), x0)))) 60.45/7.97 = { by lemma 19 } 60.45/7.97 complement(x0) 60.45/7.97 60.45/7.97 Lemma 46: meet(X, join(complement(Y), complement(Z))) = complement(join(complement(X), meet(Y, Z))). 60.45/7.97 Proof: 60.45/7.98 meet(X, join(complement(Y), complement(Z))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 meet(X, join(complement(Z), complement(Y))) 60.45/7.98 = { by lemma 35 } 60.45/7.98 meet(join(complement(Z), complement(Y)), X) 60.45/7.98 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.98 complement(join(complement(join(complement(Z), complement(Y))), complement(X))) 60.45/7.98 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.98 complement(join(meet(Z, Y), complement(X))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 complement(join(complement(X), meet(Z, Y))) 60.45/7.98 = { by lemma 35 R->L } 60.45/7.98 complement(join(complement(X), meet(Y, Z))) 60.45/7.98 60.45/7.98 Lemma 47: complement(join(X, complement(Y))) = meet(Y, complement(X)). 60.45/7.98 Proof: 60.45/7.98 complement(join(X, complement(Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 complement(join(complement(Y), X)) 60.45/7.98 = { by lemma 39 R->L } 60.45/7.98 complement(join(complement(Y), meet(X, top))) 60.45/7.98 = { by lemma 35 R->L } 60.45/7.98 complement(join(complement(Y), meet(top, X))) 60.45/7.98 = { by lemma 46 R->L } 60.45/7.98 meet(Y, join(complement(top), complement(X))) 60.45/7.98 = { by lemma 25 } 60.45/7.98 meet(Y, join(zero, complement(X))) 60.45/7.98 = { by lemma 29 } 60.45/7.98 meet(Y, complement(X)) 60.45/7.98 60.45/7.98 Lemma 48: join(X, meet(X, Y)) = X. 60.45/7.98 Proof: 60.45/7.98 join(X, meet(X, Y)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(meet(X, Y), X) 60.45/7.98 = { by lemma 23 R->L } 60.45/7.98 join(meet(X, Y), join(meet(X, Y), complement(join(complement(X), Y)))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(meet(X, Y), join(complement(join(complement(X), Y)), meet(X, Y))) 60.45/7.98 = { by lemma 38 R->L } 60.45/7.98 join(meet(X, Y), join(complement(join(complement(X), Y)), complement(complement(meet(X, Y))))) 60.45/7.98 = { by lemma 34 R->L } 60.45/7.98 join(meet(meet(X, Y), meet(X, Y)), join(complement(join(complement(X), Y)), complement(complement(meet(X, Y))))) 60.45/7.98 = { by lemma 37 R->L } 60.45/7.98 join(complement(complement(meet(X, Y))), join(complement(join(complement(X), Y)), complement(complement(meet(X, Y))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(complement(complement(meet(X, Y))), join(complement(complement(meet(X, Y))), complement(join(complement(X), Y)))) 60.45/7.98 = { by axiom 6 (maddux2_join_associativity) R->L } 60.45/7.98 join(join(complement(complement(meet(X, Y))), complement(complement(meet(X, Y)))), complement(join(complement(X), Y))) 60.45/7.98 = { by lemma 20 } 60.45/7.98 join(complement(complement(meet(X, Y))), complement(join(complement(X), Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(complement(join(complement(X), Y)), complement(complement(meet(X, Y)))) 60.45/7.98 = { by lemma 38 } 60.45/7.98 join(complement(join(complement(X), Y)), meet(X, Y)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(meet(X, Y), complement(join(complement(X), Y))) 60.45/7.98 = { by lemma 23 } 60.45/7.98 X 60.45/7.98 60.45/7.98 Lemma 49: composition(X, join(Y, one)) = join(X, composition(X, Y)). 60.45/7.98 Proof: 60.45/7.98 composition(X, join(Y, one)) 60.45/7.98 = { by lemma 17 R->L } 60.45/7.98 composition(X, join(Y, composition(converse(one), one))) 60.45/7.98 = { by axiom 2 (composition_identity) } 60.45/7.98 composition(X, join(Y, converse(one))) 60.45/7.98 = { by lemma 44 R->L } 60.45/7.98 composition(X, converse(join(converse(Y), one))) 60.45/7.98 = { by lemma 42 R->L } 60.45/7.98 converse(composition(join(converse(Y), one), converse(X))) 60.45/7.98 = { by lemma 43 } 60.45/7.98 converse(join(converse(X), composition(converse(Y), converse(X)))) 60.45/7.98 = { by lemma 44 } 60.45/7.98 join(X, converse(composition(converse(Y), converse(X)))) 60.45/7.98 = { by lemma 42 } 60.45/7.98 join(X, composition(X, converse(converse(Y)))) 60.45/7.98 = { by axiom 4 (converse_idempotence) } 60.45/7.98 join(X, composition(X, Y)) 60.45/7.98 60.45/7.98 Lemma 50: join(x0, composition(x0, X)) = x0. 60.45/7.98 Proof: 60.45/7.98 join(x0, composition(x0, X)) 60.45/7.98 = { by lemma 49 R->L } 60.45/7.98 composition(x0, join(X, one)) 60.45/7.98 = { by axiom 3 (goals) R->L } 60.45/7.98 composition(composition(x0, top), join(X, one)) 60.45/7.98 = { by axiom 8 (composition_associativity) } 60.45/7.98 composition(x0, composition(top, join(X, one))) 60.45/7.98 = { by lemma 49 } 60.45/7.98 composition(x0, join(top, composition(top, X))) 60.45/7.98 = { by lemma 31 } 60.45/7.98 composition(x0, top) 60.45/7.98 = { by axiom 3 (goals) } 60.45/7.98 x0 60.45/7.98 60.45/7.98 Lemma 51: join(meet(X, Y), meet(X, complement(Y))) = X. 60.45/7.98 Proof: 60.45/7.98 join(meet(X, Y), meet(X, complement(Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(meet(X, complement(Y)), meet(X, Y)) 60.45/7.98 = { by axiom 12 (maddux4_definiton_of_meet) } 60.45/7.98 join(meet(X, complement(Y)), complement(join(complement(X), complement(Y)))) 60.45/7.98 = { by lemma 23 } 60.45/7.98 X 60.45/7.98 60.45/7.98 Lemma 52: join(composition(X, Y), join(Z, composition(W, Y))) = join(Z, composition(join(X, W), Y)). 60.45/7.98 Proof: 60.45/7.98 join(composition(X, Y), join(Z, composition(W, Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(composition(X, Y), join(composition(W, Y), Z)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(join(composition(W, Y), Z), composition(X, Y)) 60.45/7.98 = { by axiom 6 (maddux2_join_associativity) } 60.45/7.98 join(composition(W, Y), join(Z, composition(X, Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(composition(W, Y), join(composition(X, Y), Z)) 60.45/7.98 = { by axiom 6 (maddux2_join_associativity) R->L } 60.45/7.98 join(join(composition(W, Y), composition(X, Y)), Z) 60.45/7.98 = { by axiom 10 (composition_distributivity) R->L } 60.45/7.98 join(composition(join(W, X), Y), Z) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(Z, composition(join(W, X), Y)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(Z, composition(join(X, W), Y)) 60.45/7.98 60.45/7.98 Lemma 53: join(complement(x0), composition(join(X, complement(x0)), Y)) = join(complement(x0), composition(X, Y)). 60.45/7.98 Proof: 60.45/7.98 join(complement(x0), composition(join(X, complement(x0)), Y)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(complement(x0), composition(join(complement(x0), X), Y)) 60.45/7.98 = { by lemma 45 R->L } 60.45/7.98 join(composition(complement(x0), top), composition(join(complement(x0), X), Y)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(composition(complement(x0), top), composition(join(X, complement(x0)), Y)) 60.45/7.98 = { by lemma 52 R->L } 60.45/7.98 join(composition(X, Y), join(composition(complement(x0), top), composition(complement(x0), Y))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(composition(X, Y), join(composition(complement(x0), Y), composition(complement(x0), top))) 60.45/7.98 = { by axiom 4 (converse_idempotence) R->L } 60.45/7.98 join(composition(X, Y), join(composition(complement(x0), Y), composition(complement(x0), converse(converse(top))))) 60.45/7.98 = { by axiom 4 (converse_idempotence) R->L } 60.45/7.98 join(composition(X, Y), converse(converse(join(composition(complement(x0), Y), composition(complement(x0), converse(converse(top))))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(composition(X, Y), converse(converse(join(composition(complement(x0), converse(converse(top))), composition(complement(x0), Y))))) 60.45/7.98 = { by axiom 9 (converse_additivity) } 60.45/7.98 join(composition(X, Y), converse(join(converse(composition(complement(x0), converse(converse(top)))), converse(composition(complement(x0), Y))))) 60.45/7.98 = { by lemma 42 } 60.45/7.98 join(composition(X, Y), converse(join(composition(converse(top), converse(complement(x0))), converse(composition(complement(x0), Y))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(composition(X, Y), converse(join(converse(composition(complement(x0), Y)), composition(converse(top), converse(complement(x0)))))) 60.45/7.98 = { by axiom 11 (converse_multiplicativity) } 60.45/7.98 join(composition(X, Y), converse(join(composition(converse(Y), converse(complement(x0))), composition(converse(top), converse(complement(x0)))))) 60.45/7.98 = { by axiom 10 (composition_distributivity) R->L } 60.45/7.98 join(composition(X, Y), converse(composition(join(converse(Y), converse(top)), converse(complement(x0))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 join(composition(X, Y), converse(composition(join(converse(top), converse(Y)), converse(complement(x0))))) 60.45/7.98 = { by lemma 32 R->L } 60.45/7.98 join(composition(X, Y), converse(composition(converse(join(Y, converse(converse(top)))), converse(complement(x0))))) 60.45/7.98 = { by axiom 11 (converse_multiplicativity) R->L } 60.45/7.98 join(composition(X, Y), converse(converse(composition(complement(x0), join(Y, converse(converse(top))))))) 60.45/7.98 = { by axiom 4 (converse_idempotence) } 60.45/7.98 join(composition(X, Y), composition(complement(x0), join(Y, converse(converse(top))))) 60.45/7.98 = { by axiom 4 (converse_idempotence) } 60.45/7.98 join(composition(X, Y), composition(complement(x0), join(Y, top))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(composition(X, Y), composition(complement(x0), join(top, Y))) 60.45/7.98 = { by lemma 31 } 60.45/7.98 join(composition(X, Y), composition(complement(x0), top)) 60.45/7.98 = { by lemma 45 } 60.45/7.98 join(composition(X, Y), complement(x0)) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(complement(x0), composition(X, Y)) 60.45/7.98 60.45/7.98 Lemma 54: join(complement(X), meet(X, Y)) = join(Y, complement(X)). 60.45/7.98 Proof: 60.45/7.98 join(complement(X), meet(X, Y)) 60.45/7.98 = { by lemma 35 } 60.45/7.98 join(complement(X), meet(Y, X)) 60.45/7.98 = { by lemma 48 R->L } 60.45/7.98 join(join(complement(X), meet(complement(X), Y)), meet(Y, X)) 60.45/7.98 = { by axiom 6 (maddux2_join_associativity) } 60.45/7.98 join(complement(X), join(meet(complement(X), Y), meet(Y, X))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(complement(X), join(meet(Y, X), meet(complement(X), Y))) 60.45/7.98 = { by lemma 35 } 60.45/7.98 join(complement(X), join(meet(Y, X), meet(Y, complement(X)))) 60.45/7.98 = { by lemma 51 } 60.45/7.98 join(complement(X), Y) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 join(Y, complement(X)) 60.45/7.98 60.45/7.98 Lemma 55: composition(meet(one, x0), X) = meet(X, x0). 60.45/7.98 Proof: 60.45/7.98 composition(meet(one, x0), X) 60.45/7.98 = { by lemma 38 R->L } 60.45/7.98 complement(complement(composition(meet(one, x0), X))) 60.45/7.98 = { by lemma 51 R->L } 60.45/7.98 complement(join(meet(complement(composition(meet(one, x0), X)), complement(x0)), meet(complement(composition(meet(one, x0), X)), complement(complement(x0))))) 60.45/7.98 = { by lemma 29 R->L } 60.45/7.98 complement(join(meet(join(zero, complement(composition(meet(one, x0), X))), complement(x0)), meet(complement(composition(meet(one, x0), X)), complement(complement(x0))))) 60.45/7.98 = { by lemma 47 R->L } 60.45/7.98 complement(join(complement(join(x0, complement(join(zero, complement(composition(meet(one, x0), X)))))), meet(complement(composition(meet(one, x0), X)), complement(complement(x0))))) 60.45/7.98 = { by lemma 36 } 60.45/7.98 complement(join(complement(join(x0, meet(composition(meet(one, x0), X), top))), meet(complement(composition(meet(one, x0), X)), complement(complement(x0))))) 60.45/7.98 = { by lemma 39 } 60.45/7.98 complement(join(complement(join(x0, composition(meet(one, x0), X))), meet(complement(composition(meet(one, x0), X)), complement(complement(x0))))) 60.45/7.98 = { by lemma 35 } 60.45/7.98 complement(join(complement(join(x0, composition(meet(one, x0), X))), meet(complement(complement(x0)), complement(composition(meet(one, x0), X))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 complement(join(meet(complement(complement(x0)), complement(composition(meet(one, x0), X))), complement(join(x0, composition(meet(one, x0), X))))) 60.45/7.98 = { by lemma 47 R->L } 60.45/7.98 complement(join(complement(join(composition(meet(one, x0), X), complement(complement(complement(x0))))), complement(join(x0, composition(meet(one, x0), X))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.98 complement(join(complement(join(x0, composition(meet(one, x0), X))), complement(join(composition(meet(one, x0), X), complement(complement(complement(x0))))))) 60.45/7.98 = { by lemma 24 R->L } 60.45/7.98 complement(join(zero, meet(join(complement(join(x0, composition(meet(one, x0), X))), complement(join(composition(meet(one, x0), X), complement(complement(complement(x0)))))), join(complement(join(x0, composition(meet(one, x0), X))), complement(join(composition(meet(one, x0), X), complement(complement(complement(x0))))))))) 60.45/7.98 = { by lemma 46 } 60.45/7.98 complement(join(zero, complement(join(complement(join(complement(join(x0, composition(meet(one, x0), X))), complement(join(composition(meet(one, x0), X), complement(complement(complement(x0))))))), meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(complement(complement(x0))))))))) 60.45/7.98 = { by lemma 29 } 60.45/7.98 complement(complement(join(complement(join(complement(join(x0, composition(meet(one, x0), X))), complement(join(composition(meet(one, x0), X), complement(complement(complement(x0))))))), meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(complement(complement(x0)))))))) 60.45/7.98 = { by axiom 12 (maddux4_definiton_of_meet) R->L } 60.45/7.98 complement(complement(join(meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(complement(complement(x0))))), meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(complement(complement(x0)))))))) 60.45/7.98 = { by lemma 40 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(complement(complement(x0))))))) 60.45/7.98 = { by lemma 38 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(composition(meet(one, x0), X), complement(x0))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(meet(one, x0), X))))) 60.45/7.98 = { by lemma 35 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(meet(x0, one), X))))) 60.45/7.98 = { by lemma 53 R->L } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(join(meet(x0, one), complement(x0)), X))))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(join(complement(x0), meet(x0, one)), X))))) 60.45/7.98 = { by lemma 54 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(join(one, complement(x0)), X))))) 60.45/7.98 = { by lemma 53 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), composition(one, X))))) 60.45/7.98 = { by lemma 18 } 60.45/7.98 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(complement(x0), X)))) 60.45/7.98 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.99 complement(complement(meet(join(x0, composition(meet(one, x0), X)), join(X, complement(x0))))) 60.45/7.99 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.99 complement(complement(meet(join(composition(meet(one, x0), X), x0), join(X, complement(x0))))) 60.45/7.99 = { by lemma 50 R->L } 60.45/7.99 complement(complement(meet(join(composition(meet(one, x0), X), join(x0, composition(x0, X))), join(X, complement(x0))))) 60.45/7.99 = { by lemma 52 } 60.45/7.99 complement(complement(meet(join(x0, composition(join(meet(one, x0), x0), X)), join(X, complement(x0))))) 60.45/7.99 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.99 complement(complement(meet(join(x0, composition(join(x0, meet(one, x0)), X)), join(X, complement(x0))))) 60.45/7.99 = { by lemma 35 } 60.45/7.99 complement(complement(meet(join(x0, composition(join(x0, meet(x0, one)), X)), join(X, complement(x0))))) 60.45/7.99 = { by lemma 48 } 60.45/7.99 complement(complement(meet(join(x0, composition(x0, X)), join(X, complement(x0))))) 60.45/7.99 = { by lemma 50 } 60.45/7.99 complement(complement(meet(x0, join(X, complement(x0))))) 60.45/7.99 = { by lemma 39 R->L } 60.45/7.99 complement(complement(meet(x0, meet(join(X, complement(x0)), top)))) 60.45/7.99 = { by lemma 36 R->L } 60.45/7.99 complement(complement(meet(x0, complement(join(zero, complement(join(X, complement(x0)))))))) 60.45/7.99 = { by lemma 47 } 60.45/7.99 complement(complement(meet(x0, complement(join(zero, meet(x0, complement(X))))))) 60.45/7.99 = { by lemma 29 } 60.45/7.99 complement(complement(meet(x0, complement(meet(x0, complement(X)))))) 60.45/7.99 = { by lemma 47 R->L } 60.45/7.99 complement(complement(complement(join(meet(x0, complement(X)), complement(x0))))) 60.45/7.99 = { by axiom 1 (maddux1_join_commutativity) } 60.45/7.99 complement(complement(complement(join(complement(x0), meet(x0, complement(X)))))) 60.45/7.99 = { by lemma 54 } 60.45/7.99 complement(complement(complement(join(complement(X), complement(x0))))) 60.45/7.99 = { by lemma 47 } 60.45/7.99 complement(complement(meet(x0, complement(complement(X))))) 60.45/7.99 = { by lemma 38 } 60.45/7.99 complement(complement(meet(x0, X))) 60.45/7.99 = { by lemma 35 R->L } 60.45/7.99 complement(complement(meet(X, x0))) 60.45/7.99 = { by lemma 38 } 60.45/7.99 meet(X, x0) 60.45/7.99 60.45/7.99 Lemma 56: composition(meet(X, x0), Y) = meet(x0, composition(X, Y)). 60.45/7.99 Proof: 60.45/7.99 composition(meet(X, x0), Y) 60.45/7.99 = { by lemma 55 R->L } 60.45/7.99 composition(composition(meet(one, x0), X), Y) 60.45/7.99 = { by axiom 8 (composition_associativity) } 60.45/7.99 composition(meet(one, x0), composition(X, Y)) 60.45/7.99 = { by lemma 55 } 60.45/7.99 meet(composition(X, Y), x0) 60.45/7.99 = { by lemma 35 R->L } 60.45/7.99 meet(x0, composition(X, Y)) 60.45/7.99 60.45/7.99 Goal 1 (goals_1): tuple(meet(x0, composition(x1, x2_2)), composition(meet(x0, x1), x2)) = tuple(join(composition(meet(x0, x1), x2_2), meet(x0, composition(x1, x2_2))), join(meet(x0, composition(x1, x2)), composition(meet(x0, x1), x2))). 60.45/7.99 Proof: 60.45/7.99 tuple(meet(x0, composition(x1, x2_2)), composition(meet(x0, x1), x2)) 60.45/7.99 = { by lemma 35 R->L } 60.45/7.99 tuple(meet(x0, composition(x1, x2_2)), composition(meet(x1, x0), x2)) 60.45/7.99 = { by lemma 56 } 60.45/7.99 tuple(meet(x0, composition(x1, x2_2)), meet(x0, composition(x1, x2))) 60.45/7.99 = { by lemma 41 R->L } 60.45/7.99 tuple(meet(x0, composition(x1, x2_2)), join(meet(x0, composition(x1, x2)), meet(x0, composition(x1, x2)))) 60.45/7.99 = { by lemma 56 R->L } 60.45/7.99 tuple(meet(x0, composition(x1, x2_2)), join(meet(x0, composition(x1, x2)), composition(meet(x1, x0), x2))) 60.45/7.99 = { by lemma 41 R->L } 60.45/7.99 tuple(join(meet(x0, composition(x1, x2_2)), meet(x0, composition(x1, x2_2))), join(meet(x0, composition(x1, x2)), composition(meet(x1, x0), x2))) 60.45/7.99 = { by lemma 56 R->L } 60.45/7.99 tuple(join(meet(x0, composition(x1, x2_2)), composition(meet(x1, x0), x2_2)), join(meet(x0, composition(x1, x2)), composition(meet(x1, x0), x2))) 60.45/7.99 = { by lemma 35 } 60.45/7.99 tuple(join(meet(x0, composition(x1, x2_2)), composition(meet(x0, x1), x2_2)), join(meet(x0, composition(x1, x2)), composition(meet(x1, x0), x2))) 60.45/7.99 = { by lemma 35 } 60.45/7.99 tuple(join(meet(x0, composition(x1, x2_2)), composition(meet(x0, x1), x2_2)), join(meet(x0, composition(x1, x2)), composition(meet(x0, x1), x2))) 60.45/7.99 = { by axiom 1 (maddux1_join_commutativity) R->L } 60.45/7.99 tuple(join(composition(meet(x0, x1), x2_2), meet(x0, composition(x1, x2_2))), join(meet(x0, composition(x1, x2)), composition(meet(x0, x1), x2))) 60.45/7.99 % SZS output end Proof 60.45/7.99 60.45/7.99 RESULT: Theorem (the conjecture is true). 60.45/8.00 EOF