Teaching and Learning in Mathematics by Abstraction