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 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 binintersect : set set set axiom binintersect_Subq_eq_1: !x:set.!y:set.Subq x y -> binintersect x y = x axiom binintersect_com: !x:set.!y:set.binintersect x y = binintersect y x axiom In_no2cycle: !x:set.!y:set.x iIn y -> ~ y iIn x axiom FalseE: ~ False const PNoEq_ : set (set prop) (set prop) prop axiom PNoLtI3: !x:set.!y:set.!p:set prop.!q:set prop.y iIn x -> PNoEq_ y p q -> ~ p y -> PNoLt x p y q const PNoLt_ : set (set prop) (set prop) prop 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 lemma !x:set.!p:set prop.!y:set.!z:set.!q:set prop.TransSet x -> TransSet y -> z iIn y -> z iIn x -> PNoLt_ (binintersect x z) p q -> binintersect x z = z -> PNoLt y p z q var P:set (set prop) prop var x:set var p:set prop var y:set var z:set var q:set prop hyp TransSet x hyp TransSet y hyp !w:set.w iIn x -> !p2:set prop.PNo_upc P w p2 -> PNoLt x p w p2 hyp z iIn y hyp PNo_upc P z q hyp z iIn x claim PNoLt x p z q -> PNoLt y p z q