  Since the advent of LISP, the fifth generation programming language has
developed for decades. However, compared with the fourth generation programming
language, the fifth generation programming language has not been widely used
because of its obscure semantics, rigorous representation of problems, and
limited inference ability. For this reason, COOL (Constraint and Object Ordered
Language), a fifth generation programming language proposed in this paper,
overcomes the problems of intuitive semantics, rigorous restrictions on
handling problem conditions, and improves the inference ability of previous
fifth generation programming languages. Specific improvements are as follows:
First, COOL supports process-oriented and object-oriented for easy application
in production projects; Second, COOL supports expression as function
declaration and function return, which improves language affinity for
mathematical formulas, and supports embedding function parameters into function
name strings to make function naming closer to natural languages. Make
mathematical problems easier to describe; Third, COOL introduces a weighting
mechanism and accelerates the inference process through cumulative weighting.
Fourth, COOL introduces the concepts of forward and reverse functions in
programming so that computers can infer and execute problems with logical
sequential constraints. Fifth, the computer can deduce the reverse solution
process by using the forward solution process through the back-tracking
algorithm and the dynamic programming algorithm, so that the computer can
deduce the problem with time-sequential constraints. Sixth, the pre-execution
step is introduced to separate the inference and function query process of the
program from the execution process, so as to improve the execution speed of the
program.
