const In : set set prop term iIn = In infix iIn 2000 2000 const PNo_upc : (set (set prop) prop) set (set prop) prop 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 const PNo_downc : (set (set prop) prop) set (set prop) prop 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 const ordsucc : set set term PNo_rel_strict_split_imv = \P:set (set prop) prop.\Q:set (set prop) prop.\x:set.\p:set prop.PNo_rel_strict_imv P Q (ordsucc x) (\y:set.p y & y != x) & PNo_rel_strict_imv P Q (ordsucc x) \y:set.p y | y = x term PNoEq_ = \x:set.\p:set prop.\q:set prop.!y:set.y iIn x -> (p y <-> q y) term PNo_rel_strict_uniq_imv = \P:set (set prop) prop.\Q:set (set prop) prop.\x:set.\p:set prop.PNo_rel_strict_imv P Q x p & !q:set prop.PNo_rel_strict_imv P Q x q -> PNoEq_ x p q 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 term PNoLt_pwise = \P:set (set prop) prop.\Q:set (set prop) prop.!x:set.ordinal x -> !p:set prop.P x p -> !y:set.ordinal y -> !q:set prop.Q y q -> PNoLt x p y q term nIn = \x:set.\y:set.~ x iIn y term PNoLt_ = \x:set.\p:set prop.\q:set prop.?y:set.y iIn x & (PNoEq_ y p q & ~ p y & q y) term PNoLe = \x:set.\p:set prop.\y:set.\q:set prop.PNoLt x p y q | x = y & PNoEq_ x p q axiom In_irref: !x:set.nIn x x axiom iffI: !P:prop.!Q:prop.(P -> Q) -> (Q -> P) -> (P <-> Q) const binintersect : set set set lemma !P:set (set prop) prop.!Q:set (set prop) prop.!x:set.!y:set.!p:set prop.PNoLt_pwise (PNo_downc P) (PNo_upc Q) -> ~ (?q:set prop.PNo_rel_strict_uniq_imv P Q x q) -> ~ (?z:set.z iIn x & ?q:set prop.PNo_rel_strict_split_imv P Q z q) -> y iIn x -> x = ordsucc y -> ordinal y -> ordinal (ordsucc y) -> binintersect y (ordsucc y) = y -> binintersect (ordsucc y) y = y -> (!z:set.z iIn y -> !q:set prop.PNo_downc P z q -> PNoLt z q y p) -> (!z:set.z iIn y -> !q:set prop.PNo_upc Q z q -> PNoLt y p z q) -> (!q:set prop.PNo_rel_strict_imv P Q y q -> PNoEq_ y p q) -> ~ PNoEq_ y (\z:set.p z & z != y) p var P:set (set prop) prop var Q:set (set prop) prop var x:set var y:set hyp PNoLt_pwise (PNo_downc P) (PNo_upc Q) hyp ~ ?p:set prop.PNo_rel_strict_uniq_imv P Q x p hyp ~ ?z:set.z iIn x & ?p:set prop.PNo_rel_strict_split_imv P Q z p hyp !z:set.z iIn x -> ?p:set prop.PNo_rel_strict_uniq_imv P Q z p hyp y iIn x hyp x = ordsucc y hyp ordinal y hyp ordinal (ordsucc y) hyp binintersect y (ordsucc y) = y claim binintersect (ordsucc y) y != y