CafeOBJ is a most advanced formal specification language which inherits many advanced features (e.g. flexible mix-fix syntax,powerful and clear typing system with ordered sorts, parameteric modules and views for instantiating the parameters, and module expressions, etc.) from OBJ (or more exactly OBJ3) algebraic specification language.

CafeOBJ is a language for writing formal (i.e. mathematical) specifications of models for wide varieties of software and systems, and verifying properties of them. CafeOBJ implements equational logic by rewriting and can be used as a powerful interactive theorem proving system. Specifiers can write proof scores also in CafeOBJ and doing proofs by executing the proof scores.

CafeOBJ has state-of-art rigorous logical semantics based on institutions. The CafeOBJ cube shows the structure of the various logics underlying the combination of the various paradigms implemented by the language. Proof scores in CafeOBJ are also based on institution based rigorous semantics, and can be constructed using a complete set of proof rules.


  • Algebraic specifications and Functional programming with CafeOBJ - Lecturer Norbert Preining JAIST, Research Center for Software Verification, Japan Place/Time Mathematical Software and Free Documents XXI 2015-09-12, Kyoto, Japan. Abstract CafeOBJ is an algebraic specification language based on equational order-sorted logic, which incorporates rewriting logic and hidden algebras. What sets it apart from other specification languages is that it is also executable, means that […]
  • Getting CafeOBJ via MacPorts - I have finally finished the Portfile for CafeOBJ, which allows users to install CafeOBJ via the usual port command of MacPorts. For one needs to add our local source (which only ships CafeOBJ port), but I hope to get the port into the standard distribution soon. Necessary steps: Add the following line to your MacPorts […]
  • Zick-zacking through the CafeOBJ’s vegetable garden - Lecturer Norbert Preining JAIST, Research Center for Software Verification, Japan Place/Time 43rd TRS Meeting 2015-09-09, Morioka, Japan. Abstract We are exploring a variety of topic related to CafeOBJ: History and background, symbolic calculations and polynoms, computation and exact reals, liveness properties for state machine based specifications, and news from CITP/CafeOBJ, the Constructor based inductive theorem […]
  • A Maude environment for CafeOBJ - Lecturer Adrián Riesco Rodríguez Universidad Complutense de Madrid DSIC (Departamento de Sistemas Informáticos y Computación), Madrid, Spain Place/Time JAIST IS school seminar room 9F 2015/08/27 (Thu) 14:00 to 17:00 Abstract CafeOBJ and Maude are sister languages of the OBJ language, and two of the most advanced formal specification languages for systems verification. Although both of […]
  • Intro to CafeOBJ in English and Japanese - Thanks to Takahiro Seino there is now an introduction to CafeOBJ targeting beginners. This introduction is available in both English and Japanese. I have added links to the Introduction on the Documentation Page and in the Documentation menu. Thanks to Seino-san for his contribution.