1. First Steps
The package is named cslib-frontier, and its modules begin with CslibFrontier. and mirror
CSLib's layout. import CslibFrontier imports the whole library, which is convenient for exploring
but slow to load; a development imports the modules it uses. Each module's documentation lists its
main definitions and results, with references.
Declarations use CSLib's namespaces. Turing machines, encodings and polynomial-time computability
live under Turing, and complexity classes, problems and reductions under Cslib.Complexity.
For example, this chapter imports CslibFrontier.Computability.Complexity.Classes.NP, which defines
the class Cslib.Complexity.NP in terms of
Turing.MultiTapeTM.ComputableInPolyTime:
#check @Cslib.Complexity.NP
To find a declaration, search the API documentation. In this guide, hovering over a name shows its type and docstring, and clicking it opens its entry there.