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 term TransSet = \x:set.!y:set.y iIn x -> Subq y x term ordinal = \x:set.TransSet x & !y:set.y iIn x -> TransSet y const PNoLe : set (set prop) set (set prop) prop term PNo_upc = \P:set (set prop) prop.\x:set.\p:set prop.?y:set.ordinal y & ?q:set prop.P y q & PNoLe y q x p const PNoLt : set (set prop) set (set prop) prop term PNo_rel_strict_lowerbd = \P:set (set prop) prop.\x:set.\p:set prop.!y:set.y iIn x -> !q:set prop.PNo_upc P y q -> PNoLt x p y q term PNo_downc = \P:set (set prop) prop.\x:set.\p:set prop.?y:set.ordinal y & ?q:set prop.P y q & PNoLe x p y q term PNo_rel_strict_upperbd = \P:set (set prop) prop.\x:set.\p:set prop.!y:set.y iIn x -> !q:set prop.PNo_downc P y q -> PNoLt y q x p term PNo_rel_strict_imv = \P:set (set prop) prop.\Q:set (set prop) prop.\x:set.\p:set prop.PNo_rel_strict_upperbd P x p & PNo_rel_strict_lowerbd Q x p term PNo_lenbdd = \x:set.\P:set (set prop) prop.!y:set.!p:set prop.P y p -> y iIn x term nIn = \x:set.\y:set.~ x iIn y const PNoEq_ : set (set prop) (set prop) prop term PNoLt_ = \x:set.\p:set prop.\q:set prop.?y:set.y iIn x & (PNoEq_ y p q & ~ p y & q y) const ordsucc : set set axiom ordsuccI1: !x:set.Subq x (ordsucc x) lemma !P:set (set prop) prop.!x:set.!p:set prop.!y:set.!q:set prop.ordinal x -> TransSet x -> PNo_rel_strict_lowerbd P x p -> ordinal (ordsucc x) -> PNoEq_ x p (\z:set.p z | z = x) -> ordinal y -> P y q -> y iIn x -> y iIn ordsucc x -> PNoLt (ordsucc x) (\z:set.p z | z = x) y q var P:set (set prop) prop var x:set var p:set prop var y:set var q:set prop hyp ordinal x hyp TransSet x hyp PNo_lenbdd x P hyp PNo_rel_strict_lowerbd P x p hyp ordinal (ordsucc x) hyp PNoEq_ x p \z:set.p z | z = x hyp ordinal y hyp P y q claim y iIn x -> PNoLt (ordsucc x) (\z:set.p z | z = x) y q