%------------------------------------------------------------------------------ % File : Duper---1.0 % Problem : PUZ081^1 : TPTP v9.2.0. Released v3.6.0. % Transfm : none % Format : tptp:raw % Command : duper %s % Computer : n004.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 : Fri Oct 3 07:58:19 PM UTC 2025 % Result : Theorem 3.83s 4.01s % Output : Proof 3.88s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.07/0.12 % Problem : PUZ081^1 : TPTP v9.2.0. Released v3.6.0. % 0.07/0.13 % Command : duper %s % 0.13/0.34 % Computer : n004.cluster.edu % 0.13/0.34 % Model : x86_64 x86_64 % 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.34 % Memory : 8042.1875MB % 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.34 % CPULimit : 300 % 0.13/0.34 % WCLimit : 300 % 0.13/0.34 % DateTime : Thu Oct 2 20:58:53 EDT 2025 % 0.13/0.34 % CPUTime : % 3.83/4.01 SZS status Theorem for theBenchmark.p % 3.83/4.01 SZS output start Proof for theBenchmark.p % 3.83/4.01 Clause #0 (by assumption #[]): Eq (∀ (X : Iota), is_a X islander → Or (is_a X knight) (is_a X knave)) True % 3.83/4.01 Clause #1 (by assumption #[]): Eq (∀ (X : Iota), is_a X knight → ∀ (A : Prop), says X A → A) True % 3.83/4.01 Clause #2 (by assumption #[]): Eq (∀ (X : Iota), is_a X knave → ∀ (A : Prop), says X A → Not A) True % 3.83/4.01 Clause #3 (by assumption #[]): Eq (And (is_a zoey islander) (is_a mel islander)) True % 3.83/4.01 Clause #4 (by assumption #[]): Eq (says zoey (is_a mel knave)) True % 3.83/4.01 Clause #5 (by assumption #[]): Eq (says mel (Not (Or (is_a zoey knave) (is_a mel knave)))) True % 3.83/4.01 Clause #6 (by assumption #[]): Eq % 3.83/4.01 (Not % 3.83/4.01 (Exists fun Y => % 3.83/4.01 Exists fun Z => % 3.83/4.01 And (And (And (Not (Iff (Eq Y knight) (Eq Y knave))) (Not (Iff (Eq Z knight) (Eq Z knave)))) (is_a mel Y)) % 3.83/4.01 (is_a zoey Z))) % 3.83/4.01 True % 3.83/4.01 Clause #7 (by identity loobHoist #[4]): Or (Eq (says zoey True) True) (Eq (is_a mel knave) False) % 3.83/4.01 Clause #8 (by identity boolHoist #[4]): Or (Eq (says zoey False) True) (Eq (is_a mel knave) True) % 3.83/4.01 Clause #9 (by clausification #[1]): ∀ (a : Iota), Eq (is_a a knight → ∀ (A : Prop), says a A → A) True % 3.83/4.01 Clause #10 (by clausification #[9]): ∀ (a : Iota), Or (Eq (is_a a knight) False) (Eq (∀ (A : Prop), says a A → A) True) % 3.83/4.01 Clause #11 (by clausification #[10]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knight) False) (Eq (says a a_1 → a_1) True) % 3.83/4.01 Clause #12 (by clausification #[11]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knight) False) (Or (Eq (says a a_1) False) (Eq a_1 True)) % 3.83/4.01 Clause #14 (by identity boolHoist #[12]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knight) False) (Or (Eq a_1 True) (Or (Eq (says a False) False) (Eq a_1 True))) % 3.83/4.01 Clause #15 (by clausification #[2]): ∀ (a : Iota), Eq (is_a a knave → ∀ (A : Prop), says a A → Not A) True % 3.83/4.01 Clause #16 (by clausification #[15]): ∀ (a : Iota), Or (Eq (is_a a knave) False) (Eq (∀ (A : Prop), says a A → Not A) True) % 3.83/4.01 Clause #17 (by clausification #[16]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knave) False) (Eq (says a a_1 → Not a_1) True) % 3.83/4.01 Clause #18 (by clausification #[17]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knave) False) (Or (Eq (says a a_1) False) (Eq (Not a_1) True)) % 3.83/4.01 Clause #19 (by clausification #[18]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knave) False) (Or (Eq (says a a_1) False) (Eq a_1 False)) % 3.83/4.01 Clause #20 (by identity loobHoist #[19]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knave) False) (Or (Eq a_1 False) (Or (Eq (says a True) False) (Eq a_1 False))) % 3.83/4.01 Clause #22 (by eliminate duplicate literals #[20]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knave) False) (Or (Eq a_1 False) (Eq (says a True) False)) % 3.83/4.01 Clause #23 (by clausification #[3]): Eq (is_a mel islander) True % 3.83/4.01 Clause #24 (by clausification #[3]): Eq (is_a zoey islander) True % 3.83/4.01 Clause #25 (by clausification #[0]): ∀ (a : Iota), Eq (is_a a islander → Or (is_a a knight) (is_a a knave)) True % 3.83/4.01 Clause #26 (by clausification #[25]): ∀ (a : Iota), Or (Eq (is_a a islander) False) (Eq (Or (is_a a knight) (is_a a knave)) True) % 3.83/4.01 Clause #27 (by clausification #[26]): ∀ (a : Iota), Or (Eq (is_a a islander) False) (Or (Eq (is_a a knight) True) (Eq (is_a a knave) True)) % 3.83/4.01 Clause #28 (by superposition #[27, 23]): Or (Eq (is_a mel knight) True) (Or (Eq (is_a mel knave) True) (Eq False True)) % 3.83/4.01 Clause #29 (by superposition #[27, 24]): Or (Eq (is_a zoey knight) True) (Or (Eq (is_a zoey knave) True) (Eq False True)) % 3.83/4.01 Clause #30 (by clausification #[29]): Or (Eq (is_a zoey knight) True) (Eq (is_a zoey knave) True) % 3.83/4.01 Clause #31 (by clausification #[28]): Or (Eq (is_a mel knight) True) (Eq (is_a mel knave) True) % 3.83/4.01 Clause #33 (by identity boolHoist #[5]): Or (Eq (says mel False) True) (Eq (Not (Or (is_a zoey knave) (is_a mel knave))) True) % 3.83/4.01 Clause #36 (by clausification #[6]): Eq % 3.83/4.01 (Exists fun Y => % 3.83/4.01 Exists fun Z => % 3.83/4.01 And (And (And (Not (Iff (Eq Y knight) (Eq Y knave))) (Not (Iff (Eq Z knight) (Eq Z knave)))) (is_a mel Y)) % 3.83/4.01 (is_a zoey Z)) % 3.83/4.01 False % 3.83/4.01 Clause #37 (by clausification #[36]): ∀ (a : Iota), % 3.88/4.04 Eq % 3.88/4.04 (Exists fun Z => % 3.88/4.04 And (And (And (Not (Iff (Eq a knight) (Eq a knave))) (Not (Iff (Eq Z knight) (Eq Z knave)))) (is_a mel a)) % 3.88/4.04 (is_a zoey Z)) % 3.88/4.04 False % 3.88/4.04 Clause #38 (by clausification #[37]): ∀ (a a_1 : Iota), % 3.88/4.04 Eq % 3.88/4.04 (And (And (And (Not (Iff (Eq a knight) (Eq a knave))) (Not (Iff (Eq a_1 knight) (Eq a_1 knave)))) (is_a mel a)) % 3.88/4.04 (is_a zoey a_1)) % 3.88/4.04 False % 3.88/4.04 Clause #39 (by clausification #[38]): ∀ (a a_1 : Iota), % 3.88/4.04 Or % 3.88/4.04 (Eq (And (And (Not (Iff (Eq a knight) (Eq a knave))) (Not (Iff (Eq a_1 knight) (Eq a_1 knave)))) (is_a mel a)) % 3.88/4.04 False) % 3.88/4.04 (Eq (is_a zoey a_1) False) % 3.88/4.04 Clause #40 (by clausification #[39]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (And (Not (Iff (Eq a_1 knight) (Eq a_1 knave))) (Not (Iff (Eq a knight) (Eq a knave)))) False) % 3.88/4.04 (Eq (is_a mel a_1) False)) % 3.88/4.04 Clause #41 (by clausification #[40]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Not (Iff (Eq a_1 knight) (Eq a_1 knave))) False) (Eq (Not (Iff (Eq a knight) (Eq a knave))) False))) % 3.88/4.04 Clause #42 (by clausification #[41]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Not (Iff (Eq a knight) (Eq a knave))) False) (Eq (Iff (Eq a_1 knight) (Eq a_1 knave)) True))) % 3.88/4.04 Clause #43 (by clausification #[42]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Iff (Eq a_1 knight) (Eq a_1 knave)) True) (Eq (Iff (Eq a knight) (Eq a knave)) True))) % 3.88/4.04 Clause #44 (by clausification #[43]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Iff (Eq a knight) (Eq a knave)) True) (Or (Eq (Eq a_1 knight) True) (Eq (Eq a_1 knave) False)))) % 3.88/4.04 Clause #46 (by clausification #[44]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Eq a_1 knight) True) % 3.88/4.04 (Or (Eq (Eq a_1 knave) False) (Or (Eq (Eq a knight) True) (Eq (Eq a knave) False))))) % 3.88/4.04 Clause #47 (by clausification #[44]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Eq a_1 knight) True) % 3.88/4.04 (Or (Eq (Eq a_1 knave) False) (Or (Eq (Eq a knight) False) (Eq (Eq a knave) True))))) % 3.88/4.04 Clause #48 (by clausification #[46]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Eq a_1 knave) False) (Or (Eq (Eq a knight) True) (Or (Eq (Eq a knave) False) (Eq a_1 knight))))) % 3.88/4.04 Clause #49 (by clausification #[48]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) % 3.88/4.04 (Or (Eq (Eq a knight) True) (Or (Eq (Eq a knave) False) (Or (Eq a_1 knight) (Ne a_1 knave))))) % 3.88/4.04 Clause #50 (by clausification #[49]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) (Or (Eq (Eq a knave) False) (Or (Eq a_1 knight) (Or (Ne a_1 knave) (Eq a knight))))) % 3.88/4.04 Clause #51 (by clausification #[50]): ∀ (a a_1 : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) % 3.88/4.04 (Or (Eq (is_a mel a_1) False) (Or (Eq a_1 knight) (Or (Ne a_1 knave) (Or (Eq a knight) (Ne a knave))))) % 3.88/4.04 Clause #52 (by destructive equality resolution #[51]): ∀ (a : Iota), % 3.88/4.04 Or (Eq (is_a zoey a) False) (Or (Eq (is_a mel knave) False) (Or (Eq knave knight) (Or (Eq a knight) (Ne a knave)))) % 3.88/4.04 Clause #53 (by destructive equality resolution #[52]): Or (Eq (is_a zoey knave) False) (Or (Eq (is_a mel knave) False) (Or (Eq knave knight) (Eq knave knight))) % 3.88/4.04 Clause #54 (by eliminate duplicate literals #[53]): Or (Eq (is_a zoey knave) False) (Or (Eq (is_a mel knave) False) (Eq knave knight)) % 3.88/4.04 Clause #55 (by eliminate duplicate literals #[14]): ∀ (a : Iota) (a_1 : Prop), Or (Eq (is_a a knight) False) (Or (Eq a_1 True) (Eq (says a False) False)) % 3.88/4.04 Clause #56 (by superposition #[55, 30]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (says zoey False) False) (Or (Eq False True) (Eq (is_a zoey knave) True))) % 3.88/4.04 Clause #57 (by superposition #[55, 31]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (says mel False) False) (Or (Eq False True) (Eq (is_a mel knave) True))) % 3.88/4.04 Clause #58 (by clausification #[57]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (says mel False) False) (Eq (is_a mel knave) True)) % 3.88/4.06 Clause #59 (by clausification #[56]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (says zoey False) False) (Eq (is_a zoey knave) True)) % 3.88/4.06 Clause #60 (by superposition #[59, 8]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (is_a zoey knave) True) (Or (Eq False True) (Eq (is_a mel knave) True))) % 3.88/4.06 Clause #61 (by clausification #[60]): ∀ (a : Prop), Or (Eq a True) (Or (Eq (is_a zoey knave) True) (Eq (is_a mel knave) True)) % 3.88/4.06 Clause #70 (by equality factoring #[61]): Or (Eq (is_a mel knave) True) (Or (Ne True True) (Eq (is_a zoey knave) True)) % 3.88/4.06 Clause #72 (by clausification #[70]): Or (Eq (is_a mel knave) True) (Or (Eq (is_a zoey knave) True) (Or (Eq True False) (Eq True False))) % 3.88/4.06 Clause #74 (by clausification #[72]): Or (Eq (is_a mel knave) True) (Or (Eq (is_a zoey knave) True) (Eq True False)) % 3.88/4.06 Clause #75 (by clausification #[74]): Or (Eq (is_a mel knave) True) (Eq (is_a zoey knave) True) % 3.88/4.06 Clause #78 (by clausification #[33]): Or (Eq (says mel False) True) (Eq (Or (is_a zoey knave) (is_a mel knave)) False) % 3.88/4.06 Clause #80 (by clausification #[78]): Or (Eq (says mel False) True) (Eq (is_a zoey knave) False) % 3.88/4.06 Clause #81 (by superposition #[80, 75]): Or (Eq (says mel False) True) (Or (Eq (is_a mel knave) True) (Eq False True)) % 3.88/4.06 Clause #82 (by clausification #[81]): Or (Eq (says mel False) True) (Eq (is_a mel knave) True) % 3.88/4.06 Clause #83 (by superposition #[82, 58]): ∀ (a : Prop), Or (Eq (is_a mel knave) True) (Or (Eq a True) (Or (Eq True False) (Eq (is_a mel knave) True))) % 3.88/4.06 Clause #86 (by clausification #[83]): ∀ (a : Prop), Or (Eq (is_a mel knave) True) (Or (Eq a True) (Eq (is_a mel knave) True)) % 3.88/4.06 Clause #87 (by eliminate duplicate literals #[86]): ∀ (a : Prop), Or (Eq (is_a mel knave) True) (Eq a True) % 3.88/4.06 Clause #96 (by equality factoring #[87]): Or (Ne True True) (Eq (is_a mel knave) True) % 3.88/4.06 Clause #98 (by clausification #[96]): Or (Eq (is_a mel knave) True) (Or (Eq True False) (Eq True False)) % 3.88/4.06 Clause #100 (by clausification #[98]): Or (Eq (is_a mel knave) True) (Eq True False) % 3.88/4.06 Clause #101 (by clausification #[100]): Eq (is_a mel knave) True % 3.88/4.06 Clause #102 (by backward demodulation #[101, 7]): Or (Eq (says zoey True) True) (Eq True False) % 3.88/4.06 Clause #103 (by backward demodulation #[101, 54]): Or (Eq (is_a zoey knave) False) (Or (Eq True False) (Eq knave knight)) % 3.88/4.06 Clause #116 (by clausification #[102]): Eq (says zoey True) True % 3.88/4.06 Clause #120 (by clausification #[47]): ∀ (a a_1 : Iota), % 3.88/4.06 Or (Eq (is_a zoey a) False) % 3.88/4.06 (Or (Eq (is_a mel a_1) False) % 3.88/4.06 (Or (Eq (Eq a_1 knave) False) (Or (Eq (Eq a knight) False) (Or (Eq (Eq a knave) True) (Eq a_1 knight))))) % 3.88/4.06 Clause #121 (by clausification #[120]): ∀ (a a_1 : Iota), % 3.88/4.06 Or (Eq (is_a zoey a) False) % 3.88/4.06 (Or (Eq (is_a mel a_1) False) % 3.88/4.06 (Or (Eq (Eq a knight) False) (Or (Eq (Eq a knave) True) (Or (Eq a_1 knight) (Ne a_1 knave))))) % 3.88/4.06 Clause #122 (by clausification #[121]): ∀ (a a_1 : Iota), % 3.88/4.06 Or (Eq (is_a zoey a) False) % 3.88/4.06 (Or (Eq (is_a mel a_1) False) (Or (Eq (Eq a knave) True) (Or (Eq a_1 knight) (Or (Ne a_1 knave) (Ne a knight))))) % 3.88/4.06 Clause #123 (by clausification #[122]): ∀ (a a_1 : Iota), % 3.88/4.06 Or (Eq (is_a zoey a) False) % 3.88/4.06 (Or (Eq (is_a mel a_1) False) (Or (Eq a_1 knight) (Or (Ne a_1 knave) (Or (Ne a knight) (Eq a knave))))) % 3.88/4.06 Clause #124 (by destructive equality resolution #[123]): ∀ (a : Iota), % 3.88/4.06 Or (Eq (is_a zoey a) False) (Or (Eq (is_a mel knave) False) (Or (Eq knave knight) (Or (Ne a knight) (Eq a knave)))) % 3.88/4.06 Clause #125 (by destructive equality resolution #[124]): Or (Eq (is_a zoey knight) False) (Or (Eq (is_a mel knave) False) (Or (Eq knave knight) (Eq knight knave))) % 3.88/4.06 Clause #126 (by eliminate duplicate literals #[125]): Or (Eq (is_a zoey knight) False) (Or (Eq (is_a mel knave) False) (Eq knave knight)) % 3.88/4.06 Clause #127 (by forward demodulation #[126, 101]): Or (Eq (is_a zoey knight) False) (Or (Eq True False) (Eq knave knight)) % 3.88/4.06 Clause #128 (by clausification #[127]): Or (Eq (is_a zoey knight) False) (Eq knave knight) % 3.88/4.06 Clause #129 (by superposition #[128, 30]): Or (Eq knave knight) (Or (Eq False True) (Eq (is_a zoey knave) True)) % 3.88/4.07 Clause #130 (by clausification #[129]): Or (Eq knave knight) (Eq (is_a zoey knave) True) % 3.88/4.07 Clause #141 (by clausification #[103]): Or (Eq (is_a zoey knave) False) (Eq knave knight) % 3.88/4.07 Clause #142 (by superposition #[141, 130]): Or (Eq knave knight) (Or (Eq knave knight) (Eq False True)) % 3.88/4.07 Clause #143 (by clausification #[142]): Or (Eq knave knight) (Eq knave knight) % 3.88/4.07 Clause #144 (by eliminate duplicate literals #[143]): Eq knave knight % 3.88/4.07 Clause #146 (by backward demodulation #[144, 30]): Or (Eq (is_a zoey knave) True) (Eq (is_a zoey knave) True) % 3.88/4.07 Clause #152 (by eliminate duplicate literals #[146]): Eq (is_a zoey knave) True % 3.88/4.07 Clause #154 (by superposition #[152, 22]): ∀ (a : Prop), Or (Eq True False) (Or (Eq a False) (Eq (says zoey True) False)) % 3.88/4.07 Clause #155 (by clausification #[154]): ∀ (a : Prop), Or (Eq a False) (Eq (says zoey True) False) % 3.88/4.07 Clause #157 (by falseElim #[155]): Eq (says zoey True) False % 3.88/4.07 Clause #158 (by superposition #[157, 116]): Eq False True % 3.88/4.07 Clause #159 (by clausification #[158]): False % 3.88/4.07 SZS output end Proof for theBenchmark.p %------------------------------------------------------------------------------