const In : set set prop term iIn = In infix iIn 2000 2000 term nIn = \x:set.\y:set.~ x iIn y const Pi : set (set set) set term setexp = \x:set.\y:set.Pi y \z:set.x term Subq = \x:set.\y:set.!z:set.z iIn x -> z iIn y const ordinal : set prop const omega : set axiom omega_ordinal: ordinal omega const ap : set set set axiom ap_Pi: !x:set.!f:set set.!y:set.!z:set.y iIn Pi x f -> z iIn x -> ap y z iIn f z const SNoS_ : set set const SNoLev : set set const SNo : set prop const SNo_ : set set prop axiom SNoS_E2: !x:set.ordinal x -> !y:set.y iIn SNoS_ x -> !P:prop.(SNoLev y iIn x -> ordinal (SNoLev y) -> SNo y -> SNo_ (SNoLev y) y -> P) -> P const SNoLt : set set prop term < = SNoLt infix < 2020 2020 const SNoCut : set set set const Repl : set (set set) set const minus_SNo : set set term - = minus_SNo const real : set lemma !x:set.!y:set.!z:set.SNo x -> y iIn setexp (SNoS_ omega) omega -> z iIn setexp (SNoS_ omega) omega -> (!w:set.w iIn omega -> ap y w < x) -> (!w:set.w iIn omega -> !u:set.u iIn w -> ap y u < ap y w) -> (!w:set.w iIn omega -> x < ap z w) -> (!w:set.w iIn omega -> !u:set.u iIn w -> ap z w < ap z u) -> x = SNoCut (Repl omega (ap y)) (Repl omega (ap z)) -> SNo - x -> (!w:set.w iIn omega -> SNo (ap y w)) -> (!w:set.w iIn omega -> SNo (ap z w)) -> x iIn real var x:set var y:set var z:set hyp SNo x hyp y iIn setexp (SNoS_ omega) omega hyp z iIn setexp (SNoS_ omega) omega hyp !w:set.w iIn omega -> ap y w < x hyp !w:set.w iIn omega -> !u:set.u iIn w -> ap y u < ap y w hyp !w:set.w iIn omega -> x < ap z w hyp !w:set.w iIn omega -> !u:set.u iIn w -> ap z w < ap z u hyp x = SNoCut (Repl omega (ap y)) (Repl omega (ap z)) hyp SNo - x claim (!w:set.w iIn omega -> SNo (ap y w)) -> x iIn real