ArticleslgStudy

science

XSB

XSB is a 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 XSB rather than just read about it. In short: XSB is the name of a dialect of the Prolog programming language and its implementation developed at Stony Brook University in collaboration with the Katholieke Universiteit Leuven, the New University of Lisbon, Uppsala University and software vendor XSB, Inc. XSB extends Prolog with tabled resolution and HiLog.

Key takeaways

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

Reference excerpt

XSB is the name of a dialect of the Prolog programming language and its implementation developed at Stony Brook University in collaboration with the Katholieke Universiteit Leuven, the New University of Lisbon, Uppsala University and software vendor XSB, Inc. XSB extends Prolog with tabled resolution and HiLog.

Features XSB is a compiled dialect of Prolog based on the Warren Abstract Machine. Unlike systems derived from Quintus, XSB uses a module system based on Prolog atoms. It features tabled resolution and supports the HiLog language (permitting limited higher-order logic programming). Tabling enables XSB to implement the well-founded semantics and makes it suitable as a deductive database engine. The open source XSB implementation includes an interface to the Python programming language.

History XSB was originally developed at Stony Brook University by David S. Warren, Theresa Swift, and Kostis Sagonas and launched in 1993-4. It was based on the SB-Prolog language that was also developed at Stony Brook University in 1986, and it was the first implementation of tabled resolution.

Syntax XSB supports the ISO-mandated Prolog data types such as integers, floating point numbers, and atoms. Integers in XSB can be interpreted in multiple bases. By default integers are interpreted in base 10 but can be interpreted in a range of bases from 2 to 36.

See also Comparison of Prolog implementations Prolog syntax and semantics

References

Further reading Warren, David (2020). Programming in Tabled Prolog (PDF) (Draft ed.). Swift, Terrance; Warren, David S. (2012). "XSB: Extending Prolog with Tabled Logic Programming". Theory and Practice of Logic Programming. 12 (1–2): 157–187. arXiv:1012.5123. doi:10.1017/S1471068411000500. ISSN 1471-0684. S2CID 6153112.

External links XSB on SourceForge xsb git repo Information on Stony Brook Prolog

Worked examples

Example 1 — a first encounter with XSB

Start with the simplest possible case. Write down what XSB claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In 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 XSB 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 XSB 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 XSB

In research
XSB appears in 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 XSB 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
XSB is common in secondary-school and first-year university syllabi. It links to neighbouring topics Programming language topic stubs, Prolog programming language family, so understanding it makes those chapters shorter.
In everyday life
Look for XSB 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.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “XSB” →

Affiliate

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

How to study XSB in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what XSB 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 XSB out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is XSB in simple terms?

XSB is the name of a dialect of the Prolog programming language and its implementation developed at Stony Brook University in collaboration with the Katholieke Universiteit Leuven, the New University of Lisbon, Uppsala University and software vendor XSB, Inc. XSB extends Prolog with tabled resoluti…

Why does XSB matter?

Because it connects several 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 XSB?

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 XSB.

Tags

  • Programming language topic stubs
  • Prolog programming language family

Keep exploring