The Orbital library is a class library providing object-oriented representations and algorithms for logic, mathematics and artificial intelligence. It comprises theorem proving, computer algebra, search and planning, as well as machine learning algorithms.

Especially promising contents are logical functor compositions and their mathematical counterpart with numerical and symbolic mathematics, as well as functional evaluation and several algorithmic templates including search and planning. Further, there are implementations of different logics and automated theorem proving systems.

### These packages include:

• Logic
1. A generic framework for logical systems. It includes implementations for classical logic and fuzzy logic. The classical logic part also supports an automated theorem prover based on resolution and Davis-Putnam-Loveland algorithm. Note that this is a framework in the sense of logic, but not in the sense of software architecture. Therefore it provides you with all logical operations without restricting the architecture of your application.
2. Term rewrite sytem facility achieved with fixed point operations of term unification and substitution.
3. A parser for logical and mathematical expressions including λ-operator notation of λ-calculus.
4. Amonst other things supports classical logic resolution, fast propositional Davis-Putnam-Loveland inference, modal logic, fuzzy logic, Robinson unification etc.
• Mathematics
1. Functional evaluation and recursive composition schemes with functor interfaces and function notation classes.
2. Mathematical, symbolic, numerical, and statistical algorithms, and conceptual representation interfaces for mathematics.
3. Computer algebra based on Arithmetic objects with uniform mathematical operations like +, -, *, /, ^. This enables us to use a uniform calculation with various arithmetic implementation objects. Those implementations include tensors, matrices, vectors, and scalar types like integers, rationals, real and complex numbers, (multivariate) polynomials, quotients, and fractions. Even full symbolic calculations, also combined with modulo calculations are possible. For example, quotients of multivariate polynomials rely on Groebner bases.
4. Mathematical functions are generalized to fit the requirements of functional operations and allow symbolic derivation and sometimes integration. They extend the basic logical functors to maximize compatibility. Additionally, mathematical functions can be handled like arithmetic objects whenever this more general view is of advantage. For example, you can simple subtract functions from one another.
5. Amonst other things supports LU, Choleksy, cg, splines, interpolation, numeric integration, Groebner bases, CRT, gcd, basic descriptive statistics, regression, trigonometrics, sinh, arsinh, etc.
• Algorithms
1. Several algorithmic templates are provided that are extremely helpful for rapid prototyping. Those algorithmic templates also include several (about 15) important (blind and heuristic) state space search algorithms. Even some implementations of planning and machine learning algorithms have been provided. (Artificial Intelligence)
2. Algorithmic template frameworks including (about 5) implementations of evolutionary and genetic algorithms.
3. Amonst other things supports DFS (depth-first search), BrFS (breadth-first search), A*, WA*, IDA*, ID, IE, simulated annealing, hill-climbing, threshold accepting, B&B, parallel B&B, GSDP (Gauß-Seidel dynamic programming), RTDP (Real-Time Dynamic Programming), incremental and steady-state genetic algorithms, concurrent genetic algorithms, etc.
• Utilities
1. A generic board game abstraction framework, including α-β-pruning adversary search.
2. Graphical user interface (GUI) utilities and Java Beans, including a generic bean customizer for fully-automatic customization dialogues.
3. I/O-Extensions.
4. (lightweight 3D worlds vector graphics engine. Discontinued)
5. (Scanner&Parser base classes for simple parsing jobs. Discontinued)
6. some document encoding and formatting classes.
7. concurrent synchronous and asynchronous connectors that supports a programming style with coroutines.