Holonomic constraints
In classical mechanics, holonomic constraints are relations between the position variables (and possibly time) that can be expressed in the following form: where formula_2 are the "n" generalized coordinates that describe the system. For example, the motion of a particle constrained to lie on the surface of a sphere is subject to a holonomic constraint, but if the particle is able to fall off the sphere under the influence of gravity, the constraint becomes non-holonomic. For the first case the holonomic constraint may be given by the equation: where formula_4 is the distance from the centre of  a sphere of radius formula_5, whereas the second non-holonomic case may be given by: Velocity-dependent constraints (also called semi-holonomic constraints) such as: are not usually holonomic. Holonomic system (physics). In classical mechanics a system may be defined as holonomic if all constraints of the system are holonomic. For a constraint to be holonomic it must be expressible as a function: i.e. a holonomic constraint depends only on the coordinates formula_9 and maybe time formula_10. It does not depend on the velocities or any higher-order derivative with respect to "t". A constraint that cannot be expressed  in the form shown above is a nonholonomic constraint. Introduction. As described above, a holonomic system is (simply speaking) a system in which one can deduce the state of a system by knowing only information about the change of "positions" of the components of the system over time, but "not" needing to know the velocity or in what order the components moved relative to each other. In contrast, a nonholonomic system is often a system where the velocities of the components over time must be known to be able to determine the change of state of the system, or a  system where a moving part is not able to be bound to a constraint surface, real or imaginary. Examples of holonomic systems are gantry cranes, pendulums, and robotic arms. Examples of nonholonomic systems are Segways, unicycles, and automobiles. Terminology. The configuration space formula_11 lists the displacement of the components of the system, one for each degree of freedom. A system that can be described using a configuration space is called scleronomic. The event space is identical to the configuration space except for the addition of a variable formula_10 to represent the change in the system over time (if needed to  describe the system). A system that must be described using an event space, instead of only a configuration space, is called rheonomic. Many systems can be described either scleronomically or rheonomically. For example, the total allowable motion of a pendulum can be described with a scleronomic constraint, but the motion over time of a pendulum must be described with a rheonomic constraint. The state space formula_15 is the configuration space, plus terms describing the velocity of each term in the configuration space. The state-time space adds time formula_10. Examples. Gantry crane. As shown on the right, a gantry crane  is an overhead crane that is able to move its hook in 3 axes as indicated by the arrows. Intuitively, we can deduce that the crane should be a holonomic system as, for a given movement of its components, it doesn't matter what order or velocity the components move: as long as the total displacement of each component from a given starting condition is the same, all parts and the system as a whole will end up in the same state. Mathematically we can prove this as such: We can define the configuration space of the system as: We  can say that the deflection of each component of the crane from its "zero" position are formula_20, formula_21, and formula_22, for the blue, green, and orange components, respectively. The orientation and placement of the coordinate system does not matter in whether a system is holonomic, but in this example the components happen to move parallel to its axes. If the origin of the coordinate system is at the back-bottom-left of the crane, then we can write the position constraint equation as: Where formula_24 is the height of the crane. Optionally, we may simplify to the standard form where  all constants are placed after the variables: Because we have derived a constraint equation in holonomic form (specifically, our constraint equation has the form formula_26 where formula_27), we can see that this system must be holonomic. Pendulum. As shown on the right, a simple pendulum is a system composed of a weight and a string. The string is attached at the top end to a pivot and at the bottom end to a weight. Being inextensible, the string’s length is a constant. This system is holonomic because it obeys the holonomic constraint where formula_29 is the position of the  weight and formula_30 is length of the string. Rigid body. The particles of a rigid body obey the holonomic constraint where formula_32, formula_33 are respectively the positions of particles formula_34 and formula_35, and formula_36 is the distance between them. If a given system is holonomic, rigidly attaching additional parts to components of the system in question cannot make it non-holonomic, assuming that the degrees of freedom are not reduced (in other words, assuming the configuration space is unchanged). Pfaffian form. Consider the following differential form of a constraint: where formula_38 are the coefficients of the differentials formula_39 for  the "i"th constraint equation. This form is called the Pfaffian form or the differential form. If the differential form is integrable, i.e., if there is a function formula_40 satisfying the equality then this constraint is a holonomic constraint; otherwise, it is nonholonomic. Therefore, all holonomic and some nonholonomic constraints can be expressed using the differential form. Examples of nonholonomic constraints that cannot be expressed this way are those that are dependent on generalized velocities. With a constraint equation in Pfaffian form, whether the constraint is holonomic or nonholonomic depends on whether the Pfaffian form is integrable. See Universal test  for holonomic constraints below for a description of a test to verify the integrability (or lack of) of a Pfaffian form constraint. Universal test for holonomic constraints. When the constraint equation of a system is written in Pfaffian constraint form, there exists a mathematical test to determine whether the system is holonomic. For a constraint equation, or formula_42 sets of constraint equations (note that variable(s) representing time can be included, as from above formula_43 and formula_44 in the following form): we can use the test equation: where: In other words, a system of three variables would have to be tested  once with one test equation with the terms formula_48 being terms formula_49 in the constraint equation (in any order), but to test a system of four variables the test would have to be performed up to "four" times with four different test equations, with the terms formula_48 being terms formula_49, formula_52, formula_53, and formula_54 in the constraint equation (each in any order) in four different tests. For a system of five variables, "ten" tests would have to be performed on a holonomic system to verify that fact, and for a system of five variables with three sets of constraint equations , "thirty" tests (assuming a simplification like a change-of-variable could not be performed to reduce that number). For this reason, it is advisable when using this method on systems of more than three variables to use common sense as to whether the system in question is holonomic, and only pursue testing if the system likely is not. Additionally, it is likewise best to use mathematical intuition to try to predict which test would fail first and begin with that one, skipping tests at first that seem likely to succeed. If every test equation is true for the entire set  of combinations for all constraint equations, the system is holonomic. If it is untrue for even one test combination, the system is nonholonomic. Example. Consider this dynamical system described by a constraint equation in Pfaffian form. The configuration space, by inspection, is formula_56. Because there are only three terms in the configuration space, there will be only one test equation needed. We can organize the terms of the constraint equation as such, in preparation for substitution: Substituting the terms, our test equation becomes: After calculating all partial derivatives, we get: Simplifying, we find that: We see that our test equation  is true, and thus, the system must be holonomic. We have finished our test, but now knowing that the system is holonomic, we may wish to find the holonomic constraint equation. We can attempt to find it by integrating each term of the Pfaffian form and attempting to unify them into one equation, as such: It's easy to see that we can combine the results of our integrations to find the holonomic constraint equation: where C is the constant of integration. Constraints of constant coefficients. For a given Pfaffian constraint where every coefficient of every differential is a constant , in other words, a constraint in the form: the constraint must be holonomic. We may prove this as follows: consider a system of constraints in Pfaffian form where every coefficient of every differential is a constant, as described directly above. To test whether this system of constraints is holonomic, we use the universal test. We can see that in the test equation, there are three terms that must sum to zero. Therefore, if each of those three terms in every possible test equation are each zero, then all test equations are true and this the system is holonomic. Each term  of each test equation is in the form: where: Additionally, there are formula_42 sets of test equations. We can see that, by definition, all formula_86 are constants. It is well-known in calculus that any derivative (full or partial) of any constant is formula_87. Hence, we can reduce each partial derivative to: and hence each term is zero, the left side each test equation is zero, each test equation is true, and the system is holonomic. Configuration spaces of two or one variable. Any system that can be described by a Pfaffian constraint and has a configuration space or state  space of only two variables or one variable is holonomic. We may prove this as such: consider a dynamical system with a configuration space or state space described as: if the system is described by a state space, we simply say that formula_81 equals our time variable formula_10. This system will be described in Pfaffian form: with formula_42 sets of constraints. The system will be tested by using the universal test. However, the universal test requires three variables in the configuration or state space. To accommodate this, we simply add a dummy variable formula_94 to the configuration or state space  to form: Because the dummy variable formula_94 is by definition not a measure of anything in the system, its coefficient in the Pfaffian form must be formula_87. Thus we revise our Pfaffian form: Now we may use the test as such, for a given constraint formula_42 if there are a set of constraints: Upon realizing that :formula_101 because the dummy variable formula_94 cannot appear in the coefficients used to describe the system, we see that the test equation must be true for all sets of constraint equations and thus the system must be holonomic. A similar proof can be  conducted with one actual variable in the configuration or state space and two dummy variables to confirm that one-degree-of-freedom systems describable in Pfaffian form are also always holonomic. In conclusion, we realize that even though it is possible to model nonholonomic systems in Pfaffian form, any system modellable in Pfaffian form with two or fewer degrees of freedom (the number of degrees of freedom is equal to the number of terms in the configuration space) must be holonomic. Important note: realize that the test equation failed because the dummy variable, and hence the dummy differential included in  the test, will differentiate anything that is a function of the actual configuration or state space variables to formula_87. Having a system with a configuration or state space of: and a set of constraints where one or more constraints are in the Pfaffian form: does "not" guarantee the system is holonomic, as even though one differential has a coefficient of formula_87, there are still three degrees of freedom described in the configuration or state space. Transformation to independent generalized coordinates. The holonomic constraint equations can help us easily remove some of the dependent variables in our system. For example, if  we want to remove formula_107, which is a parameter in the constraint equation formula_108, we can rearrange the equation into the following form, assuming it can be done, and replace the formula_107 in every equation of the system using the above function. This can always be done for general physical systems, provided that the derivative of formula_108 is continuous, then by the implicit function theorem, the solution formula_112, is guaranteed in some open set. Thus, it is possible to remove all occurrences of the dependent variable formula_107. Suppose that a physical system has formula_114 degrees of freedom. Now, formula_24 holonomic  constraints are imposed on the system. Then, the number of degrees of freedom is reduced to formula_116. We can use formula_117 independent generalized coordinates (formula_118) to completely describe the motion of the system. The transformation equation can be expressed as follows: Classification of physical systems. In order to study classical physics rigorously and methodically, we need to classify systems. Based on previous discussion, we can classify physical systems into holonomic systems and non-holonomic systems. One of the conditions for the applicability of many theorems and equations is that the system must be a holonomic system. For example, if a  physical system is a holonomic system and a monogenic system, then Hamilton's principle is the necessary and sufficient condition for the correctness of Lagrange's equation.