const In : set set prop term iIn = In infix iIn 2000 2000 term bij = \x:set.\y:set.\f:set set.(!z:set.z iIn x -> f z iIn y) & (!z:set.z iIn x -> !w:set.w iIn x -> f z = f w -> z = w) & !z:set.z iIn y -> ?w:set.w iIn x & f w = z const Eps_i : (set prop) set term inv = \x:set.\f:set set.\y:set.Eps_i \z:set.z iIn x & f z = y lemma !x:set.!y:set.!f:set set.!z:set.(!w:set.w iIn x -> f w iIn y) -> (!w:set.w iIn x -> !u:set.u iIn x -> f w = f u -> w = u) -> z iIn x -> f z iIn y -> ?w:set.w iIn y & Eps_i (\u:set.u iIn x & f u = w) = z var x:set var y:set var f:set set hyp !z:set.z iIn x -> f z iIn y hyp !z:set.z iIn x -> !w:set.w iIn x -> f z = f w -> z = w hyp !z:set.z iIn y -> ?w:set.w iIn x & f w = z claim (!z:set.z iIn y -> Eps_i (\w:set.w iIn x & f w = z) iIn x & f (Eps_i \w:set.w iIn x & f w = z) = z) -> (!z:set.z iIn y -> Eps_i (\w:set.w iIn x & f w = z) iIn x) & (!z:set.z iIn y -> !w:set.w iIn y -> Eps_i (\u:set.u iIn x & f u = z) = Eps_i (\u:set.u iIn x & f u = w) -> z = w) & !z:set.z iIn x -> ?w:set.w iIn y & Eps_i (\u:set.u iIn x & f u = w) = z