const CSNo : set prop const add_CSNo : set set set axiom CSNo_add_CSNo: !x:set.!y:set.CSNo x -> CSNo y -> CSNo (add_CSNo x y) lemma !x:set.!y:set.!z:set.CSNo x -> CSNo y -> CSNo z -> CSNo (add_CSNo y z) -> CSNo (add_CSNo x y) -> CSNo (add_CSNo x (add_CSNo y z)) -> add_CSNo x (add_CSNo y z) = add_CSNo (add_CSNo x y) z var x:set var y:set var z:set hyp CSNo x hyp CSNo y hyp CSNo z hyp CSNo (add_CSNo y z) claim CSNo (add_CSNo x y) -> add_CSNo x (add_CSNo y z) = add_CSNo (add_CSNo x y) z