Rewriting systems | Type theory | Automated theorem proving | Logic in computer science | Unification (computer science) | Logic programming

Unification (computer science)

In logic and computer science, unification is an algorithmic process of solving equations between symbolic expressions. Depending on which expressions (also called terms) are allowed to occur in an equation set (also called unification problem), and which expressions are considered equal, several frameworks of unification are distinguished. If higher-order variables, that is, variables representing functions, are allowed in an expression, the process is called higher-order unification, otherwise first-order unification. If a solution is required to make both sides of each equation literally equal, the process is called syntactic or free unification, otherwise semantic or equational unification, or E-unification, or unification modulo theory. A solution of a unification problem is denoted as a substitution, that is, a mapping assigning a symbolic value to each variable of the problem's expressions. A unification algorithm should compute for a given problem a complete and minimal substitution set, i.e., a set containing all of the problem's solutions and no redundant members. Depending on the framework, a complete and minimal substitution set may have at most one, at most finitely many, or possibly infinitely many members, or may not exist at all. In some frameworks it is generally impossible to decide whether any solution exists. For first-order syntactical unification, Martelli and Montanari gave an algorithm that reports unsolvability or computes a complete and minimal singleton substitution set containing the so-called most general unifier. For example, using x,y,z as variables, the singleton equation set { cons(x,cons(x,nil)) = cons(2,y) } is a syntactic first-order unification problem that has the substitution { x ↦ 2, y ↦ cons(2,nil) } as its only solution.The syntactic first-order unification problem { y = cons(2,y) } has no solution over the set of finite terms; however, it has the single solution { y ↦ cons(2,cons(2,cons(2,...))) } over the set of infinite trees.The semantic first-order unification problem { a⋅x = x⋅a } has each substitution of the form { x ↦ a⋅...⋅a } as a solution in a semigroup, i.e. if (⋅) is considered associative; the same problem, viewed in an abelian group, where (⋅) is considered also commutative, has any substitution at all as a solution.The singleton set { a = y(x) } is a syntactic second-order unification problem, since y is a function variable.One solution is { x ↦ a, y ↦ (identity function) }; another one is { y ↦ (constant function mapping each value to a), x ↦ (any value) }. A unification algorithm was first discovered by Jacques Herbrand, while a first formal investigation can be attributed to John Alan Robinson, who used first-order syntactical unification as a basic building block of his resolution procedure for first-order logic, a great step forward in automated reasoning technology, as it eliminated one source of combinatorial explosion: searching for instantiation of terms. Today, automated reasoning is still the main application area of unification.Syntactical first-order unification is used in logic programming and programming language type system implementation, especially in Hindley–Milner based type inference algorithms.Semantic unification is used in SMT solvers, term rewriting algorithms and cryptographic protocol analysis.Higher-order unification is used in proof assistants, for example Isabelle and Twelf, and restricted forms of higher-order unification (higher-order pattern unification) are used in some programming language implementations, such as lambdaProlog, as higher-order patterns are expressive, yet their associated unification procedure retains theoretical properties closer to first-order unification. (Wikipedia).

Unification (computer science)
Video thumbnail

Is the search for a unified theory driven by the urge to find mathematical beauty?

Subscribe to our YouTube Channel for all the latest from World Science U. Visit our Website: http://www.worldscienceu.com/ Like us on Facebook: https://www.facebook.com/worldscienceu Follow us on Twitter: https://twitter.com/worldscienceu

From playlist Science Unplugged: Grand Unification

Video thumbnail

Computer Science Terminology

Learn computer science terminology. We'll take a dive into understanding some of the terms used in computer science and software development. The video starts with the basics and then gets more advanced. Video from Forrest Knight. Check out his channel: https://www.youtube.com/channel/UC

From playlist Computer Science Concepts

Video thumbnail

Is the search for a unified theory really a search for the Theory of Everything?

Subscribe to our YouTube Channel for all the latest from World Science U. Visit our Website: http://www.worldscienceu.com/ Like us on Facebook: https://www.facebook.com/worldscienceu Follow us on Twitter: https://twitter.com/worldscienceu

From playlist Science Unplugged: Grand Unification

Video thumbnail

Teach Astronomy - Unification

http://www.teachastronomy.com/ Unification is the idea that the four fundamental forces of nature are all manifestations of some simple unified super force. On the face of it, this seems unlikely. The four fundamental forces span a range in strength of a factor of ten to the power forty.

From playlist 24. Chemistry and Context for Life

Video thumbnail

COMPUTER SCIENCE TERMINOLOGY

Welcome to part one of computer science terminology, where we take a dive into understanding some of the terms used in computer science and software development. We've started with the basics and will continue to get more complex as this series progresses. --------------------------------

From playlist Computer Science

Video thumbnail

Conquering Math as a Computer Science Student

Math is one of the most important aspects of your Computer Science Degree. Let's discuss how to get better at math, what math is related to computer science, and a few theoretical and practical examples on how to improve your math skills during college. MIT Math for CS YouTube —- https://

From playlist Computer Science

Video thumbnail

Linear Algebra for Computer Scientists. 7. Linear Combinations of Vectors

This computer science video is one of a series on linear algebra for computer scientists. In this video you will learn about linear combinations of vectors, that is, you will learn how to create new vectors by scaling then adding other vectors together. You will also learn that some sets

From playlist Linear Algebra for Computer Scientists

Video thumbnail

Logic 8 - First Order Modus Ponens | Stanford CS221: Artificial Intelligence (Autumn 2021)

For more information about Stanford's Artificial Intelligence professional and graduate programs visit: https://stanford.io/ai Associate Professor Percy Liang Associate Professor of Computer Science and Statistics (courtesy) https://profiles.stanford.edu/percy-liang Assistant Professor

From playlist Stanford CS221: Artificial Intelligence: Principles and Techniques | Autumn 2021

Video thumbnail

23 Algebraic system isomorphism

Isomorphic algebraic systems are systems in which there is a mapping from one to the other that is a one-to-one correspondence, with all relations and operations preserved in the correspondence.

From playlist Abstract algebra

Video thumbnail

Key Radio Unification Steps Before 1980 and Some Related Recent Radio Observations by A. Readhead

Extragalactic Relativistic Jets: Cause and Effect PROGRAM LINK: www.icts.res.in/program/ERG2015 DATES: Monday 12 Oct, 2015 - Tuesday 20 Oct, 2015 VENUE: Ramanujan Lecture Hall, ICTS Bangalore DESCRIPTION : Active Galactic Nuclei (AGN) are the luminous centers of galaxies that are belie

From playlist Extragalactic Relativistic Jets: Cause and Effect

Video thumbnail

Is There One All Powerful SUPERFORCE Controlling The Universe?

Researched and Written by Leila Battison Narrated and Edited by David Kelly Thumbnail Art by Ettore Mazza If you like our videos, check out Leila's Youtube channel: https://www.youtube.com/channel/UCXIk7euOGq6jkptjTzEz5kQ Music from Silver Maple, Epidemic Sound and Artlist. Stock foota

From playlist The Entire History of the Universe

Video thumbnail

WSU Master Class: The Past and Future of Unification with Robbert Dijkgraaf

Subscribe to our YouTube Channel for all the latest from World Science U. Visit our Website: http://www.worldscienceu.com/ Like us on Facebook: https://www.facebook.com/worldscienceu Follow us on Twitter: https://twitter.com/worldscienceu

From playlist WSU Master Class

Video thumbnail

Ravi Vakil: Algebraic geometry and the ongoing unification of mathematics

Abstract: I will try to share a glimpse of this strange unification of many different ideas. This talk is aimed at a general audience, and no particular background will be assumed. When we look carefully at nature, we can discover surprising coincidences, which suggest deeper underlying s

From playlist Popular presentations

Video thumbnail

Logic 9 - First Order Resolution | Stanford CS221: AI (Autumn 2021)

For more information about Stanford's Artificial Intelligence professional and graduate programs visit: https://stanford.io/ai Associate Professor Percy Liang Associate Professor of Computer Science and Statistics (courtesy) https://profiles.stanford.edu/percy-liang Assistant Professor

From playlist Stanford CS221: Artificial Intelligence: Principles and Techniques | Autumn 2021

Video thumbnail

27c3: Hackers and Computer Science (en)

Speaker: Sergey Although most academics and industry practitioners regard "hacking" as mostly ad-hoc, a loose collection of useful tricks essentially random in nature, I will argue that hacking has in fact become a "distinct research and engineering discipline" with deep underlying engine

From playlist 27C3: We come in peace

Video thumbnail

Opening Address: Injecting Computation Everywhere

Conrad Wolfram To learn more about the Wolfram Technologies, visit http://www.wolfram.com The European Wolfram Technology Conference featured both introductory and expert sessions on all major technologies and many applications made possible with Wolfram technology. Learn to achieve ins

From playlist European Wolfram Technology Conference 2015

Video thumbnail

Collider Physics from the Bottom Up - Nima Arkani-Hamed

Prospects in Theoretical Physics Particle Physics at the LHC and Beyond Topic: Collider Physics from the Bottom Up Speaker: Nima Arkani-Hamed Date: July 21th, 2017

From playlist PiTP 2017

Video thumbnail

Stanford Seminar - On the Origin of Experience: The Shaping of Sense and the Complex World

"On the Origin of Experience: The Shaping of Sense and the Complex World" -Steven Ericsson-Zenith Colloquium on Computer Systems Seminar Series (EE380) presents the current research in design, implementation, analysis, and use of computer systems. Topics range from integrated circuits to

From playlist Engineering

Video thumbnail

Integration 6 The Fundamental Theorem of Calculus

Explanation of the fundamental theorem of calculus in an easy to understand way.

From playlist Integration

Related pages

Free theory | Parametric polymorphism | Power set | Resolution (logic) | Algebraic specification | Undecidable problem | Free object | Logic programming | Substitution (logic) | Jacques Herbrand | Tautology (logic) | Lambda calculus | Rewriting | Identity function | Type inference | Kripke semantics | Equation solving | Congruence closure | Handbook of Automated Reasoning | Semigroup | Twelf | Modal algebra | Tree (set theory) | Cons | Term (logic) | Expression (mathematics) | Epigram (programming language) | Equation | Sentence (mathematical logic) | Type system | Commutative property | Function (mathematics) | Boolean ring | Singleton (mathematics) | Constant function | Template (C++) | Admissible rule | Directed acyclic graph | Automated reasoning | Equivalence relation | Prolog | Subsumption lattice | Anti-unification (computer science) | First-order logic | Explicit substitution | Abelian group | Occurs check | Dis-unification (computer science) | ΛProlog | Commutative ring