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 axiom set_ext: !x:set.!y:set.Subq x y -> Subq y x -> x = y const Sep : set (set prop) set const Power : set set var x:set var f:set set hyp !y:set.y iIn Power x -> !z:set.z iIn Power x -> Subq y z -> Subq (f y) (f z) hyp Sep x (\y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z) iIn Power x hyp f (Sep x \y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z) iIn Power x hyp !y:set.y iIn Power x -> Subq (f y) y -> Subq (Sep x \z:set.!w:set.w iIn Power x -> Subq (f w) w -> z iIn w) y hyp Subq (f (Sep x \y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z)) (Sep x \y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z) claim Subq (f (f (Sep x \y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z))) (f (Sep x \y:set.!z:set.z iIn Power x -> Subq (f z) z -> y iIn z)) -> ?y:set.y iIn Power x & f y = y