CafeOBJ supports many useful built-in modules. For example, in the built-in module NAT for natural numbers, Arabic numerals like 16384 can be used instead of s(s(...(s(0))...))(*).
(*) NAT is useful for describing and verifying a system which uses natural numbers as a data type, however, it is not suitable for describing and verifying some property of the natural number itself.
Following built-in modules are included in CafeOBJ:
BOOL : Boolean algebraNAT : Natural numbers (e.g. 26)INT : Integers (e.g. -1)RAT : Rational numbers (e.g. 1/3)FLOAT : Floating numbers (e.g. 3.14159)CHARACTER : Characters (e.g. 'A')STRING : Strings (e.g. "abc")QID : Quoted identifiers ('abc)2TUPLE : 2-tuple3TUPLE : 3-tuple4TUPLE : 4-tupleTRIV : The trivial module, which includes only the sort Elt and denotes a set.Use the show command to show the detail of each built-in module:
Original Copyright © Takahiro Seino, all rights reserved.