Essay Distinguishes Two Types of Software Abstraction: Hiding vs Reducing
A formal-methods writer argues that computer science conflates two distinct concepts under the single word 'abstraction.' One is 'modularity abstraction'—the traditional CS practice of hiding implementation details behind interfaces, APIs, and layered designs. The other is 'modeling abstraction,' used in tools like TLA+, which strips a system down to the minimal behavioral core needed to reason about a specific property, cutting across layers rather than hiding them.