const In : set set prop term iIn = In infix iIn 2000 2000 term nIn = \x:set.\y:set.~ x iIn y term Subq = \x:set.\y:set.!z:set.z iIn x -> z iIn y const binunion : set set set const Repl : set (set set) set const SetAdjoin : set set set const Sing : set set const ordsucc : set set const Empty : set term SNo_pair = \x:set.\y:set.binunion x (Repl y \z:set.SetAdjoin z (Sing (ordsucc (ordsucc Empty)))) const SNo : set prop axiom ctagged_notin_SNo: !x:set.!y:set.SNo x -> nIn (SetAdjoin y (Sing (ordsucc (ordsucc Empty)))) x axiom ReplE_impred: !x:set.!f:set set.!y:set.y iIn Repl x f -> !P:prop.(!z:set.z iIn x -> y = f z -> P) -> P axiom FalseE: ~ False axiom binunionE: !x:set.!y:set.!z:set.z iIn binunion x y -> z iIn x | z iIn y var x:set var y:set var z:set var w:set var u:set hyp SNo x hyp SNo_pair x y = SNo_pair z w hyp u iIn x claim u iIn SNo_pair z w -> u iIn z