const In : set set prop term iIn = In infix iIn 2000 2000 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 SNoElts_ = \x:set.binunion x (Repl x \y:set.SetAdjoin y (Sing (ordsucc Empty))) term nIn = \x:set.\y:set.~ x iIn y term SNo_ = \x:set.\y:set.Subq y (SNoElts_ x) & !z:set.z iIn x -> ~(SetAdjoin z (Sing (ordsucc Empty)) iIn y <-> z iIn y) term SNo_ = \x:set.\y:set.Subq y (SNoElts_ x) & !z:set.z iIn x -> ~(SetAdjoin z (Sing (ordsucc Empty)) iIn y <-> z iIn y) axiom binunionI1: !x:set.!y:set.!z:set.z iIn x -> z iIn binunion x y const ordinal : set prop axiom ordinal_Hered: !x:set.ordinal x -> !y:set.y iIn x -> ordinal y axiom tagged_not_ordinal: !x:set.~ ordinal (SetAdjoin x (Sing (ordsucc Empty))) axiom exactly1of2_I2: !P:prop.!Q:prop.~ P -> Q -> ~(P <-> Q) claim !x:set.ordinal x -> Subq x (SNoElts_ x) & !y:set.y iIn x -> ~(SetAdjoin y (Sing (ordsucc Empty)) iIn x <-> y iIn x)