const If_i : prop set set set axiom If_i_0: !P:prop.!x:set.!y:set.~ P -> If_i P x y = y const In : set set prop term iIn = In infix iIn 2000 2000 const Union : set set lemma !x:set.!g:set set set.!y:set.!f:set set.!f2:set set.~ Union y iIn y -> If_i (Union y iIn y) (g (Union y) (f (Union y))) x = x -> If_i (Union y iIn y) (g (Union y) (f2 (Union y))) x = x -> If_i (Union y iIn y) (g (Union y) (f (Union y))) x = If_i (Union y iIn y) (g (Union y) (f2 (Union y))) x var x:set var g:set set set var y:set var f:set set var f2:set set hyp ~ Union y iIn y claim If_i (Union y iIn y) (g (Union y) (f (Union y))) x = x -> If_i (Union y iIn y) (g (Union y) (f (Union y))) x = If_i (Union y iIn y) (g (Union y) (f2 (Union y))) x