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 nIn = \x:set.\y:set.~ x iIn y const PNoLt : set (set prop) set (set prop) prop term PNoLe = \x:set.\p:set prop.\y:set.\q:set prop.PNoLt x p y q | x = y & PNoEq_ x p q term PNoLt_ = \x:set.\p:set prop.\q:set prop.?y:set.y iIn x & (PNoEq_ y p q & ~ p y & q y) const ordinal : set prop axiom PNoLt_tra: !x:set.!y:set.!z:set.ordinal x -> ordinal y -> ordinal z -> !p:set prop.!q:set prop.!p2:set prop.PNoLt x p y q -> PNoLt y q z p2 -> PNoLt x p z p2 axiom PNoLt_irref: !x:set.!p:set prop.~ PNoLt x p x p axiom iffEL: !P:prop.!Q:prop.(P <-> Q) -> P -> Q const binintersect : set set set axiom binintersectE: !x:set.!y:set.!z:set.z iIn binintersect x y -> z iIn x & z iIn y axiom In_irref: !x:set.nIn x x axiom PNoLtE: !x:set.!y:set.!p:set prop.!q:set prop.PNoLt x p y q -> !P:prop.(PNoLt_ (binintersect x y) p q -> P) -> (x iIn y -> PNoEq_ x p q -> q x -> P) -> (y iIn x -> PNoEq_ y p q -> ~ p y -> P) -> P axiom FalseE: ~ False claim !x:set.!y:set.ordinal x -> ordinal y -> !p:set prop.!q:set prop.PNoLe x p y q -> PNoLe y q x p -> x = y & PNoEq_ x p q