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 Subq = \x:set.\y:set.!z:set.z iIn x -> z iIn y const ordinal : set prop const SNo_ : set set prop term SNo = \x:set.?y:set.ordinal y & SNo_ y x const PNoLt : set (set prop) set (set prop) prop 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 PNo_strict_upperbd = \P:set (set prop) prop.\x:set.\p:set prop.!y:set.ordinal y -> !q:set prop.P y q -> PNoLt y q x p term PNo_strict_lowerbd = \P:set (set prop) prop.\x:set.\p:set prop.!y:set.ordinal y -> !q:set prop.P y q -> PNoLt x p y q term PNo_strict_imv = \P:set (set prop) prop.\Q:set (set prop) prop.\x:set.\p:set prop.PNo_strict_upperbd P x p & PNo_strict_lowerbd Q x p term nIn = \x:set.\y:set.~ x iIn y const PNo_rel_strict_imv : (set (set prop) prop) (set (set prop) prop) set (set prop) prop 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 const SNoLt : set set prop term < = SNoLt infix < 2020 2020 term SNoCutP = \x:set.\y:set.(!z:set.z iIn x -> SNo z) & (!z:set.z iIn y -> SNo z) & !z:set.z iIn x -> !w:set.w iIn y -> z < w term PNo_least_rep = \P:set (set prop) prop.\Q:set (set prop) prop.\x:set.\p:set prop.ordinal x & PNo_strict_imv P Q x p & !y:set.y iIn x -> !q:set prop.~ PNo_strict_imv P Q y q const PSNo : set (set prop) set const PNo_bd : (set (set prop) prop) (set (set prop) prop) set const PNo_pred : (set (set prop) prop) (set (set prop) prop) set prop term SNoCut = \x:set.\y:set.PSNo (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p 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 PNo_lenbdd = \x:set.\P:set (set prop) prop.!y:set.!p:set prop.P y p -> y iIn x const SNoLev : set set const binunion : set set set const famunion : set (set set) set lemma !x:set.!y:set.(!z:set.z iIn x -> SNo z) -> (!z:set.z iIn y -> SNo z) -> ordinal (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) -> PNo_strict_imv (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) -> (!z:set.z iIn PNo_bd (\w:set.\p:set prop.ordinal w & PSNo w p iIn x) (\w:set.\p:set prop.ordinal w & PSNo w p iIn y) -> !p:set prop.~ PNo_strict_imv (\w:set.\q:set prop.ordinal w & PSNo w q iIn x) (\w:set.\q:set prop.ordinal w & PSNo w q iIn y) z p) -> PNo_strict_upperbd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) -> PNo_strict_lowerbd (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) -> SNo (SNoCut x y) -> SNoLev (SNoCut x y) = PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) -> PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) iIn ordsucc (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) -> SNoLev (SNoCut x y) iIn ordsucc (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) -> SNo (SNoCut x y) & SNoLev (SNoCut x y) iIn ordsucc (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) & (!z:set.z iIn x -> z < SNoCut x y) & (!z:set.z iIn y -> SNoCut x y < z) & !z:set.SNo z -> (!w:set.w iIn x -> w < z) -> (!w:set.w iIn y -> z < w) -> Subq (SNoLev (SNoCut x y)) (SNoLev z) & PNoEq_ (SNoLev (SNoCut x y)) (\w:set.w iIn SNoCut x y) \w:set.w iIn z var x:set var y:set hyp !z:set.z iIn x -> SNo z hyp !z:set.z iIn y -> SNo z hyp PNoLt_pwise (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y hyp ordinal (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) hyp PNo_lenbdd (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) \z:set.\p:set prop.ordinal z & PSNo z p iIn x hyp PNo_lenbdd (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) \z:set.\p:set prop.ordinal z & PSNo z p iIn y hyp ordinal (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) hyp PNo_strict_imv (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) hyp !z:set.z iIn PNo_bd (\w:set.\p:set prop.ordinal w & PSNo w p iIn x) (\w:set.\p:set prop.ordinal w & PSNo w p iIn y) -> !p:set prop.~ PNo_strict_imv (\w:set.\q:set prop.ordinal w & PSNo w q iIn x) (\w:set.\q:set prop.ordinal w & PSNo w q iIn y) z p hyp PNo_strict_upperbd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) hyp PNo_strict_lowerbd (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) (PNo_pred (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y) hyp SNo (SNoCut x y) hyp SNoLev (SNoCut x y) = PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) \z:set.\p:set prop.ordinal z & PSNo z p iIn y claim PNo_bd (\z:set.\p:set prop.ordinal z & PSNo z p iIn x) (\z:set.\p:set prop.ordinal z & PSNo z p iIn y) iIn ordsucc (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) -> SNo (SNoCut x y) & SNoLev (SNoCut x y) iIn ordsucc (binunion (famunion x \z:set.ordsucc (SNoLev z)) (famunion y \z:set.ordsucc (SNoLev z))) & (!z:set.z iIn x -> z < SNoCut x y) & (!z:set.z iIn y -> SNoCut x y < z) & !z:set.SNo z -> (!w:set.w iIn x -> w < z) -> (!w:set.w iIn y -> z < w) -> Subq (SNoLev (SNoCut x y)) (SNoLev z) & PNoEq_ (SNoLev (SNoCut x y)) (\w:set.w iIn SNoCut x y) \w:set.w iIn z