const In : set set prop term iIn = In infix iIn 2000 2000 const SNo : set prop const SNoLe : set set prop term <= = SNoLe infix <= 2020 2020 term SNo_max_of = \x:set.\y:set.y iIn x & SNo y & !z:set.z iIn x -> SNo z -> z <= y term nIn = \x:set.\y:set.~ x iIn y term SNo_min_of = \x:set.\y:set.y iIn x & SNo y & !z:set.z iIn x -> SNo z -> y <= z 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 const ordinal : set prop const omega : set axiom omega_ordinal: ordinal omega const nat_p : set prop axiom nat_p_omega: !x:set.nat_p x -> x iIn omega const SNo_ : set set prop const SNoLev : set set axiom SNoLev_: !x:set.SNo x -> SNo_ (SNoLev x) x const SNoS_ : set set axiom SNoS_I: !x:set.ordinal x -> !y:set.!z:set.z iIn x -> SNo_ z y -> y iIn SNoS_ x axiom dneg: !P:prop.~ ~ P -> P axiom nat_complete_ind: !p:set prop.(!x:set.nat_p x -> (!y:set.y iIn x -> p y) -> p x) -> !x:set.nat_p x -> p x const diadic_rational_p : set prop lemma !x:set.!y:set.nat_p x -> (!z:set.z iIn x -> !w:set.SNo w -> SNoLev w = z -> diadic_rational_p w) -> SNo y -> SNoLev y = x -> ~ diadic_rational_p y -> ~ y iIn SNoS_ omega claim !x:set.nat_p x -> !y:set.SNo y -> SNoLev y = x -> diadic_rational_p y