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 axiom surj_rinv: !x:set.!y:set.!f:set set.(!z:set.z iIn y -> ?w:set.w iIn x & f w = z) -> !z:set.z iIn y -> inv x f z iIn x & f (inv x f z) = z lemma !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) -> (!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 claim !x:set.!y:set.!f:set set.bij x y f -> bij y x (inv x f)