const In : set set prop term iIn = In infix iIn 2000 2000 term PNoEq_ = \x:set.\p:set prop.\q:set prop.!y:set.y iIn x -> (p y <-> q y) term SNoEq_ = \x:set.\y:set.\z:set.PNoEq_ x (\w:set.w iIn y) \w:set.w iIn z term nIn = \x:set.\y:set.~ x iIn y const binunion : set set set const Sing : set set const Empty : set const Repl : set (set set) set const SetAdjoin : set set set const ordsucc : set set term eps_ = \x:set.binunion (Sing Empty) (Repl x \y:set.SetAdjoin (ordsucc y) (Sing (ordsucc Empty))) const omega : set const nat_p : set prop axiom omega_nat_p: !x:set.x iIn omega -> nat_p x axiom nat_0_in_ordsucc: !x:set.nat_p x -> Empty iIn ordsucc x const SNoLev : set set axiom SNoLev_eps_: !x:set.x iIn omega -> SNoLev (eps_ x) = ordsucc x axiom SNoLev_0: SNoLev Empty = Empty axiom EmptyE: !x:set.nIn x Empty axiom FalseE: ~ False axiom SingI: !x:set.x iIn Sing x axiom binunionI1: !x:set.!y:set.!z:set.z iIn x -> z iIn binunion x y const SNoLt : set set prop term < = SNoLt infix < 2020 2020 axiom SNoLtI2: !x:set.!y:set.SNoLev x iIn SNoLev y -> SNoEq_ (SNoLev x) x y -> SNoLev x iIn y -> x < y claim !x:set.x iIn omega -> Empty < eps_ x