ArticleslgStudy

computer science

Subsumption lattice

Subsumption lattice is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Subsumption lattice rather than just read about it. In short: A subsumption lattice is a mathematical structure used in the theoretical background of automated theorem proving and other symbolic computation applications. Definition A term t1 is said to subsume a term t2 if a substitution σ exists such that σ applied to t1 yields t2.

Subsumption lattice — main illustration
Subsumption lattice — illustration

Key takeaways

  • Subsumption lattice belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Subsumption lattice to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Subsumption lattice from memory before moving on to harder problems.

Reference excerpt

A subsumption lattice is a mathematical structure used in the theoretical background of automated theorem proving and other symbolic computation applications.

Definition A term t1 is said to subsume a term t2 if a substitution σ exists such that σ applied to t1 yields t2. In this case, t1 is also called more general than t2, and t2 is called more specific than t1, or an instance of t1. The set of all (first-order) terms over a given signature can be made a lattice over the partial ordering relation "... is more specific than ..." as follows:

consider two terms equal if they differ only in their variable naming, add an artificial minimal element Ω (the overspecified term), which is considered to be more specific than any other term. This lattice is called the subsumption lattice. Two terms are said to be unifiable if their meet differs from Ω.

Properties

The join and the meet operation in this lattice are called anti-unification and unification, respectively. A variable x and the artificial element Ω are the top and the bottom element of the lattice, respectively. Each ground term, i.e. each term without variables, is an atom of the lattice. The lattice has infinite descending chains, e.g. x, g(x), g(g(x)), g(g(g(x))), ..., but no infinite ascending ones. If f is a binary function symbol, g is a unary function symbol, and x and y denote variables, then the terms f(x,y), f(g(x),y), f(g(x),g(y)), f(x,x), and f(g(x),g(x)) form the minimal non-modular lattice N5 (see Pic. 1); its appearance prevents the subsumption lattice from being modular and hence also from being distributive. The set of terms unifiable with a given term need not be closed with respect to meet; Pic. 2 shows a counter-example. Denoting by Gnd(t) the set of all ground instances of a term t, the following properties hold:

t equals the join of all members of Gnd(t), modulo renaming, t1 is an instance of t2 if and only if Gnd(t1) ⊆ Gnd(t2), terms with the same set of ground instances are equal modulo renaming, if t is the meet of t1 and t2, then Gnd(t) = Gnd(t1) ∩ Gnd(t2), if t is the join of t1 and t2, then Gnd(t) ⊇ Gnd(t1) ∪ Gnd(t2).

'Sublattice' of linear terms

The set of linear terms, that is of terms without multiple occurrences of a variable, is a sub-poset of the subsumption lattice, and is itself a lattice. This lattice, too, includes N5 and the minimal non-distributive lattice M3 as sublattices (see Pic. 3 and Pic. 4) and is hence not modular, let alone distributive. The meet operation yields always the same result in the lattice of all terms as in the lattice of linear terms. The join operation in the all terms lattice yields always an instance of the join in the linear terms lattice; for example, the (ground) terms f(a,a) and f(b,b) have the join f(x,x) and f(x,y) in the all terms lattice and in the linear terms lattice, respectively. As the join operations do not in general agree, the linear terms lattice is not properly speaking a sublattice of the all terms lattice. Join and meet of two proper linear terms, i.e. their anti-unification and unification, corresponds to intersection and union of their path sets, respectively. Therefore, every sublattice of the lattice of linear terms that does not contain Ω is isomorphic to a set lattice, and hence distributive (see Pic. 5).

Origin Apparently, the subsumption lattice was first investigated by Gordon D. Plotkin, in 1970.

References

Illustrations

Subsumption lattice: Pic. 1: Non-modular sublattice N5 in subsumption lattice
Pic. 1: Non-modular sublattice N5 in subsumption lattice
Subsumption lattice: Pic. 2: Part of the subsumption lattice showing that the terms f(a,x), f(x,x), and f(x,c) are pairwise unifiable, but not simultaneously. (f omitted for brevity.)
Pic. 2: Part of the subsumption lattice showing that the terms f(a,x), f(x,x), and f(x,c) are pairwise unifiable, but not simultaneously. (f omitted for brevity.)
Subsumption lattice: Pic. 5: Distributive sublattice of linear terms
Pic. 5: Distributive sublattice of linear terms
Subsumption lattice: Pic. 4: M3 built from linear terms
Pic. 4: M3 built from linear terms
Subsumption lattice: Pic. 3: N5 built from linear terms
Pic. 3: N5 built from linear terms

Worked examples

Example 1 — a first encounter with Subsumption lattice

Start with the simplest possible case. Write down what Subsumption lattice claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Subsumption lattice before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Subsumption lattice ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Subsumption lattice

In research
Subsumption lattice appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Subsumption lattice in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Subsumption lattice is common in secondary-school and first-year university syllabi. It links to neighbouring topics Lattice theory, Unification (computer science), so understanding it makes those chapters shorter.
In everyday life
Look for Subsumption lattice outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Subsumption lattice in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Subsumption lattice means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Subsumption lattice out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Subsumption lattice in simple terms?

A subsumption lattice is a mathematical structure used in the theoretical background of automated theorem proving and other symbolic computation applications. Definition A term t1 is said to subsume a term t2 if a substitution σ exists such that σ applied to t1 yields t2.

Why does Subsumption lattice matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Subsumption lattice?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Subsumption lattice.

Tags

  • Lattice theory
  • Unification (computer science)

Keep exploring