% This is the proof of the key step in the Mizar proof of Separation from Replacement % at http://grid01.ciirc.cvut.cz/~mptp/mml5.29.1227/html/xboole_0.html#S1 % It was found by running Satallax using SystemOnTPTP: http://tptp.org/cgi-bin/SystemOnTPTP % % START OF SYSTEM OUTPUT % SZS status Theorem % Mode: mode213 % Inferences: 3 % SZS output start Proof thf(ty_$i, type, $i : $tType). thf(ty_k1_funct_1, type, k1_funct_1 : ($i>$i>$i)). thf(ty_eigen__0, type, eigen__0 : $i). thf(ty_c2_21__mtest1, type, c2_21__mtest1 : $i). thf(ty_r2_hidden, type, r2_hidden : ($i>$i>$o)). thf(ty_c1_21__mtest1, type, c1_21__mtest1 : $i). thf(ty_v1_relat_1, type, v1_relat_1 : ($i>$o)). thf(ty_v1_funct_1, type, v1_funct_1 : ($i>$o)). thf(sP1,plain,(sP1 <=> (![X1:$i>$o]:(![X2:$i]:(~((![X3:$i]:(~((![X4:$i]:(((r2_hidden @ X4) @ X3) = (~((((r2_hidden @ X4) @ X2) => (~((X1 @ X4))))))))))))))),introduced(definition,[new_symbols(definition,[sP1])]))). thf(sP2,plain,(sP2 <=> (![X1:$i]:(~((![X2:$i]:(((r2_hidden @ X2) @ X1) = (~((((r2_hidden @ X2) @ c1_21__mtest1) => (~((![X3:$i]:((X3 = ((k1_funct_1 @ c2_21__mtest1) @ X2)) => (~(((r2_hidden @ X2) @ X3))))))))))))))),introduced(definition,[new_symbols(definition,[sP2])]))). thf(sP3,plain,(sP3 <=> (![X1:$i]:(~((![X2:$i]:(~((![X3:$i]:(((r2_hidden @ X3) @ X2) = (~((((r2_hidden @ X3) @ X1) => (~((![X4:$i]:((X4 = ((k1_funct_1 @ c2_21__mtest1) @ X3)) => (~(((r2_hidden @ X3) @ X4)))))))))))))))))),introduced(definition,[new_symbols(definition,[sP3])]))). thf(e4_21__mtest1,conjecture,(~(sP2))). thf(h0,negated_conjecture,sP2,inference(assume_negation,[status(cth)],[e4_21__mtest1])). thf(h1,assumption,(v1_relat_1 @ c2_21__mtest1),introduced(assumption,[])). thf(h2,assumption,(v1_funct_1 @ c2_21__mtest1),introduced(assumption,[])). thf(h3,assumption,(~(((v1_relat_1 @ eigen__0) => (~((v1_funct_1 @ eigen__0)))))),introduced(assumption,[])). thf(h4,assumption,(v1_relat_1 @ eigen__0),introduced(assumption,[])). thf(h5,assumption,(v1_funct_1 @ eigen__0),introduced(assumption,[])). thf(s1_xboole_0,axiom,sP1). thf(1,plain,(~(sP3) | ~(sP2)),inference(all_rule,[status(thm)],[])). thf(2,plain,(~(sP1) | sP3),inference(all_rule,[status(thm)],[])). thf(3,plain,$false,inference(prop_unsat,[status(thm),assumptions([h4,h5,h3,h1,h2,h0])],[h0,s1_xboole_0,1,2])). thf(4,plain,$false,inference(tab_negimp,[status(thm),assumptions([h3,h1,h2,h0]),tab_negimp(discharge,[h4,h5])],[h3,3,h4,h5])). thf(rc1_funct_1,axiom,(~((![X1:$i]:((v1_relat_1 @ X1) => (~((v1_funct_1 @ X1)))))))). thf(5,plain,$false,inference(tab_negall,[status(thm),assumptions([h1,h2,h0]),tab_negall(discharge,[h3]),tab_negall(eigenvar,eigen__0)],[rc1_funct_1,4,h3])). thf(dt_c2_21__mtest1,axiom,(~(((v1_relat_1 @ c2_21__mtest1) => (~((v1_funct_1 @ c2_21__mtest1))))))). thf(6,plain,$false,inference(tab_negimp,[status(thm),assumptions([h0]),tab_negimp(discharge,[h1,h2])],[dt_c2_21__mtest1,5,h1,h2])). thf(0,theorem,(~(sP2)),inference(contra,[status(thm),contra(discharge,[h0])],[6,h0])). % SZS output end Proof % END OF SYSTEM OUTPUT % RESULT: SOT_r4Wv2Z - Satallax---3.3 says Theorem - CPU = 0.00 WC = 0.13 % OUTPUT: SOT_r4Wv2Z - Satallax---3.3 says Proof - CPU = 0.00 WC = 0.13