0.04/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.04/0.12 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.33 % Computer : n023.cluster.edu 0.12/0.33 % Model : x86_64 x86_64 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.33 % Memory : 8042.1875MB 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.33 % CPULimit : 180 0.12/0.33 % DateTime : Thu Aug 29 13:33:37 EDT 2019 0.12/0.33 % CPUTime : 8.47/8.66 % SZS status Unsatisfiable 8.47/8.66 8.47/8.66 % SZS output start Proof 8.47/8.66 Take the following subset of the input axioms: 8.47/8.66 fof(composition_associativity_5, axiom, ![A, C, B]: composition(composition(A, B), C)=composition(A, composition(B, C))). 8.47/8.66 fof(composition_distributivity_7, axiom, ![A, C, B]: join(composition(A, C), composition(B, C))=composition(join(A, B), C)). 8.47/8.66 fof(composition_identity_6, axiom, ![A]: A=composition(A, one)). 8.47/8.66 fof(converse_additivity_9, axiom, ![A, B]: join(converse(A), converse(B))=converse(join(A, B))). 8.47/8.66 fof(converse_cancellativity_11, axiom, ![A, B]: complement(B)=join(composition(converse(A), complement(composition(A, B))), complement(B))). 8.47/8.66 fof(converse_idempotence_8, axiom, ![A]: A=converse(converse(A))). 8.47/8.66 fof(converse_multiplicativity_10, axiom, ![A, B]: converse(composition(A, B))=composition(converse(B), converse(A))). 8.47/8.66 fof(def_top_12, axiom, ![A]: top=join(A, complement(A))). 8.47/8.66 fof(def_zero_13, axiom, ![A]: meet(A, complement(A))=zero). 8.47/8.66 fof(goals_17, negated_conjecture, join(sk1, one)=one). 8.47/8.66 fof(goals_18, negated_conjecture, join(sk2, one)=one). 8.47/8.66 fof(goals_19, negated_conjecture, tuple(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3)))!=tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))))). 8.47/8.66 fof(maddux1_join_commutativity_1, axiom, ![A, B]: join(A, B)=join(B, A)). 8.47/8.66 fof(maddux2_join_associativity_2, axiom, ![A, C, B]: join(A, join(B, C))=join(join(A, B), C)). 8.47/8.66 fof(maddux3_a_kind_of_de_Morgan_3, axiom, ![A, B]: A=join(complement(join(complement(A), complement(B))), complement(join(complement(A), B)))). 8.47/8.66 fof(maddux4_definiton_of_meet_4, axiom, ![A, B]: complement(join(complement(A), complement(B)))=meet(A, B)). 8.47/8.66 8.47/8.66 Now clausify the problem and encode Horn clauses using encoding 3 of 8.47/8.66 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 8.47/8.66 We repeatedly replace C & s=t => u=v by the two clauses: 8.47/8.66 fresh(y, y, x1...xn) = u 8.47/8.66 C => fresh(s, t, x1...xn) = v 8.47/8.66 where fresh is a fresh function symbol and x1..xn are the free 8.47/8.66 variables of u and v. 8.47/8.66 A predicate p(X) is encoded as p(X)=true (this is sound, because the 8.47/8.66 input problem has no model of domain size 1). 8.47/8.66 8.47/8.66 The encoding turns the above axioms into the following unit equations and goals: 8.47/8.66 8.47/8.66 Axiom 1 (maddux1_join_commutativity_1): join(X, Y) = join(Y, X). 8.47/8.66 Axiom 2 (composition_identity_6): X = composition(X, one). 8.47/8.66 Axiom 3 (converse_additivity_9): join(converse(X), converse(Y)) = converse(join(X, Y)). 8.47/8.66 Axiom 4 (composition_associativity_5): composition(composition(X, Y), Z) = composition(X, composition(Y, Z)). 8.47/8.66 Axiom 5 (maddux2_join_associativity_2): join(X, join(Y, Z)) = join(join(X, Y), Z). 8.47/8.66 Axiom 6 (goals_17): join(sk1, one) = one. 8.47/8.66 Axiom 7 (goals_18): join(sk2, one) = one. 8.47/8.66 Axiom 8 (converse_idempotence_8): X = converse(converse(X)). 8.47/8.66 Axiom 9 (converse_cancellativity_11): complement(X) = join(composition(converse(Y), complement(composition(Y, X))), complement(X)). 8.47/8.66 Axiom 10 (def_top_12): top = join(X, complement(X)). 8.47/8.66 Axiom 11 (maddux4_definiton_of_meet_4): complement(join(complement(X), complement(Y))) = meet(X, Y). 8.47/8.66 Axiom 12 (converse_multiplicativity_10): converse(composition(X, Y)) = composition(converse(Y), converse(X)). 8.47/8.66 Axiom 13 (maddux3_a_kind_of_de_Morgan_3): X = join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y))). 8.47/8.66 Axiom 14 (def_zero_13): meet(X, complement(X)) = zero. 8.47/8.70 Axiom 15 (composition_distributivity_7): join(composition(X, Y), composition(Z, Y)) = composition(join(X, Z), Y). 8.47/8.70 8.47/8.70 Lemma 16: meet(X, Y) = meet(Y, X). 8.47/8.70 Proof: 8.47/8.70 meet(X, Y) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 complement(join(complement(X), complement(Y))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 complement(join(complement(Y), complement(X))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 meet(Y, X) 8.47/8.70 8.47/8.70 Lemma 17: complement(top) = zero. 8.47/8.70 Proof: 8.47/8.70 complement(top) 8.47/8.70 = { by axiom 10 (def_top_12) } 8.47/8.70 complement(join(complement(?), complement(complement(?)))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 meet(?, complement(?)) 8.47/8.70 = { by axiom 14 (def_zero_13) } 8.47/8.70 zero 8.47/8.70 8.47/8.70 Lemma 18: complement(join(zero, complement(X))) = meet(X, top). 8.47/8.70 Proof: 8.47/8.70 complement(join(zero, complement(X))) 8.47/8.70 = { by lemma 17 } 8.47/8.70 complement(join(complement(top), complement(X))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 meet(top, X) 8.47/8.70 = { by lemma 16 } 8.47/8.70 meet(X, top) 8.47/8.70 8.47/8.70 Lemma 19: composition(converse(one), X) = X. 8.47/8.70 Proof: 8.47/8.70 composition(converse(one), X) 8.47/8.70 = { by axiom 8 (converse_idempotence_8) } 8.47/8.70 composition(converse(one), converse(converse(X))) 8.47/8.70 = { by axiom 12 (converse_multiplicativity_10) } 8.47/8.70 converse(composition(converse(X), one)) 8.47/8.70 = { by axiom 2 (composition_identity_6) } 8.47/8.70 converse(converse(X)) 8.47/8.70 = { by axiom 8 (converse_idempotence_8) } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 20: composition(one, X) = X. 8.47/8.70 Proof: 8.47/8.70 composition(one, X) 8.47/8.70 = { by lemma 19 } 8.47/8.70 composition(converse(one), composition(one, X)) 8.47/8.70 = { by axiom 4 (composition_associativity_5) } 8.47/8.70 composition(composition(converse(one), one), X) 8.47/8.70 = { by axiom 2 (composition_identity_6) } 8.47/8.70 composition(converse(one), X) 8.47/8.70 = { by lemma 19 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 21: join(complement(X), complement(X)) = complement(X). 8.47/8.70 Proof: 8.47/8.70 join(complement(X), complement(X)) 8.47/8.70 = { by lemma 19 } 8.47/8.70 join(complement(X), composition(converse(one), complement(X))) 8.47/8.70 = { by lemma 20 } 8.47/8.70 join(complement(X), composition(converse(one), complement(composition(one, X)))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(composition(converse(one), complement(composition(one, X))), complement(X)) 8.47/8.70 = { by axiom 9 (converse_cancellativity_11) } 8.47/8.70 complement(X) 8.47/8.70 8.47/8.70 Lemma 22: join(X, join(Y, Z)) = join(Z, join(X, Y)). 8.47/8.70 Proof: 8.47/8.70 join(X, join(Y, Z)) 8.47/8.70 = { by axiom 5 (maddux2_join_associativity_2) } 8.47/8.70 join(join(X, Y), Z) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(Z, join(X, Y)) 8.47/8.70 8.47/8.70 Lemma 23: join(X, join(Y, complement(X))) = join(Y, top). 8.47/8.70 Proof: 8.47/8.70 join(X, join(Y, complement(X))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(X, join(complement(X), Y)) 8.47/8.70 = { by axiom 5 (maddux2_join_associativity_2) } 8.47/8.70 join(join(X, complement(X)), Y) 8.47/8.70 = { by axiom 10 (def_top_12) } 8.47/8.70 join(top, Y) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(Y, top) 8.47/8.70 8.47/8.70 Lemma 24: join(top, complement(X)) = top. 8.47/8.70 Proof: 8.47/8.70 join(top, complement(X)) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(complement(X), top) 8.47/8.70 = { by lemma 23 } 8.47/8.70 join(X, join(complement(X), complement(X))) 8.47/8.70 = { by lemma 21 } 8.47/8.70 join(X, complement(X)) 8.47/8.70 = { by axiom 10 (def_top_12) } 8.47/8.70 top 8.47/8.70 8.47/8.70 Lemma 25: join(X, top) = top. 8.47/8.70 Proof: 8.47/8.70 join(X, top) 8.47/8.70 = { by axiom 10 (def_top_12) } 8.47/8.70 join(X, join(complement(X), complement(complement(X)))) 8.47/8.70 = { by lemma 22 } 8.47/8.70 join(complement(X), join(complement(complement(X)), X)) 8.47/8.70 = { by lemma 22 } 8.47/8.70 join(complement(complement(X)), join(X, complement(X))) 8.47/8.70 = { by axiom 10 (def_top_12) } 8.47/8.70 join(complement(complement(X)), top) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(top, complement(complement(X))) 8.47/8.70 = { by lemma 24 } 8.47/8.70 top 8.47/8.70 8.47/8.70 Lemma 26: join(meet(X, Y), complement(join(complement(X), Y))) = X. 8.47/8.70 Proof: 8.47/8.70 join(meet(X, Y), complement(join(complement(X), Y))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 join(complement(join(complement(X), complement(Y))), complement(join(complement(X), Y))) 8.47/8.70 = { by axiom 13 (maddux3_a_kind_of_de_Morgan_3) } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 27: join(zero, meet(X, top)) = X. 8.47/8.70 Proof: 8.47/8.70 join(zero, meet(X, top)) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(meet(X, top), zero) 8.47/8.70 = { by lemma 17 } 8.47/8.70 join(meet(X, top), complement(top)) 8.47/8.70 = { by lemma 25 } 8.47/8.70 join(meet(X, top), complement(join(complement(X), top))) 8.47/8.70 = { by lemma 26 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 28: join(zero, meet(X, X)) = X. 8.47/8.70 Proof: 8.47/8.70 join(zero, meet(X, X)) 8.47/8.70 = { by axiom 14 (def_zero_13) } 8.47/8.70 join(meet(X, complement(X)), meet(X, X)) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 join(meet(X, complement(X)), complement(join(complement(X), complement(X)))) 8.47/8.70 = { by lemma 26 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 29: join(X, meet(Y, Y)) = join(Y, meet(X, X)). 8.47/8.70 Proof: 8.47/8.70 join(X, meet(Y, Y)) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(meet(Y, Y), X) 8.47/8.70 = { by lemma 28 } 8.47/8.70 join(meet(Y, Y), join(zero, meet(X, X))) 8.47/8.70 = { by axiom 5 (maddux2_join_associativity_2) } 8.47/8.70 join(join(meet(Y, Y), zero), meet(X, X)) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(join(zero, meet(Y, Y)), meet(X, X)) 8.47/8.70 = { by lemma 28 } 8.47/8.70 join(Y, meet(X, X)) 8.47/8.70 8.47/8.70 Lemma 30: join(X, zero) = X. 8.47/8.70 Proof: 8.47/8.70 join(X, zero) 8.47/8.70 = { by lemma 17 } 8.47/8.70 join(X, complement(top)) 8.47/8.70 = { by lemma 24 } 8.47/8.70 join(X, complement(join(top, complement(zero)))) 8.47/8.70 = { by lemma 26 } 8.47/8.70 join(X, complement(join(join(meet(top, complement(complement(top))), complement(join(complement(top), complement(complement(top))))), complement(zero)))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 join(X, complement(join(join(meet(top, complement(complement(top))), meet(top, complement(top))), complement(zero)))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(X, complement(join(join(meet(top, complement(top)), meet(top, complement(complement(top)))), complement(zero)))) 8.47/8.70 = { by axiom 14 (def_zero_13) } 8.47/8.70 join(X, complement(join(join(zero, meet(top, complement(complement(top)))), complement(zero)))) 8.47/8.70 = { by lemma 21 } 8.47/8.70 join(X, complement(join(join(zero, meet(top, complement(join(complement(top), complement(top))))), complement(zero)))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 join(X, complement(join(join(zero, meet(top, meet(top, top))), complement(zero)))) 8.47/8.70 = { by lemma 16 } 8.47/8.70 join(X, complement(join(join(zero, meet(meet(top, top), top)), complement(zero)))) 8.47/8.70 = { by lemma 27 } 8.47/8.70 join(X, complement(join(meet(top, top), complement(zero)))) 8.47/8.70 = { by lemma 18 } 8.47/8.70 join(X, complement(join(complement(join(zero, complement(top))), complement(zero)))) 8.47/8.70 = { by lemma 17 } 8.47/8.70 join(X, complement(join(complement(join(complement(top), complement(top))), complement(zero)))) 8.47/8.70 = { by lemma 21 } 8.47/8.70 join(X, complement(join(complement(complement(top)), complement(zero)))) 8.47/8.70 = { by lemma 17 } 8.47/8.70 join(X, complement(join(complement(zero), complement(zero)))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 join(X, meet(zero, zero)) 8.47/8.70 = { by lemma 29 } 8.47/8.70 join(zero, meet(X, X)) 8.47/8.70 = { by lemma 28 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 31: join(zero, X) = X. 8.47/8.70 Proof: 8.47/8.70 join(zero, X) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 join(X, zero) 8.47/8.70 = { by lemma 30 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 32: meet(X, top) = X. 8.47/8.70 Proof: 8.47/8.70 meet(X, top) 8.47/8.70 = { by lemma 31 } 8.47/8.70 join(zero, meet(X, top)) 8.47/8.70 = { by lemma 27 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 33: complement(complement(X)) = X. 8.47/8.70 Proof: 8.47/8.70 complement(complement(X)) 8.47/8.70 = { by lemma 31 } 8.47/8.70 complement(join(zero, complement(X))) 8.47/8.70 = { by lemma 18 } 8.47/8.70 meet(X, top) 8.47/8.70 = { by lemma 32 } 8.47/8.70 X 8.47/8.70 8.47/8.70 Lemma 34: complement(join(complement(X), meet(Y, Z))) = meet(X, join(complement(Y), complement(Z))). 8.47/8.70 Proof: 8.47/8.70 complement(join(complement(X), meet(Y, Z))) 8.47/8.70 = { by lemma 16 } 8.47/8.70 complement(join(complement(X), meet(Z, Y))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 complement(join(meet(Z, Y), complement(X))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 complement(join(complement(join(complement(Z), complement(Y))), complement(X))) 8.47/8.70 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.70 meet(join(complement(Z), complement(Y)), X) 8.47/8.70 = { by lemma 16 } 8.47/8.70 meet(X, join(complement(Z), complement(Y))) 8.47/8.70 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.70 meet(X, join(complement(Y), complement(Z))) 8.47/8.70 8.47/8.70 Lemma 35: join(complement(X), complement(Y)) = complement(meet(X, Y)). 8.47/8.70 Proof: 8.47/8.70 join(complement(X), complement(Y)) 8.47/8.70 = { by lemma 32 } 8.47/8.70 meet(join(complement(X), complement(Y)), top) 8.47/8.70 = { by lemma 16 } 8.47/8.70 meet(top, join(complement(X), complement(Y))) 8.47/8.70 = { by lemma 34 } 8.47/8.70 complement(join(complement(top), meet(X, Y))) 8.47/8.70 = { by lemma 17 } 8.47/8.70 complement(join(zero, meet(X, Y))) 8.47/8.70 = { by lemma 31 } 8.47/8.71 complement(meet(X, Y)) 8.47/8.71 8.47/8.71 Lemma 36: complement(meet(X, complement(Y))) = join(Y, complement(X)). 8.47/8.71 Proof: 8.47/8.71 complement(meet(X, complement(Y))) 8.47/8.71 = { by lemma 16 } 8.47/8.71 complement(meet(complement(Y), X)) 8.47/8.71 = { by lemma 31 } 8.47/8.71 complement(meet(join(zero, complement(Y)), X)) 8.47/8.71 = { by lemma 35 } 8.47/8.71 join(complement(join(zero, complement(Y))), complement(X)) 8.47/8.71 = { by lemma 18 } 8.47/8.71 join(meet(Y, top), complement(X)) 8.47/8.71 = { by lemma 32 } 8.47/8.71 join(Y, complement(X)) 8.47/8.71 8.47/8.71 Lemma 37: meet(X, meet(Y, Z)) = meet(Z, meet(X, Y)). 8.47/8.71 Proof: 8.47/8.71 meet(X, meet(Y, Z)) 8.47/8.71 = { by lemma 32 } 8.47/8.71 meet(meet(X, meet(Y, Z)), top) 8.47/8.71 = { by lemma 18 } 8.47/8.71 complement(join(zero, complement(meet(X, meet(Y, Z))))) 8.47/8.71 = { by lemma 35 } 8.47/8.71 complement(join(zero, join(complement(X), complement(meet(Y, Z))))) 8.47/8.71 = { by lemma 35 } 8.47/8.71 complement(join(zero, join(complement(X), join(complement(Y), complement(Z))))) 8.47/8.71 = { by axiom 5 (maddux2_join_associativity_2) } 8.47/8.71 complement(join(zero, join(join(complement(X), complement(Y)), complement(Z)))) 8.47/8.71 = { by lemma 36 } 8.47/8.71 complement(join(zero, complement(meet(Z, complement(join(complement(X), complement(Y))))))) 8.47/8.71 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.47/8.71 complement(join(zero, complement(meet(Z, meet(X, Y))))) 8.47/8.71 = { by lemma 18 } 8.47/8.71 meet(meet(Z, meet(X, Y)), top) 8.47/8.71 = { by lemma 32 } 8.47/8.71 meet(Z, meet(X, Y)) 8.47/8.71 8.47/8.71 Lemma 38: join(meet(X, Y), complement(join(Y, complement(X)))) = X. 8.47/8.71 Proof: 8.47/8.71 join(meet(X, Y), complement(join(Y, complement(X)))) 8.47/8.71 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.71 join(meet(X, Y), complement(join(complement(X), Y))) 8.47/8.71 = { by lemma 26 } 8.47/8.71 X 8.47/8.71 8.47/8.71 Lemma 39: meet(sk2, meet(one, X)) = meet(X, sk2). 8.47/8.71 Proof: 8.47/8.71 meet(sk2, meet(one, X)) 8.47/8.71 = { by lemma 37 } 8.47/8.71 meet(one, meet(X, sk2)) 8.47/8.71 = { by lemma 37 } 8.47/8.71 meet(X, meet(sk2, one)) 8.47/8.71 = { by lemma 30 } 8.47/8.71 meet(X, join(meet(sk2, one), zero)) 8.47/8.71 = { by lemma 17 } 8.47/8.71 meet(X, join(meet(sk2, one), complement(top))) 8.47/8.71 = { by lemma 25 } 8.47/8.71 meet(X, join(meet(sk2, one), complement(join(one, top)))) 8.47/8.71 = { by lemma 23 } 8.47/8.71 meet(X, join(meet(sk2, one), complement(join(sk2, join(one, complement(sk2)))))) 8.47/8.71 = { by axiom 5 (maddux2_join_associativity_2) } 8.47/8.71 meet(X, join(meet(sk2, one), complement(join(join(sk2, one), complement(sk2))))) 8.47/8.71 = { by axiom 7 (goals_18) } 8.47/8.71 meet(X, join(meet(sk2, one), complement(join(one, complement(sk2))))) 8.47/8.71 = { by lemma 38 } 8.47/8.71 meet(X, sk2) 8.47/8.71 8.47/8.71 Lemma 40: meet(X, X) = X. 8.47/8.71 Proof: 8.47/8.71 meet(X, X) 8.47/8.71 = { by lemma 31 } 8.47/8.71 join(zero, meet(X, X)) 8.47/8.71 = { by lemma 28 } 8.47/8.71 X 8.47/8.71 8.47/8.71 Lemma 41: complement(join(Y, complement(X))) = meet(X, complement(Y)). 8.47/8.71 Proof: 8.47/8.71 complement(join(Y, complement(X))) 8.47/8.71 = { by lemma 40 } 8.47/8.71 complement(join(Y, meet(complement(X), complement(X)))) 8.47/8.71 = { by lemma 29 } 8.47/8.71 complement(join(complement(X), meet(Y, Y))) 8.47/8.71 = { by lemma 34 } 8.47/8.71 meet(X, join(complement(Y), complement(Y))) 8.47/8.71 = { by lemma 35 } 8.47/8.71 meet(X, complement(meet(Y, Y))) 8.47/8.71 = { by lemma 40 } 8.47/8.71 meet(X, complement(Y)) 8.47/8.71 8.47/8.71 Lemma 42: join(meet(Y, complement(X)), complement(join(X, Y))) = complement(X). 8.47/8.71 Proof: 8.47/8.71 join(meet(Y, complement(X)), complement(join(X, Y))) 8.47/8.71 = { by lemma 16 } 8.47/8.71 join(meet(complement(X), Y), complement(join(X, Y))) 8.47/8.71 = { by lemma 31 } 8.47/8.71 join(meet(join(zero, complement(X)), Y), complement(join(X, Y))) 8.47/8.71 = { by axiom 1 (maddux1_join_commutativity_1) } 8.47/8.71 join(meet(join(zero, complement(X)), Y), complement(join(Y, X))) 8.47/8.71 = { by lemma 32 } 8.47/8.71 join(meet(join(zero, complement(X)), Y), complement(join(Y, meet(X, top)))) 8.47/8.71 = { by lemma 18 } 8.47/8.71 join(meet(join(zero, complement(X)), Y), complement(join(Y, complement(join(zero, complement(X)))))) 8.47/8.71 = { by lemma 38 } 8.47/8.71 join(zero, complement(X)) 8.47/8.71 = { by lemma 31 } 8.56/8.74 complement(X) 8.56/8.74 8.56/8.74 Lemma 43: meet(X, join(Y, complement(X))) = meet(X, Y). 8.56/8.74 Proof: 8.56/8.74 meet(X, join(Y, complement(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 meet(X, join(complement(X), Y)) 8.56/8.74 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.56/8.74 complement(join(complement(X), complement(join(complement(X), Y)))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 complement(join(complement(join(complement(X), Y)), complement(X))) 8.56/8.74 = { by lemma 33 } 8.56/8.74 complement(join(complement(join(complement(X), complement(complement(Y)))), complement(X))) 8.56/8.74 = { by axiom 8 (converse_idempotence_8) } 8.56/8.74 complement(join(complement(join(complement(X), complement(converse(converse(complement(Y)))))), complement(X))) 8.56/8.74 = { by lemma 26 } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(complement(converse(converse(complement(Y)))), converse(join(converse(complement(Y)), converse(complement(X)))))))))), complement(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(complement(converse(converse(complement(Y)))), converse(join(converse(complement(X)), converse(complement(Y)))))))))), complement(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(converse(join(converse(complement(X)), converse(complement(Y)))), complement(converse(converse(complement(Y)))))))))), complement(X))) 8.56/8.74 = { by axiom 3 (converse_additivity_9) } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(join(converse(converse(complement(X))), converse(converse(complement(Y)))), complement(converse(converse(complement(Y)))))))))), complement(X))) 8.56/8.74 = { by axiom 5 (maddux2_join_associativity_2) } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(converse(converse(complement(X))), join(converse(converse(complement(Y))), complement(converse(converse(complement(Y))))))))))), complement(X))) 8.56/8.74 = { by axiom 10 (def_top_12) } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(join(converse(converse(complement(X))), top)))))), complement(X))) 8.56/8.74 = { by lemma 25 } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), complement(top))))), complement(X))) 8.56/8.74 = { by lemma 17 } 8.56/8.74 complement(join(complement(join(complement(X), complement(join(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X))))), zero)))), complement(X))) 8.56/8.74 = { by lemma 30 } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(converse(converse(complement(Y))), converse(join(converse(complement(Y)), converse(complement(X)))))))), complement(X))) 8.56/8.74 = { by axiom 8 (converse_idempotence_8) } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(complement(Y), converse(join(converse(complement(Y)), converse(complement(X)))))))), complement(X))) 8.56/8.74 = { by axiom 3 (converse_additivity_9) } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(complement(Y), converse(converse(join(complement(Y), complement(X)))))))), complement(X))) 8.56/8.74 = { by axiom 8 (converse_idempotence_8) } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(complement(Y), join(complement(Y), complement(X)))))), complement(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(complement(Y), join(complement(X), complement(Y)))))), complement(X))) 8.56/8.74 = { by lemma 16 } 8.56/8.74 complement(join(complement(join(complement(X), complement(meet(join(complement(X), complement(Y)), complement(Y))))), complement(X))) 8.56/8.74 = { by lemma 36 } 8.56/8.74 complement(join(complement(join(complement(X), join(Y, complement(join(complement(X), complement(Y)))))), complement(X))) 8.56/8.74 = { by lemma 41 } 8.56/8.74 complement(join(complement(join(complement(X), join(Y, meet(Y, complement(complement(X)))))), complement(X))) 8.56/8.74 = { by axiom 5 (maddux2_join_associativity_2) } 8.56/8.74 complement(join(complement(join(join(complement(X), Y), meet(Y, complement(complement(X))))), complement(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 complement(join(complement(join(meet(Y, complement(complement(X))), join(complement(X), Y))), complement(X))) 8.56/8.74 = { by lemma 32 } 8.56/8.74 complement(join(complement(join(meet(Y, complement(complement(X))), meet(join(complement(X), Y), top))), complement(X))) 8.56/8.74 = { by lemma 18 } 8.56/8.74 complement(join(complement(join(meet(Y, complement(complement(X))), complement(join(zero, complement(join(complement(X), Y)))))), complement(X))) 8.56/8.74 = { by lemma 41 } 8.56/8.74 complement(join(meet(join(zero, complement(join(complement(X), Y))), complement(meet(Y, complement(complement(X))))), complement(X))) 8.56/8.74 = { by lemma 31 } 8.56/8.74 complement(join(meet(complement(join(complement(X), Y)), complement(meet(Y, complement(complement(X))))), complement(X))) 8.56/8.74 = { by lemma 33 } 8.56/8.74 complement(join(meet(complement(join(complement(X), Y)), complement(meet(Y, complement(complement(X))))), complement(complement(complement(X))))) 8.56/8.74 = { by lemma 42 } 8.56/8.74 complement(join(meet(complement(join(complement(X), Y)), complement(meet(Y, complement(complement(X))))), complement(join(meet(Y, complement(complement(X))), complement(join(complement(X), Y)))))) 8.56/8.74 = { by lemma 42 } 8.56/8.74 complement(complement(meet(Y, complement(complement(X))))) 8.56/8.74 = { by lemma 36 } 8.56/8.74 complement(join(complement(X), complement(Y))) 8.56/8.74 = { by axiom 11 (maddux4_definiton_of_meet_4) } 8.56/8.74 meet(X, Y) 8.56/8.74 8.56/8.74 Lemma 44: meet(sk2, join(complement(one), X)) = meet(X, sk2). 8.56/8.74 Proof: 8.56/8.74 meet(sk2, join(complement(one), X)) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 meet(sk2, join(X, complement(one))) 8.56/8.74 = { by lemma 16 } 8.56/8.74 meet(join(X, complement(one)), sk2) 8.56/8.74 = { by lemma 39 } 8.56/8.74 meet(sk2, meet(one, join(X, complement(one)))) 8.56/8.74 = { by lemma 43 } 8.56/8.74 meet(sk2, meet(one, X)) 8.56/8.74 = { by lemma 39 } 8.56/8.74 meet(X, sk2) 8.56/8.74 8.56/8.74 Lemma 45: join(composition(X, Y), composition(X, Z)) = composition(X, join(Y, Z)). 8.56/8.74 Proof: 8.56/8.74 join(composition(X, Y), composition(X, Z)) 8.56/8.74 = { by axiom 8 (converse_idempotence_8) } 8.56/8.74 converse(converse(join(composition(X, Y), composition(X, Z)))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 converse(converse(join(composition(X, Z), composition(X, Y)))) 8.56/8.74 = { by axiom 3 (converse_additivity_9) } 8.56/8.74 converse(join(converse(composition(X, Z)), converse(composition(X, Y)))) 8.56/8.74 = { by axiom 12 (converse_multiplicativity_10) } 8.56/8.74 converse(join(composition(converse(Z), converse(X)), converse(composition(X, Y)))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 converse(join(converse(composition(X, Y)), composition(converse(Z), converse(X)))) 8.56/8.74 = { by axiom 12 (converse_multiplicativity_10) } 8.56/8.74 converse(join(composition(converse(Y), converse(X)), composition(converse(Z), converse(X)))) 8.56/8.74 = { by axiom 15 (composition_distributivity_7) } 8.56/8.74 converse(composition(join(converse(Y), converse(Z)), converse(X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 converse(composition(join(converse(Z), converse(Y)), converse(X))) 8.56/8.74 = { by axiom 3 (converse_additivity_9) } 8.56/8.74 converse(composition(converse(join(Z, Y)), converse(X))) 8.56/8.74 = { by axiom 12 (converse_multiplicativity_10) } 8.56/8.74 converse(converse(composition(X, join(Z, Y)))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 converse(converse(composition(X, join(Y, Z)))) 8.56/8.74 = { by axiom 8 (converse_idempotence_8) } 8.56/8.74 composition(X, join(Y, Z)) 8.56/8.74 8.56/8.74 Lemma 46: join(composition(join(Y, one), X), Z) = join(X, join(Z, composition(Y, X))). 8.56/8.74 Proof: 8.56/8.74 join(composition(join(Y, one), X), Z) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(composition(join(one, Y), X), Z) 8.56/8.74 = { by axiom 15 (composition_distributivity_7) } 8.56/8.74 join(join(composition(one, X), composition(Y, X)), Z) 8.56/8.74 = { by lemma 20 } 8.56/8.74 join(join(X, composition(Y, X)), Z) 8.56/8.74 = { by axiom 5 (maddux2_join_associativity_2) } 8.56/8.74 join(X, join(composition(Y, X), Z)) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(X, join(Z, composition(Y, X))) 8.56/8.74 8.56/8.74 Lemma 47: join(X, composition(sk1, complement(X))) = join(X, composition(sk1, top)). 8.56/8.74 Proof: 8.56/8.74 join(X, composition(sk1, complement(X))) 8.56/8.74 = { by lemma 20 } 8.56/8.74 join(composition(one, X), composition(sk1, complement(X))) 8.56/8.74 = { by axiom 6 (goals_17) } 8.56/8.74 join(composition(join(sk1, one), X), composition(sk1, complement(X))) 8.56/8.74 = { by lemma 46 } 8.56/8.74 join(X, join(composition(sk1, complement(X)), composition(sk1, X))) 8.56/8.74 = { by lemma 45 } 8.56/8.74 join(X, composition(sk1, join(complement(X), X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(X, composition(sk1, join(X, complement(X)))) 8.56/8.74 = { by axiom 10 (def_top_12) } 8.56/8.74 join(X, composition(sk1, top)) 8.56/8.74 8.56/8.74 Lemma 48: meet(X, join(complement(X), Y)) = meet(X, Y). 8.56/8.74 Proof: 8.56/8.74 meet(X, join(complement(X), Y)) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 meet(X, join(Y, complement(X))) 8.56/8.74 = { by lemma 43 } 8.56/8.74 meet(X, Y) 8.56/8.74 8.56/8.74 Lemma 49: join(complement(composition(X, Y)), composition(join(X, Z), Y)) = top. 8.56/8.74 Proof: 8.56/8.74 join(complement(composition(X, Y)), composition(join(X, Z), Y)) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(complement(composition(X, Y)), composition(join(Z, X), Y)) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(composition(join(Z, X), Y), complement(composition(X, Y))) 8.56/8.74 = { by axiom 15 (composition_distributivity_7) } 8.56/8.74 join(join(composition(Z, Y), composition(X, Y)), complement(composition(X, Y))) 8.56/8.74 = { by axiom 5 (maddux2_join_associativity_2) } 8.56/8.74 join(composition(Z, Y), join(composition(X, Y), complement(composition(X, Y)))) 8.56/8.74 = { by axiom 10 (def_top_12) } 8.56/8.74 join(composition(Z, Y), top) 8.56/8.74 = { by lemma 25 } 8.56/8.74 top 8.56/8.74 8.56/8.74 Lemma 50: meet(X, composition(sk1, X)) = composition(sk1, X). 8.56/8.74 Proof: 8.56/8.74 meet(X, composition(sk1, X)) 8.56/8.74 = { by lemma 16 } 8.56/8.74 meet(composition(sk1, X), X) 8.56/8.74 = { by lemma 30 } 8.56/8.74 join(meet(composition(sk1, X), X), zero) 8.56/8.74 = { by lemma 17 } 8.56/8.74 join(meet(composition(sk1, X), X), complement(top)) 8.56/8.74 = { by lemma 49 } 8.56/8.74 join(meet(composition(sk1, X), X), complement(join(complement(composition(sk1, X)), composition(join(sk1, one), X)))) 8.56/8.74 = { by axiom 6 (goals_17) } 8.56/8.74 join(meet(composition(sk1, X), X), complement(join(complement(composition(sk1, X)), composition(one, X)))) 8.56/8.74 = { by lemma 20 } 8.56/8.74 join(meet(composition(sk1, X), X), complement(join(complement(composition(sk1, X)), X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(meet(composition(sk1, X), X), complement(join(X, complement(composition(sk1, X))))) 8.56/8.74 = { by lemma 38 } 8.56/8.74 composition(sk1, X) 8.56/8.74 8.56/8.74 Lemma 51: meet(sk1, sk2) = composition(sk1, sk2). 8.56/8.74 Proof: 8.56/8.74 meet(sk1, sk2) 8.56/8.74 = { by axiom 2 (composition_identity_6) } 8.56/8.74 meet(composition(sk1, one), sk2) 8.56/8.74 = { by lemma 33 } 8.56/8.74 meet(composition(sk1, complement(complement(one))), sk2) 8.56/8.74 = { by lemma 44 } 8.56/8.74 meet(sk2, join(complement(one), composition(sk1, complement(complement(one))))) 8.56/8.74 = { by lemma 47 } 8.56/8.74 meet(sk2, join(complement(one), composition(sk1, top))) 8.56/8.74 = { by lemma 44 } 8.56/8.74 meet(composition(sk1, top), sk2) 8.56/8.74 = { by lemma 16 } 8.56/8.74 meet(sk2, composition(sk1, top)) 8.56/8.74 = { by lemma 48 } 8.56/8.74 meet(sk2, join(complement(sk2), composition(sk1, top))) 8.56/8.74 = { by lemma 47 } 8.56/8.74 meet(sk2, join(complement(sk2), composition(sk1, complement(complement(sk2))))) 8.56/8.74 = { by lemma 48 } 8.56/8.74 meet(sk2, composition(sk1, complement(complement(sk2)))) 8.56/8.74 = { by lemma 33 } 8.56/8.74 meet(sk2, composition(sk1, sk2)) 8.56/8.74 = { by lemma 50 } 8.56/8.74 composition(sk1, sk2) 8.56/8.74 8.56/8.74 Lemma 52: join(X, X) = X. 8.56/8.74 Proof: 8.56/8.74 join(X, X) 8.56/8.74 = { by lemma 33 } 8.56/8.74 join(complement(complement(X)), X) 8.56/8.74 = { by lemma 33 } 8.56/8.74 join(complement(complement(X)), complement(complement(X))) 8.56/8.74 = { by lemma 21 } 8.56/8.74 complement(complement(X)) 8.56/8.74 = { by lemma 33 } 8.56/8.74 X 8.56/8.74 8.56/8.74 Lemma 53: join(X, composition(sk2, complement(X))) = join(X, composition(sk2, top)). 8.56/8.74 Proof: 8.56/8.74 join(X, composition(sk2, complement(X))) 8.56/8.74 = { by lemma 20 } 8.56/8.74 join(composition(one, X), composition(sk2, complement(X))) 8.56/8.74 = { by axiom 7 (goals_18) } 8.56/8.74 join(composition(join(sk2, one), X), composition(sk2, complement(X))) 8.56/8.74 = { by lemma 46 } 8.56/8.74 join(X, join(composition(sk2, complement(X)), composition(sk2, X))) 8.56/8.74 = { by lemma 45 } 8.56/8.74 join(X, composition(sk2, join(complement(X), X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(X, composition(sk2, join(X, complement(X)))) 8.56/8.74 = { by axiom 10 (def_top_12) } 8.56/8.74 join(X, composition(sk2, top)) 8.56/8.74 8.56/8.74 Lemma 54: meet(X, composition(sk2, top)) = composition(sk2, X). 8.56/8.74 Proof: 8.56/8.74 meet(X, composition(sk2, top)) 8.56/8.74 = { by lemma 48 } 8.56/8.74 meet(X, join(complement(X), composition(sk2, top))) 8.56/8.74 = { by lemma 53 } 8.56/8.74 meet(X, join(complement(X), composition(sk2, complement(complement(X))))) 8.56/8.74 = { by lemma 48 } 8.56/8.74 meet(X, composition(sk2, complement(complement(X)))) 8.56/8.74 = { by lemma 33 } 8.56/8.74 meet(X, composition(sk2, X)) 8.56/8.74 = { by lemma 16 } 8.56/8.74 meet(composition(sk2, X), X) 8.56/8.74 = { by lemma 30 } 8.56/8.74 join(meet(composition(sk2, X), X), zero) 8.56/8.74 = { by lemma 17 } 8.56/8.74 join(meet(composition(sk2, X), X), complement(top)) 8.56/8.74 = { by lemma 49 } 8.56/8.74 join(meet(composition(sk2, X), X), complement(join(complement(composition(sk2, X)), composition(join(sk2, one), X)))) 8.56/8.74 = { by axiom 7 (goals_18) } 8.56/8.74 join(meet(composition(sk2, X), X), complement(join(complement(composition(sk2, X)), composition(one, X)))) 8.56/8.74 = { by lemma 20 } 8.56/8.74 join(meet(composition(sk2, X), X), complement(join(complement(composition(sk2, X)), X))) 8.56/8.74 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.74 join(meet(composition(sk2, X), X), complement(join(X, complement(composition(sk2, X))))) 8.56/8.74 = { by lemma 38 } 8.56/8.75 composition(sk2, X) 8.56/8.75 8.56/8.75 Lemma 55: meet(sk1, meet(one, X)) = meet(X, sk1). 8.56/8.75 Proof: 8.56/8.75 meet(sk1, meet(one, X)) 8.56/8.75 = { by lemma 37 } 8.56/8.75 meet(one, meet(X, sk1)) 8.56/8.75 = { by lemma 37 } 8.56/8.75 meet(X, meet(sk1, one)) 8.56/8.75 = { by lemma 30 } 8.56/8.75 meet(X, join(meet(sk1, one), zero)) 8.56/8.75 = { by lemma 17 } 8.56/8.75 meet(X, join(meet(sk1, one), complement(top))) 8.56/8.75 = { by lemma 25 } 8.56/8.75 meet(X, join(meet(sk1, one), complement(join(one, top)))) 8.56/8.75 = { by lemma 23 } 8.56/8.75 meet(X, join(meet(sk1, one), complement(join(sk1, join(one, complement(sk1)))))) 8.56/8.75 = { by axiom 5 (maddux2_join_associativity_2) } 8.56/8.75 meet(X, join(meet(sk1, one), complement(join(join(sk1, one), complement(sk1))))) 8.56/8.75 = { by axiom 6 (goals_17) } 8.56/8.75 meet(X, join(meet(sk1, one), complement(join(one, complement(sk1))))) 8.56/8.75 = { by lemma 38 } 8.56/8.75 meet(X, sk1) 8.56/8.75 8.56/8.75 Lemma 56: meet(sk1, join(complement(one), X)) = meet(X, sk1). 8.56/8.75 Proof: 8.56/8.75 meet(sk1, join(complement(one), X)) 8.56/8.75 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.75 meet(sk1, join(X, complement(one))) 8.56/8.75 = { by lemma 16 } 8.56/8.75 meet(join(X, complement(one)), sk1) 8.56/8.75 = { by lemma 55 } 8.56/8.75 meet(sk1, meet(one, join(X, complement(one)))) 8.56/8.75 = { by lemma 43 } 8.56/8.75 meet(sk1, meet(one, X)) 8.56/8.75 = { by lemma 55 } 8.56/8.75 meet(X, sk1) 8.56/8.75 8.56/8.75 Lemma 57: composition(sk2, sk1) = composition(sk1, sk2). 8.56/8.75 Proof: 8.56/8.75 composition(sk2, sk1) 8.56/8.75 = { by lemma 54 } 8.56/8.75 meet(sk1, composition(sk2, top)) 8.56/8.75 = { by lemma 16 } 8.56/8.75 meet(composition(sk2, top), sk1) 8.56/8.75 = { by lemma 56 } 8.56/8.75 meet(sk1, join(complement(one), composition(sk2, top))) 8.56/8.75 = { by lemma 53 } 8.56/8.75 meet(sk1, join(complement(one), composition(sk2, complement(complement(one))))) 8.56/8.75 = { by lemma 56 } 8.56/8.75 meet(composition(sk2, complement(complement(one))), sk1) 8.56/8.75 = { by lemma 33 } 8.56/8.75 meet(composition(sk2, one), sk1) 8.56/8.75 = { by axiom 2 (composition_identity_6) } 8.56/8.75 meet(sk2, sk1) 8.56/8.75 = { by lemma 16 } 8.56/8.75 meet(sk1, sk2) 8.56/8.75 = { by lemma 51 } 8.56/8.75 composition(sk1, sk2) 8.56/8.75 8.56/8.75 Lemma 58: join(composition(X, W), composition(Y, composition(Z, W))) = composition(join(X, composition(Y, Z)), W). 8.56/8.75 Proof: 8.56/8.75 join(composition(X, W), composition(Y, composition(Z, W))) 8.56/8.75 = { by axiom 4 (composition_associativity_5) } 8.56/8.75 join(composition(X, W), composition(composition(Y, Z), W)) 8.56/8.75 = { by axiom 15 (composition_distributivity_7) } 8.56/8.75 composition(join(X, composition(Y, Z)), W) 8.56/8.75 8.56/8.75 Lemma 59: meet(X, composition(sk2, Y)) = composition(sk2, meet(X, Y)). 8.56/8.75 Proof: 8.56/8.75 meet(X, composition(sk2, Y)) 8.56/8.75 = { by lemma 54 } 8.56/8.75 meet(X, meet(Y, composition(sk2, top))) 8.56/8.75 = { by lemma 16 } 8.56/8.75 meet(X, meet(composition(sk2, top), Y)) 8.56/8.75 = { by lemma 37 } 8.56/8.75 meet(composition(sk2, top), meet(Y, X)) 8.56/8.75 = { by lemma 16 } 8.56/8.75 meet(meet(Y, X), composition(sk2, top)) 8.56/8.75 = { by lemma 54 } 8.56/8.75 composition(sk2, meet(Y, X)) 8.56/8.75 = { by lemma 16 } 8.56/8.75 composition(sk2, meet(X, Y)) 8.56/8.75 8.56/8.75 Goal 1 (goals_19): tuple(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))) = tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3)))). 8.56/8.75 Proof: 8.56/8.75 tuple(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 51 } 8.56/8.75 tuple(composition(composition(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 52 } 8.56/8.75 tuple(composition(join(composition(sk1, sk2), composition(sk1, sk2)), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 57 } 8.56/8.75 tuple(composition(join(composition(sk1, sk2), composition(sk2, sk1)), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 58 } 8.56/8.75 tuple(join(composition(composition(sk1, sk2), sk3), composition(sk2, composition(sk1, sk3))), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 51 } 8.56/8.75 tuple(join(composition(meet(sk1, sk2), sk3), composition(sk2, composition(sk1, sk3))), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 50 } 8.56/8.75 tuple(join(composition(meet(sk1, sk2), sk3), composition(sk2, meet(sk3, composition(sk1, sk3)))), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 16 } 8.56/8.75 tuple(join(composition(meet(sk1, sk2), sk3), composition(sk2, meet(composition(sk1, sk3), sk3))), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 59 } 8.56/8.75 tuple(join(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3))), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by axiom 1 (maddux1_join_commutativity_1) } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), meet(composition(sk1, sk3), composition(sk2, sk3))) 8.56/8.75 = { by lemma 59 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(sk2, meet(composition(sk1, sk3), sk3))) 8.56/8.75 = { by lemma 16 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(sk2, meet(sk3, composition(sk1, sk3)))) 8.56/8.75 = { by lemma 50 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(sk2, composition(sk1, sk3))) 8.56/8.75 = { by axiom 4 (composition_associativity_5) } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(composition(sk2, sk1), sk3)) 8.56/8.75 = { by lemma 57 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(composition(sk1, sk2), sk3)) 8.56/8.75 = { by lemma 52 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(join(composition(sk1, sk2), composition(sk1, sk2)), sk3)) 8.56/8.75 = { by lemma 57 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), composition(join(composition(sk1, sk2), composition(sk2, sk1)), sk3)) 8.56/8.75 = { by lemma 58 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(composition(sk1, sk2), sk3), composition(sk2, composition(sk1, sk3)))) 8.56/8.75 = { by lemma 51 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), composition(sk2, composition(sk1, sk3)))) 8.56/8.75 = { by lemma 50 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), composition(sk2, meet(sk3, composition(sk1, sk3))))) 8.56/8.75 = { by lemma 16 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), composition(sk2, meet(composition(sk1, sk3), sk3)))) 8.56/8.75 = { by lemma 59 } 8.56/8.75 tuple(join(meet(composition(sk1, sk3), composition(sk2, sk3)), composition(meet(sk1, sk2), sk3)), join(composition(meet(sk1, sk2), sk3), meet(composition(sk1, sk3), composition(sk2, sk3)))) 8.56/8.75 % SZS output end Proof 8.56/8.75 8.56/8.75 RESULT: Unsatisfiable (the axioms are contradictory). 8.56/8.76 EOF