const In : set set prop term iIn = In infix iIn 2000 2000 term Subq = \x:set.\y:set.!z:set.z iIn x -> z iIn y const binunion : set set set const Repl : set (set set) set const SetAdjoin : set set set const Sing : set set const ordsucc : set set const Empty : set term SNoElts_ = \x:set.binunion x (Repl x \y:set.SetAdjoin y (Sing (ordsucc Empty))) axiom binunionI1: !x:set.!y:set.!z:set.z iIn x -> z iIn binunion x y axiom ReplI: !x:set.!f:set set.!y:set.y iIn x -> f y iIn Repl x f axiom ReplE_impred: !x:set.!f:set set.!y:set.y iIn Repl x f -> !P:prop.(!z:set.z iIn x -> y = f z -> P) -> P axiom binunionI2: !x:set.!y:set.!z:set.z iIn y -> z iIn binunion x y axiom binunionE: !x:set.!y:set.!z:set.z iIn binunion x y -> z iIn x | z iIn y claim !x:set.!y:set.Subq x y -> !z:set.z iIn SNoElts_ x -> z iIn SNoElts_ y