const In : set set prop term iIn = In infix iIn 2000 2000 term nIn = \x:set.\y:set.~ x iIn y const If_i : prop set set set const Repl : set (set set) set const Eps_i : (set prop) set const Empty : set term Sep = \x:set.\p:set prop.If_i (?y:set.y iIn x & p y) (Repl x \y:set.If_i (p y) y (Eps_i \z:set.z iIn x & p z)) Empty var x:set var p:set prop var y:set var z:set hyp z iIn x hyp y = If_i (p z) z (Eps_i \w:set.w iIn x & p w) hyp p z claim y = z -> y iIn x & p y