Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Install
Faster access than browser!
 

Logic programming

Index Logic programming

Logic programming is a type of programming paradigm which is largely based on formal logic. [1]

100 relations: Abductive logic programming, Abductive reasoning, Absys, Actor model, Air traffic control, Akinori Yonezawa, Alain Colmerauer, Algebraic Logic Functional programming language, Alonzo Church, And–or tree, Answer set programming, Association for Logic Programming, Atomic formula, Automated planning and scheduling, Automated theorem proving, Backward chaining, Bertram Raphael, Boolean satisfiability problem, Ciao (programming language), Circumscription (logic), Civil engineering, Closed-world assumption, Common sense, Concurrent computing, Concurrent constraint logic programming, Concurrent logic programming, Conjunctive normal form, Constraint logic programming, Constraint satisfaction problem, Datalog, Declarative programming, Digital electronics, Eugene Charniak, Event calculus, F-logic, Fifth generation computer, Flora-2, Formal grammar, Formal methods, Forward chaining, Fril, Functional programming, Fuzzy logic, Gödel (programming language), Gerald Jay Sussman, Guard (computer science), Higher-order logic, Higher-order programming, HiLog, Horn clause, ..., Indeterminacy in concurrent computation, Inductive logic programming, International Organization for Standardization, John Alan Robinson, John McCarthy (computer scientist), Knowledge representation and reasoning, Lambda calculus, Linear logic, Lisp (programming language), Logic in computer science, Logtalk, Machine learning, Marseille, Marvin Minsky, Massachusetts Institute of Technology, Mathematical logic, Mechanical engineering, Mercury (programming language), Natural language understanding, Negation as failure, Non-monotonic logic, Object language, Oz (programming language), Pat Hayes, Planner (programming language), Procedural programming, Program transformation, Programming language, Programming paradigm, Prolog, R++, Reasoning system, Robert Kowalski, Rule of inference, Rule-based machine learning, Satisfiability, Seymour Papert, SHRDLU, Situation calculus, SLD resolution, Stable model semantics, Stanford University, Statistical relational learning, Syracuse University, Terry Winograd, Transaction logic, University of Edinburgh, Vanilla software, Visual Prolog, XSB. Expand index (50 more) »

Abductive logic programming

Abductive logic programming (ALP) is a high-level knowledge-representation framework that can be used to solve problems declaratively based on abductive reasoning.

New!!: Logic programming and Abductive logic programming · See more »

Abductive reasoning

Abductive reasoning (also called abduction,For example: abductive inference, or retroduction) is a form of logical inference which starts with an observation or set of observations then seeks to find the simplest and most likely explanation.

New!!: Logic programming and Abductive reasoning · See more »

Absys

Absys was an early declarative programming language from the University of Aberdeen.

New!!: Logic programming and Absys · See more »

Actor model

The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation.

New!!: Logic programming and Actor model · See more »

Air traffic control

Air traffic control (ATC) is a service provided by ground-based air traffic controllers who direct aircraft on the ground and through controlled airspace, and can provide advisory services to aircraft in non-controlled airspace.

New!!: Logic programming and Air traffic control · See more »

Akinori Yonezawa

is a Japanese computer scientist specializing in object-oriented programming, distributed computing and information security.

New!!: Logic programming and Akinori Yonezawa · See more »

Alain Colmerauer

Alain Colmerauer (24 January 1941 – 12 May 2017) was a French computer scientist.

New!!: Logic programming and Alain Colmerauer · See more »

Algebraic Logic Functional programming language

Algebraic Logic Functional programming language, also known as ALF, is a programming language which combines functional and logic programming techniques.

New!!: Logic programming and Algebraic Logic Functional programming language · See more »

Alonzo Church

Alonzo Church (June 14, 1903 – August 11, 1995) was an American mathematician and logician who made major contributions to mathematical logic and the foundations of theoretical computer science.

New!!: Logic programming and Alonzo Church · See more »

And–or tree

An and–or tree is a graphical representation of the reduction of problems (or goals) to conjunctions and disjunctions of subproblems (or subgoals).

New!!: Logic programming and And–or tree · See more »

Answer set programming

Answer set programming (ASP) is a form of declarative programming oriented towards difficult (primarily NP-hard) search problems.

New!!: Logic programming and Answer set programming · See more »

Association for Logic Programming

The Association for Logic Programming (ALP) was founded in 1986.

New!!: Logic programming and Association for Logic Programming · See more »

Atomic formula

In mathematical logic, an atomic formula (also known simply as an atom) is a formula with no deeper propositional structure, that is, a formula that contains no logical connectives or equivalently a formula that has no strict subformulas.

New!!: Logic programming and Atomic formula · See more »

Automated planning and scheduling

Automated planning and scheduling, sometimes denoted as simply AI Planning, is a branch of artificial intelligence that concerns the realization of strategies or action sequences, typically for execution by intelligent agents, autonomous robots and unmanned vehicles.

New!!: Logic programming and Automated planning and scheduling · See more »

Automated theorem proving

Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs.

New!!: Logic programming and Automated theorem proving · See more »

Backward chaining

Backward chaining (or backward reasoning) is an inference method that can be described colloquially as working backward from the goal(s).

New!!: Logic programming and Backward chaining · See more »

Bertram Raphael

Bertram Raphael (born 1936) is an American computer scientist known for his contributions to artificial intelligence.

New!!: Logic programming and Bertram Raphael · See more »

Boolean satisfiability problem

In computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated as SATISFIABILITY or SAT) is the problem of determining if there exists an interpretation that satisfies a given Boolean formula.

New!!: Logic programming and Boolean satisfiability problem · See more »

Ciao (programming language)

Ciao is a general-purpose programming language which supports logic, constraint, functional, higher-order, and object-oriented programming styles.

New!!: Logic programming and Ciao (programming language) · See more »

Circumscription (logic)

Circumscription is a non-monotonic logic created by John McCarthy to formalize the common sense assumption that things are as expected unless otherwise specified.

New!!: Logic programming and Circumscription (logic) · See more »

Civil engineering

Civil engineering is a professional engineering discipline that deals with the design, construction, and maintenance of the physical and naturally built environment, including works such as roads, bridges, canals, dams, airports, sewerage systems, pipelines, and railways.

New!!: Logic programming and Civil engineering · See more »

Closed-world assumption

The closed-world assumption (CWA), in a formal system of logic used for knowledge representation, is the presumption that a statement that is true is also known to be true.

New!!: Logic programming and Closed-world assumption · See more »

Common sense

Common sense is sound practical judgment concerning everyday matters, or a basic ability to perceive, understand, and judge that is shared by ("common to") nearly all people.

New!!: Logic programming and Common sense · See more »

Concurrent computing

Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).

New!!: Logic programming and Concurrent computing · See more »

Concurrent constraint logic programming

Concurrent constraint logic programming is a version of constraint logic programming aimed primarily at programming concurrent processes rather than (or in addition to) solving constraint satisfaction problems.

New!!: Logic programming and Concurrent constraint logic programming · See more »

Concurrent logic programming

Concurrent logic programming is a variant of logic programming in which programs are sets of guarded Horn clauses of the form: The conjunction G1, …, Gn is called the guard of the clause, and | is the commitment operator.

New!!: Logic programming and Concurrent logic programming · See more »

Conjunctive normal form

In Boolean logic, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of one or more clauses, where a clause is a disjunction of literals; otherwise put, it is an AND of ORs.

New!!: Logic programming and Conjunctive normal form · See more »

Constraint logic programming

Constraint logic programming is a form of constraint programming, in which logic programming is extended to include concepts from constraint satisfaction.

New!!: Logic programming and Constraint logic programming · See more »

Constraint satisfaction problem

Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations.

New!!: Logic programming and Constraint satisfaction problem · See more »

Datalog

Datalog is a declarative logic programming language that syntactically is a subset of Prolog.

New!!: Logic programming and Datalog · See more »

Declarative programming

In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.

New!!: Logic programming and Declarative programming · See more »

Digital electronics

Digital electronics or digital (electronic) circuits are electronics that operate on digital signals.

New!!: Logic programming and Digital electronics · See more »

Eugene Charniak

Eugene Charniak is a Computer Science and Cognitive Science professor at Brown University.

New!!: Logic programming and Eugene Charniak · See more »

Event calculus

The event calculus is a logical language for representing and reasoning about events and their effects first presented by Robert Kowalski and Marek Sergot in 1986.

New!!: Logic programming and Event calculus · See more »

F-logic

F-logic (frame logic) is a knowledge representation and ontology language.

New!!: Logic programming and F-logic · See more »

Fifth generation computer

The Fifth Generation Computer Systems (FGCS) was an initiative by Japan's Ministry of International Trade and Industry, begun in 1982, to create a computer using massively parallel computing/processing.

New!!: Logic programming and Fifth generation computer · See more »

Flora-2

Flora-2 is an open source semantic rule-based system for knowledge representation and reasoning.

New!!: Logic programming and Flora-2 · See more »

Formal grammar

In formal language theory, a grammar (when the context is not given, often called a formal grammar for clarity) is a set of production rules for strings in a formal language.

New!!: Logic programming and Formal grammar · See more »

Formal methods

In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems.

New!!: Logic programming and Formal methods · See more »

Forward chaining

Forward chaining (or forward reasoning) is one of the two main methods of reasoning when using an inference engine and can be described logically as repeated application of modus ponens.

New!!: Logic programming and Forward chaining · See more »

Fril

Fril is a programming language for first-order predicate calculus.

New!!: Logic programming and Fril · See more »

Functional programming

In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.

New!!: Logic programming and Functional programming · See more »

Fuzzy logic

Fuzzy logic is a form of many-valued logic in which the truth values of variables may be any real number between 0 and 1.

New!!: Logic programming and Fuzzy logic · See more »

Gödel (programming language)

Gödel is a declarative, general-purpose programming language that adheres to the logic programming paradigm.

New!!: Logic programming and Gödel (programming language) · See more »

Gerald Jay Sussman

Gerald Jay Sussman (born February 8, 1947) is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT).

New!!: Logic programming and Gerald Jay Sussman · See more »

Guard (computer science)

In computer programming, a guard is a boolean expression that must evaluate to true if the program execution is to continue in the branch in question.

New!!: Logic programming and Guard (computer science) · See more »

Higher-order logic

In mathematics and logic, a higher-order logic is a form of predicate logic that is distinguished from first-order logic by additional quantifiers and, sometimes, stronger semantics.

New!!: Logic programming and Higher-order logic · See more »

Higher-order programming

Higher-order programming is a style of computer programming that uses software components, like functions, modules or objects, as values.

New!!: Logic programming and Higher-order programming · See more »

HiLog

HiLog is a programming logic with higher-order syntax, which allows arbitrary terms to appear in predicate and function positions.

New!!: Logic programming and HiLog · See more »

Horn clause

In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form which gives it useful properties for use in logic programming, formal specification, and model theory.

New!!: Logic programming and Horn clause · See more »

Indeterminacy in concurrent computation

Indeterminacy in concurrent computation is concerned with the effects of indeterminacy in concurrent computation.

New!!: Logic programming and Indeterminacy in concurrent computation · See more »

Inductive logic programming

Inductive logic programming (ILP) is a subfield of machine learning which uses logic programming as a uniform representation for examples, background knowledge and hypotheses.

New!!: Logic programming and Inductive logic programming · See more »

International Organization for Standardization

The International Organization for Standardization (ISO) is an international standard-setting body composed of representatives from various national standards organizations.

New!!: Logic programming and International Organization for Standardization · See more »

John Alan Robinson

John Alan Robinson (9 March 1930 – 5 August 2016) was a philosopher, mathematician, and computer scientist.

New!!: Logic programming and John Alan Robinson · See more »

John McCarthy (computer scientist)

John McCarthy (September 4, 1927 – October 24, 2011) was an American computer scientist and cognitive scientist.

New!!: Logic programming and John McCarthy (computer scientist) · See more »

Knowledge representation and reasoning

Knowledge representation and reasoning (KR, KR², KR&R) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can utilize to solve complex tasks such as diagnosing a medical condition or having a dialog in a natural language.

New!!: Logic programming and Knowledge representation and reasoning · See more »

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.

New!!: Logic programming and Lambda calculus · See more »

Linear logic

Linear logic is a substructural logic proposed by Jean-Yves Girard as a refinement of classical and intuitionistic logic, joining the dualities of the former with many of the constructive properties of the latter.

New!!: Logic programming and Linear logic · See more »

Lisp (programming language)

Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.

New!!: Logic programming and Lisp (programming language) · See more »

Logic in computer science

Logic in computer science covers the overlap between the field of logic and that of computer science.

New!!: Logic programming and Logic in computer science · See more »

Logtalk

Logtalk is an object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in the large.

New!!: Logic programming and Logtalk · See more »

Machine learning

Machine learning is a subset of artificial intelligence in the field of computer science that often uses statistical techniques to give computers the ability to "learn" (i.e., progressively improve performance on a specific task) with data, without being explicitly programmed.

New!!: Logic programming and Machine learning · See more »

Marseille

Marseille (Provençal: Marselha), is the second-largest city of France and the largest city of the Provence historical region.

New!!: Logic programming and Marseille · See more »

Marvin Minsky

Marvin Lee Minsky (August 9, 1927 – January 24, 2016) was an American cognitive scientist concerned largely with research of artificial intelligence (AI), co-founder of the Massachusetts Institute of Technology's AI laboratory, and author of several texts concerning AI and philosophy.

New!!: Logic programming and Marvin Minsky · See more »

Massachusetts Institute of Technology

The Massachusetts Institute of Technology (MIT) is a private research university located in Cambridge, Massachusetts, United States.

New!!: Logic programming and Massachusetts Institute of Technology · See more »

Mathematical logic

Mathematical logic is a subfield of mathematics exploring the applications of formal logic to mathematics.

New!!: Logic programming and Mathematical logic · See more »

Mechanical engineering

Mechanical engineering is the discipline that applies engineering, physics, engineering mathematics, and materials science principles to design, analyze, manufacture, and maintain mechanical systems.

New!!: Logic programming and Mechanical engineering · See more »

Mercury (programming language)

Mercury is a functional logic programming language made for real-world uses.

New!!: Logic programming and Mercury (programming language) · See more »

Natural language understanding

Natural language understanding (NLU) or natural language interpretation (NLI) is a subtopic of natural language processing in artificial intelligence that deals with machine reading comprehension.

New!!: Logic programming and Natural language understanding · See more »

Negation as failure

Negation as failure (NAF, for short) is a non-monotonic inference rule in logic programming, used to derive \mathrm~p (i.e. that ~p is assumed not to hold) from failure to derive ~p.

New!!: Logic programming and Negation as failure · See more »

Non-monotonic logic

A non-monotonic logic is a formal logic whose consequence relation is not monotonic.

New!!: Logic programming and Non-monotonic logic · See more »

Object language

An object language is a language which is the "object" of study in various fields including logic, linguistics, mathematics, and theoretical computer science.

New!!: Logic programming and Object language · See more »

Oz (programming language)

Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Université catholique de Louvain, for programming language education.

New!!: Logic programming and Oz (programming language) · See more »

Pat Hayes

Patrick John Hayes FAAAI (born 21 August 1944) is a British computer scientist who lives and works in the United States.

New!!: Logic programming and Pat Hayes · See more »

Planner (programming language)

Planner (often seen in publications as "PLANNER" although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969.

New!!: Logic programming and Planner (programming language) · See more »

Procedural programming

Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.

New!!: Logic programming and Procedural programming · See more »

Program transformation

A program transformation is any operation that takes a computer program and generates another program.

New!!: Logic programming and Program transformation · See more »

Programming language

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.

New!!: Logic programming and Programming language · See more »

Programming paradigm

Programming paradigms are a way to classify programming languages based on their features.

New!!: Logic programming and Programming paradigm · See more »

Prolog

Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.

New!!: Logic programming and Prolog · See more »

R++

R++ is a rule-based programming language based on C++.

New!!: Logic programming and R++ · See more »

Reasoning system

In information technology a reasoning system is a software system that generates conclusions from available knowledge using logical techniques such as deduction and induction.

New!!: Logic programming and Reasoning system · See more »

Robert Kowalski

Robert Anthony "Bob" Kowalski (born 15 May 1941) is a logician and computer scientist, who has spent most of his career in the United Kingdom.

New!!: Logic programming and Robert Kowalski · See more »

Rule of inference

In logic, a rule of inference, inference rule or transformation rule is a logical form consisting of a function which takes premises, analyzes their syntax, and returns a conclusion (or conclusions).

New!!: Logic programming and Rule of inference · See more »

Rule-based machine learning

Rule-based machine learning (RBML) is a term in computer science intended to encompass any machine learning method that identifies, learns, or evolves 'rules' to store, manipulate or apply.

New!!: Logic programming and Rule-based machine learning · See more »

Satisfiability

In mathematical logic, satisfiability and validity are elementary concepts of semantics.

New!!: Logic programming and Satisfiability · See more »

Seymour Papert

Seymour Aubrey Papert (February 29, 1928 – July 31, 2016) was a South African-born American mathematician, computer scientist, and educator, who spent most of his career teaching and researching at MIT.

New!!: Logic programming and Seymour Papert · See more »

SHRDLU

SHRDLU was an early natural language understanding computer program, developed by Terry Winograd at MIT in 1968–1970.

New!!: Logic programming and SHRDLU · See more »

Situation calculus

The situation calculus is a logic formalism designed for representing and reasoning about dynamical domains.

New!!: Logic programming and Situation calculus · See more »

SLD resolution

SLD resolution (Selective Linear Definite clause resolution) is the basic inference rule used in logic programming.

New!!: Logic programming and SLD resolution · See more »

Stable model semantics

The concept of a stable model, or answer set, is used to define a declarative semantics for logic programs with negation as failure.

New!!: Logic programming and Stable model semantics · See more »

Stanford University

Stanford University (officially Leland Stanford Junior University, colloquially the Farm) is a private research university in Stanford, California.

New!!: Logic programming and Stanford University · See more »

Statistical relational learning

Statistical relational learning (SRL) is a subdiscipline of artificial intelligence and machine learning that is concerned with domain models that exhibit both uncertainty (which can be dealt with using statistical methods) and complex, relational structure.

New!!: Logic programming and Statistical relational learning · See more »

Syracuse University

Syracuse University (commonly referred to as Syracuse, 'Cuse, or SU) is a private research university in Syracuse, New York, United States.

New!!: Logic programming and Syracuse University · See more »

Terry Winograd

Terry Allen Winograd (born February 24, 1946) is an American professor of computer science at Stanford University, and co-director of the Stanford Human-Computer Interaction Group.

New!!: Logic programming and Terry Winograd · See more »

Transaction logic

Transaction Logic is an extension of predicate logic that accounts in a clean and declarative way for the phenomenon of state changes in logic programs and databases.

New!!: Logic programming and Transaction logic · See more »

University of Edinburgh

The University of Edinburgh (abbreviated as Edin. in post-nominals), founded in 1582, is the sixth oldest university in the English-speaking world and one of Scotland's ancient universities.

New!!: Logic programming and University of Edinburgh · See more »

Vanilla software

Computer software, and sometimes also other computing-related systems like computer hardware or algorithms, are called vanilla when not customized from their original form, meaning that they are used without any customizations or updates applied to them.

New!!: Logic programming and Vanilla software · See more »

Visual Prolog

Visual Prolog, also formerly known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog.

New!!: Logic programming and Visual Prolog · See more »

XSB

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.

New!!: Logic programming and XSB · See more »

Redirects here:

Higher order logic programming, Higher-order logic programming, Linear logic programming, Logic Programming, Logic language, Logic program, Logic programming language, Logical (programming), Logical programming, Metalogic programming, Object-oriented logic programming, Relational programming, Rule-Based, Rule-based (programming), Rule-based programming, Transaction logic programming.

References

[1] https://en.wikipedia.org/wiki/Logic_programming

OutgoingIncoming
Hey! We are on Facebook now! »