Physics Derivation Graph navigation Sign in

This page provides an overview of the Physics Derivation Graph project. No prior background on this project is assumed. General knowledge of Physics and Mathematics at the first year college level is assumed.


  1. About the project
  2. Context
  3. [key jargon] Expressions
  4. [key jargon] Inference Rules
  5. [key jargon] Feeds
  6. Example 1: Single Derivation Step
  7. Example 2: Derivation with Multiple Steps
  8. Graph content
  9. Physics Topics
  10. Adding or modifying content
  11. Use cases
    1. Education in Math and Physics
    2. Documenting Scientific Progress in Articles
    3. Education Curriculum Design


There are two primary ways a user can interact with the Physics Derivation Graph:

Before those are described in more detail at the bottom of this page, a background of the project is provided.


About the project

The Physics Derivation Graph is an effort to document knowledge about mathematical physics.

The project uses free and open source software (see dependencies) and the content is free and open source. This content is free because it is intended to be accessible to anyone; cost should not be a barrier to access. The content is open source so that other researchers can build upon what exists. There is no intent to profit from the work.



Prior to the use of computers, knowledge about physics has been recorded in the form of notes, letters, journal articles, and text books. The content is typically composed of text, equations, and pictures. The presentation is in a linear sequence, though references are often made to link the current section with previous sections and later sections.

A recent addition to the toolset for capturing knowledge has been the use of linked webpages. A primary example of this is Wikipedia, an HTML-based encyclopedia. Webpages such as Wikipedia still use text, equations, and pictures, but feature a novel capability: hyperlinks. Hypertext Markup Language offers the ability to connect content to any other content. This enables non-linear exploration of content, in contrast to a textbook which is designed to be read sequentially.

The Physics Derivation Graph applies the concept of non-linear documentation to mathematical physics content. Instead of starting from linear text with references, this project starts with the network of mathematical relations. A more formal term for this network is a graph composed of nodes and edges. The graph associated with the PDG has two essential types of nodes: mathematical expressions and inference rules.

A Physics-focused machine-oriented controlled natural language is defined by grammar and vocabulary. The jargon for concepts in the Physics Derivation Graph are related by the following graph:


Figure 1. Conceptual relations between jargon used in the Physics Derivation Graph.


Every mathematical expression is connected to an inference rule by a directed edge. No two expressions are directly connected without an inference rule, and no two inference rules are connected directly. An example is provided in the next section to illustrate the concepts.



Expressions are mathematical statements composed of symbols. Each expression has at least three components: a left-hand side (LHS), a primary operator, and a right-hand side (RHS). The primary operator is usually equality (\(=\)) or an inequality (e.g., \(\lt\) or \(\leq\)). Each expression appears only once in the Physics Derivation Graph.

The list of expressions used in the Physics Derivation Graph is intended to be comprehensive across Physics.

Inference Rules

Inference rules operate on expressions to produce new expressions. In the example, the inference rule between expressions \eqref{eq:period_and_freq} and \eqref{eq:freq_is_inverse_period} is "Divide both sides of first expression by a scalar value to yield the second expression."

Inference rules are necessary to perform derivations in physics, but have received little attention as they are typically left to the field of logic and mathematics. Inference rules are distinct from axioms, in that there is not a fundemental set of inference rules. An inference rule in the context of the Physics Derivation Graph is a subcategory of logical connectives, similar to "and therefore" in language. Inference rules in the Physics Derivation Graph include both rules of inference and rules of replacement. (The difference between the two is explained as "Whereas a rule of inference is always applied to a whole logical expression, a rule of replacement may be applied to only a particular segment." [source].) Inference rules are mechanical manipulations applied to the Abstract Syntax Trees of expressions.

One result of an education in mathematics is building a library of inference rules, though that is not the common description in the field of math education. In Physics, knowing that it is valid to multiply both sides of an expression by one is assumed to have been learned in a math course. In the math course, the inference rule of multiplying both sides of an expression by one is taught with the common explanation that students need that inference rule to solve the relevant problems provided in the class. One of the consequences of constructing the Physics Derivation Graph is the enumeration of inference rules necessary for Physics.

Inference rules for the Physics Derivation Graph are intended to meet a threshold -- can the computer algebra system validate that the claim is true? There is a balance between inference rules that are simple for a CAS to validate versus but onerous in number for a human user versus challenging for a CAS but efficient for humans to apply. Also, there are variations to a given inference rule that can lead to the same outcome; for example "add X to both sides of an expression" is the reverse of "subtract X from both sides of an expression," so really only one of these is necessary (by flipping the sign of the feed value). Thus another route to too many inference rules is the tension between redundancy and ease-of-use.

Inference rule have a few interesting properties, like the reversal just described. An inference rule, effectively a directed edge on the graph of expressions, can always be undone. (Addition and subtraction, multiplication and division, powers and roots, matrix multiplication and inversion, trigfunctions and arctrigfunctions, exponents and logs, integration and differentiation) Some inference rules are self-reversing, like "substitute X for Y in an expression." Lastly, some inference rules have a left/right symmetry: for the inference rule "substitute LHS of expr1 into expr2" there is also the symmetric version "substitute RHS of expr1 into expr2." This comes from the symmetric property of equality.

The list of inference rules used in the Physics Derivation Graph is intended to short enough to fit in a person's memory while also being sufficiently well-defined to be tested by Sympy.

Inference rules are useful for catching simple mistakes by CAS validation. Common mistakes include not carrying the negative symbol through a derivation or unintentionally dropping a term. The inference rules are atomic (simplest step possible) and first order -- they only relate nearest-neighbor expressions.

Reference to inference rules is made in Physics and Proof Theory by Paleo (2010); doi 10.1016/j.amc.2011.06.058


The inference rules take expressions as input and produce expressions as output. A second type of input for inference rules is the "feed." A feed is distinct from an expression. A feed may appear more than once in the Physics Derivation Graph. A feed does not have a primary operator like equality or inequality.


Example 1: Single Derivation Step

Derivations in Physics are composed of steps. Each step involves one inference rule and one or more expressions. In this section a single step is described to illustrate the relations between the jargon and standard practices in Phyiscs. The following is what might be presented in a textbook or online article:

Frequency \(f\) and period \(T\) are related by \begin{equation} T\ f = 1 \label{eq:period_and_freq} \end{equation} Thus, frequency in terms of the period is \begin{equation} f = 1/T \label{eq:freq_is_inverse_period} \end{equation} The relation between equations \eqref{eq:period_and_freq} and \eqref{eq:freq_is_inverse_period} is that both sides of \eqref{eq:period_and_freq} were divided by \(T\).

In the above example, three terms used in the Physics Derivation Graph are demonstrated. There are two mathematical expressions: \eqref{eq:period_and_freq} and \eqref{eq:freq_is_inverse_period}. These expressions are related by an inference rule: "Divide both sides of first expression by a scalar value to yield the second expression." This inference rule takes an argument, \(T\). An argument in this category is referred to in the Physics Derivation Graph as the feed to distinguish from the category of input expressions. The relation of these terms is shown graphically below in figure 1:

Figure 2. A derivation step represented as a directed graph. The colored node shapes are not an integral feature of the Physics Derivation Graph are are present in this figure only to distinguish the distinct categories of object. The directed graph is comprised of an input expression (top blue circle), an output expression (bottom blue circle), an inference rule (red trapazoid), and a feed (purple rectangle).


Example 2: Derivation with Multiple Steps

Here is a simple three step derivation:

An initial expression for this derivation is \(a = b\).
[The inference rule is "declare initial expression", there is no input expression, and the output expression is \(a = b\).]

Given the expression \(a = b\), add 2 to both sides to get \(a+2 = b+2 \).
[The inference rule is "add X to both sides", there is a feed value of 2 needed by the inference rule, the input expression is "a=b", and the output expression is \(a+2 = b+2\).]

A final expression in this derivation is \(a+2 = b+2 \).
[The inference rule is "declare final expression", the input expression is \(a+2 = b+2 \), and there is no output expression.]

Visually, that can be represented as a graph:

Figure 3. A three step derivation involving two expressions. In this rendering, the start of the derivation is at the bottom of the image. In this example, inference rules are blue trapazoids, expressions are black ovals, and feeds are red rectangles. As with figure 2, node shapes and colors are used here to distinguish categories of object and are not integral to the Physics Derivation Graph.


Graph content

The graph content takes the form of expressions (e.g., equations and inequalities), inference rules (relation between expressions), and feeds (arguments for the inference rule). The expressions and feeds are built from symbols. In example 1 provided above, the symbols are period \(T\), frequency \(f\), equality \(=\), division \(/\), (implicity) multiplication, and the numeric value 1. The two expressions are \eqref{eq:period_and_freq} and \eqref{eq:freq_is_inverse_period}. An inference rule is defined here as an atomic transformation of one expression to another. The inference rule being applied implicitly between \eqref{eq:period_and_freq} and \eqref{eq:freq_is_inverse_period} is "Divide both sides of first equation by a value to yield the second equation." This inference rule takes an argument (the "feed"), which in this example is \(T\).

The Physics Derivation Graph is a collection of derivations, with each derivation composed of one or more steps. Each step has one inference rule. An inference rule (like "Divide both sides of first equation by a value to yield the second equation") may appear many times in the Physics Derivation Graph. Similarly, feed values (like \(f\) in example 1) can appear more than once. In contrast to inference rules and feeds, each expression appears only once in the Physics Derivation Graph. This constraint is what leads to the connectedness of derivations in the graph. If multiple derivations reference \(1/T = f\), it is the same expression. Symbols are defined once for the entire Physics Derivation Graph.

Symbol re-use is common in science and is addressed in the PDG by the use of unique identifiers. For example, \(c\) is commonly used to represent the speed of light, but the same symbol is also used in the quadratic equation \begin{equation} a x^2+b x+c =0. \label{eq:quadratic} \end{equation} In \eqref{eq:quadratic}, \(c\) does not refer to the speed of light. This is distinguishable in the Physics Derivation Graph because the \(c\) referring to the speed of light has a different numeric identifier than the \(c\) used in \eqref{eq:quadratic}.

Each time an expression, symbol, or inference rule is used in a step in the PDG, the unique identifier is referenced. The referencing of unique node identifiers is what enables construction of the graph. For example, if \eqref{eq:period_and_freq} is used in two distinct derivations, the same expression is referenced. Similarly, when the symbol \(T\) is used in any derivation, the associated numeric identifier refers to period. The symbol \(T\) used in another context would have a different unique numeric identifier. This referencing of unique expressions, symbols, and inference rules is done using a numeric identifier (alphanumeric for inference rules). This uniqueness of expressions, symbols, and inference rules is the core utility of the Physics Derivation Graph. This results in no duplication and fixed references (a static directed graph). The Physics Derivation Graph is designed to show one instance of each expression, but feeds and inference rules may have duplicate node labels on the graph.


Physics Topics

The ability to document Physics requires coverage across all the domains of Physics (e.g., classical mechanics, quantum mechanics, relativity, thermodynamics, statistical mechanics). As a consequence, much of mathematics covered up to undergraduate level is likely to be required.


Adding or modifying content

The web interface serves as a way to add content to the database and includes supporting functions that make adding and editing content easier than manually editing the JSON file.

Adding content to the Physics Derivation Graph assumes experience with Latex and familiarity with the derivation being added.

The entrypoint for the use cases below is the navigation page, from which new derivations can be added.


Use cases

The Physics Derivation Graph is expected to be useful to multiple audiences and users. Viewers of the content could include students in math and physics, and analysis of the content could help shape curriculum. Contributors to the Physics Derivation Graph would be scientists who add new developments based on their work, or enthusiasts who convert published scientific literature into the Physics Derivation Graph database.

The entrypoint for the use cases below is the navigation page, from which steps, expressions, symbols, operators, and inference rules can be viewed.

Use case: Education in Math and Physics

Currently students in Math and Physics are taught content using lectures, textbooks, and homework. The method of presentation varies, but the pedagogic story is often historically driven. Algebra is old, calculus is newer, and topology is recent. Classical mechanics is old, thermodynamics is newer, and quantum mechanics is recent. When teaching, these subjects are taught by building on previous content -- calculus leverages algebra, thermodynamics leverages classical mechanics.

A role the Physics Derivation Graph can play in education is showing the relevance of what is being taught. The focus for students in mathematics classes is on the technique, e.g., "integrate both sides with respect to \(Y\)," and application is necessarily of secondary importance. Physics students are expected to know the mathematical techniques and teaching is focused on application. The Physics Derivation Graph can assist both scenarios. The student in a math class can see where the inference rules they learn are applied in Physics. The student in the Physics class can see which inference rules are required in their field.

Stakeholders for this use case:

How could the Physics Derivation Graph benefit teachers?
For Physics teachers, the Physics Derivation Graph could address questions like

For Math teachers, the Physics Derivation Graph could address questions like

How could the Physics Derivation Graph benefit students?
The mechanics of mathematical physics is the application of inference rules taught in math classes. In addition the questions relevant for instructors, for physics students the Physics Derivation Graph could address questions like

Math classes essentially teach a set of inference rules. For math students, the Physics Derivation Graph could address questions like

As an example, see Fundamental rules for physics mathematical derivations?

Use case: Documenting Scientific Progress in Articles

The Physics Derivation Graph provides a very detailed explanation of how complex derivations are carried out. It also explicitly enumerates the assumptions necessary to perform derivations. Imposing these requirements on researchers would require clear and significant benefit to both the individual researchers and the community.

Peer-reviewed journal articles are one of the current methods of demonstrating value in the scientific community. Conciseness is a feature of this writing style, and the mathematics presented is correspondingly sparse -- just sufficient to covey the author's intention. This results in a burden on the reader of the article, either to take the author's claims on faith, or to rederive the mathematical expressions. A reader's derivation is complicated by implicit assumptions made by the author and unintentional mistakes in calculation.

With journals allowing supplemental materials for articles, calculations could be included. However, it is not clear what the appropriate level of detail is in supplied calculations. The intention is to be able to reproduce the work, but validation via computer.

Stakeholders for this use case:

Use case: Education Curriculum Design

By measuring the frequency of a specific inference rule in the Physics Derivation Graph, the question "What is the relative importance of this math skill?" can be addressed.

In the Physics Derivation Graph, it is simple to count utilization of inference rules. Thus, we are able to measure the ratio of how often "multiply both sides by X" is used relative to "integrate both sides with respect to \(Y\)."