If an investigated object in an Artificial Intelligence problem is regarded as a set of its elements and is characterized by properties of these elements and relations between them, then a predicate calculus language is an adequate one for the description of an object and classes of objects. Such a way formalized problems are NP-complete or NP-hard. Example of such an NP-hard problem is the problem of the analysis of a complex object presented as a set of its elements and described by a set of atomic formulas with the predicates setting properties of these elements and relation between them. To solve such a problem, a problem of extraction of a maximal common up to the names of variables sub-formula of two elementary conjunctions of atomic predicate formulas is under consideration in the paper. Extraction of these subformulas allows us to reduce a recognition problem to a series of analogous problems with the less input data length by means of construction a level description of classes, which essentially decreases an exponent in the exponential upper bound for a number of solution algorithm steps for NP-hard problem of checking whether an object belongs to this class. An algorithm of extraction of a maximal common up to the names of variables sub-formula of two elementary conjunctions of atomic predicate formulas is presented in the paper. Bounds on number of the algorithm run number of steps are proved. The time of its implementation in dependence on the input data structure is analyzed. The analysis of the number of algorithm steps shows that the proposed algorithm may be successfully implemented in order to decrease computational complexity of many Artificial Intelligence problems which are formalized by means of predicate calculus. The results of numerical experiments show the influence of input data structure on the algorithm run time. For example, the increasing of amount of predicate arguments involves essential decreasing of the algorithm run time, which is a consequence of the recursion depth decreasing. The number of different predicate symbols occurred in the formula notation also essentially influences on the algorithm run time. At larger input data the effectiveness of the offered algorithm, cutting obviously unsuccessful “brunches”, is especially noticeable. The strong impact on the algorithm run time is exerted by distribution of variables as arguments of predicates. Results show its considerable decreasing at a nonuniform distribution of variables. During the described algorithm run a problem of checking the coincidence up to the names of variables (isomorphism) of two elementary conjunctions appears. This problem has the greatest computational complexity among the other problems arising on other steps of the algorithm. A polynomial algorithm of checking whether two elementary conjunctions of atomic predicate formulas coincide up to the names of variables (are isomorphic) is offered. The algorithm is not a precise one. The correctness of this algorithm implementation exceeds 99,5%. It is proved that if the algorithm gives a negative answer then the formulas are not isomorphic. If the algorithm gives a positive answer then the results of numerical experiments show that 99,5% pairs of formulas are isomorphic. Refs 14. Tables 2.