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 SNoElts_ = \x:set.binunion x (Repl x \y:set.SetAdjoin y (Sing (ordsucc Empty))) const In : set set prop term iIn = In infix iIn 2000 2000 const binintersect : set set set axiom binintersectE1: !x:set.!y:set.!z:set.z iIn binintersect x y -> z iIn x axiom binunionI1: !x:set.!y:set.!z:set.z iIn x -> z iIn binunion x y axiom binintersectI: !x:set.!y:set.!z:set.z iIn x -> z iIn y -> z iIn binintersect x y axiom iffI: !P:prop.!Q:prop.(P -> Q) -> (Q -> P) -> (P <-> Q) const SNoEq_ : set set set prop axiom SNoEq_I: !x:set.!y:set.!z:set.(!w:set.w iIn x -> (w iIn y <-> w iIn z)) -> SNoEq_ x y z const SNo : set prop const SNoLev : set set claim !x:set.SNo x -> !y:set.y iIn SNoLev x -> SNoEq_ y (binintersect x (SNoElts_ y)) x