Explainer · Techniques hub
Symbolic AI techniques: every major method, 1956 to today
More than 130 techniques, systems and landmark results in one table, from resolution and A* to the Rete algorithm, STRIPS, CDCL and inductive logic programming: who introduced each one and when, what it does, and whether it is still used. Then the ten families they belong to, how those families descend from the founding ideas of 1956, and which technique to reach for.
Symbolic AI techniques are the methods that let a program reason with explicit symbols rather than learned weights: logic and theorem proving, search, planning, knowledge representation, rule-based expert systems, constraint and SAT solving, non-monotonic reasoning, cognitive architectures and symbolic learning. Each one produces answers that can be traced step by step to stated facts and rules.
Symbolic AI is not one algorithm. It is a toolbox built over seventy years, and most of its tools are still in daily use under other names: SAT solvers check chip designs, A* plans paths in games, rule engines built on the Rete algorithm apply insurance policy, proof assistants check mathematics, and knowledge graphs sit behind search. This page is the map. The master table lists every major technique with its year, originators and family, and links to a page that explains it in depth. The lineage figure shows how the ten families grew from three ideas that were already on the table by 1960. The guide matches problems to techniques, and the last sections are honest about where the techniques break and what they contribute to fail-safe models. For the definition of symbolic AI itself, start with What is symbolic AI?
1. What counts as a symbolic AI technique
The pillar page defines symbolic AI as the approach that represents knowledge as explicit, human-readable symbols and reaches conclusions with logic, inference and search. A technique is one reusable method inside that approach: a representation, an inference procedure, a search strategy, or a way of learning symbolic structures from data. For this page we use a working test.
The test includes some methods that learn from data, such as decision trees and inductive logic programming, because what they learn is itself a readable symbolic structure. It excludes methods whose result is a vector of weights, even when they are trained on symbolic data. It also includes a few results that are not procedures, such as the Cook–Levin theorem and the frame problem, because they set the limits every technique works within. Several techniques are older than the field: Boole’s logic (1847), Frege’s first-order logic (1879) and von Neumann’s minimax (1928) became AI techniques when programs began to use them. The history of symbolic AI tells the story in order; this page is organised by method, and the standard textbook treatment of most of these techniques is Russell and Norvig [1].
2. The master table: every major technique
The table is in chronological order. Each technique links to the section of its family page that explains how it works, with a worked example and its limits. The year is the first publication or first working system we could verify; where a technique has two important dates (the idea and the name, or the idea and the practical version), both are given. Still used today? is a short judgement: yes means in routine production or research use, historical means its ideas survive but the technique itself is rarely run, and plain text marks a niche or research-only status.
| technique | year | originators | family | what it does | still used today? |
|---|---|---|---|---|---|
| Propositional logic | 1847 | George Boole (algebraic form) | Logic programming and theorem proving | Statements that are true or false, joined by and, or, not; the language of SAT. | Yes: circuits, SAT |
| First-order logic | 1879 | Gottlob Frege (Begriffsschrift) | Logic programming and theorem proving | Adds objects, relations and the quantifiers “for all” and “there exists”. | Yes: specifications, provers |
| Depth-first search | 19th c. | Charles Pierre Trémaux (maze solving) | Search algorithms | Follows one path as deep as it goes, then backs up; needs little memory. | Yes: everywhere |
| Minimax | 1928 | John von Neumann; applied to chess by Claude Shannon (1950) | Search algorithms | Picks the move whose worst-case outcome is best in a two-player game tree. | Yes: game engines |
| Herbrand’s theorem | 1930 | Jacques Herbrand | Logic programming and theorem proving | Reduces first-order unsatisfiability to a finite contradictory set of ground instances. | Yes: inside provers |
| Production systems | 1943; 1972 | Emil Post (rewriting rules); Allen Newell, Herbert Simon (as a model of cognition) | Expert systems | IF–THEN rules that fire against a working memory of facts. | Yes: rule engines |
| Breadth-first search | 1945; 1959 | Konrad Zuse (published 1972); Edward F. Moore | Search algorithms | Explores states level by level; finds a shortest path when every step costs the same. | Yes: everywhere |
| Backtracking search | 1950s | Named by D. H. Lehmer | Constraint satisfaction, SAT and SMT | Extends a partial solution one choice at a time and undoes the last choice at a dead end. | Yes: inside every solver |
| State-space search | 1956 | Allen Newell, Cliff Shaw, Herbert Simon (Logic Theorist, GPS) | Search algorithms | A problem as states, operators and a goal test; solving it means finding a path. | Yes: the common frame |
| Alpha–beta pruning | 1956 | John McCarthy and others independently; analysed by Donald Knuth, Ronald Moore (1975) | Search algorithms | Skips game-tree branches that cannot change the minimax choice; the search behind Deep Blue (1997). | Yes: chess engines |
| Means–ends analysis | 1957–59 | Newell, Shaw, Simon (General Problem Solver) | Search algorithms | Applies the operator that most reduces the difference between the current state and the goal. | Historical; lives on in planners |
| Program synthesis | 1957 | Alonzo Church (“Church’s problem”) | Formal verification and program synthesis | The problem of constructing a program or circuit automatically from a logical specification. | Active research |
| Commonsense reasoning | 1958–59 | John McCarthy (“Programs with Common Sense”) | Non-monotonic reasoning | The programme of drawing the everyday conclusions people take for granted, with knowledge written in logic. | Open research goal |
| Uniform-cost search | 1959 | Edsger Dijkstra (shortest paths) | Search algorithms | Expands the cheapest path first; optimal when step costs are non-negative. | Yes: routing |
| DPLL | 1962 | Martin Davis, George Logemann, Donald Loveland (after Davis–Putnam, 1960) | Constraint satisfaction, SAT and SMT | Decides SAT by choosing a variable, propagating unit clauses and backtracking. | Yes: the core of CDCL |
| Situation calculus | 1963; 1969 | John McCarthy; with Patrick Hayes (1969) | AI planning | A logic of actions: each fact holds in the situation produced by a sequence of actions. | Research |
| Resolution | 1965 | J. Alan Robinson | Logic programming and theorem proving | One inference rule, refutation-complete for first-order logic: derive a contradiction from the negated goal. | Yes: Vampire, E, Prolog |
| Unification | 1965 | J. Alan Robinson | Logic programming and theorem proving | Finds the most general substitution that makes two terms identical. | Yes: Prolog, type inference |
| DENDRAL | 1965 | Edward Feigenbaum, Bruce Buchanan, Joshua Lederberg, Carl Djerassi (Stanford) | Expert systems | Inferred molecular structure from mass-spectrometry data; usually called the first expert system. | Historical |
| A* | 1968 | Peter Hart, Nils Nilsson, Bertram Raphael (SRI) | Search algorithms | Best-first search on f = g + h; returns an optimal path when h never overestimates. | Yes: games, robots, maps |
| Semantic networks | 1968 | M. Ross Quillian | Knowledge representation | Concepts as nodes and relations as labelled links, with inheritance along is-a links. | Yes, as knowledge graphs |
| Hoare logic | 1969 | C. A. R. Hoare | Formal verification and program synthesis | Triples {P} C {Q}: prove that a program takes states satisfying P to states satisfying Q. | Yes: program verifiers |
| Frame problem | 1969 | John McCarthy, Patrick Hayes | Non-monotonic reasoning | How to state what an action leaves unchanged without listing every non-effect. | A problem, still studied |
| Conceptual dependency | 1969 | Roger Schank | Knowledge representation | Represents what a sentence means with a few primitive acts, independent of its wording. | Historical |
| AQ | 1969 | Ryszard Michalski | Symbolic machine learning | Induces IF–THEN rules that cover the positive examples and exclude the negative ones. | Mostly historical |
| Knuth–Bendix completion | 1970 | Donald Knuth, Peter Bendix | Formal verification and program synthesis | Turns equations into a confluent rewrite system, when it succeeds, so equality is decided by rewriting. | Yes: equational provers |
| Term rewriting | 1970s | A field rather than one paper; grew around Knuth–Bendix | Formal verification and program synthesis | Computes by replacing subterms with oriented equations until no rule applies. | Yes: compilers, algebra |
| Forward chaining | 1970s | Production-system tradition | Expert systems | Data-driven: fire every rule whose conditions hold until nothing new is derived. | Yes: rule engines, Datalog |
| Backward chaining | 1970s | MYCIN and Prolog tradition | Expert systems | Goal-driven: work back from the question to facts, turning rule conditions into sub-goals. | Yes: Prolog, rule engines |
| Hearsay-II | 1970s | Lee Erman, Frederick Hayes-Roth, Victor Lesser, Raj Reddy (Carnegie Mellon) | Cognitive architectures | Speech-understanding system in which many knowledge sources cooperate through a blackboard. | Historical |
| Blackboard systems | 1970s | Hearsay-II team (Carnegie Mellon) | Cognitive architectures | Independent specialists post and revise partial hypotheses on a shared data structure. | Niche |
| STRIPS | 1971 | Richard Fikes, Nils Nilsson (SRI) | AI planning | Actions as preconditions plus add and delete lists; the representation behind PDDL. | Yes, via PDDL |
| Cook–Levin theorem | 1971 | Stephen Cook; Leonid Levin independently | Constraint satisfaction, SAT and SMT | Proves SAT NP-complete, so no known algorithm solves every instance quickly. | A theorem: sets the limits |
| Prolog | 1972 | Alain Colmerauer, Philippe Roussel, building on Robert Kowalski | Logic programming and theorem proving | Programs are Horn clauses; running one is a resolution proof search. | Yes: SWI-Prolog and others |
| MYCIN | early 1970s | Edward Shortliffe, with Bruce Buchanan, Stanley Cohen (Stanford) | Expert systems | About 600 backward-chaining rules to identify bacteria and recommend antibiotics. | Historical; never used clinically |
| Sussman anomaly | early 1970s | Gerald Sussman | AI planning | A blocks-world goal that defeats planners which solve subgoals one after another. | A test case, still taught |
| Proof assistants | 1972 onward | LCF (Robin Milner); Isabelle (Lawrence Paulson, 1986); Coq, now Rocq (1989); HOL (Michael Gordon); Lean (Leonardo de Moura, 2013) | Logic programming and theorem proving | A person steers the proof; a small trusted kernel checks every step. | Yes: Lean, Rocq, Isabelle |
| SLD resolution | 1974 | Robert Kowalski; named by Maarten van Emden | Logic programming and theorem proving | Goal-directed linear resolution for definite clauses; the procedure inside Prolog. | Yes, inside Prolog |
| Frames | 1974 | Marvin Minsky | Knowledge representation | Records for stereotyped situations, with slots, default values and attached procedures. | Yes, via objects and ontologies |
| Constraint satisfaction problems | 1974 | Ugo Montanari (networks of constraints) | Constraint satisfaction, SAT and SMT | Variables, domains and constraints; a solution gives every variable a value that satisfies all constraints. | Yes: scheduling, configuration |
| Partial-order planning | 1975; 1977 | Earl Sacerdoti (NOAH); Austin Tate (Nonlin) | AI planning | Orders plan steps only where it must, and resolves conflicts by adding ordering constraints. | Largely superseded |
| HTN planning | 1975–77 | Sacerdoti (NOAH), Tate (Nonlin); later SHOP (Dana Nau et al., 1999) | AI planning | Decomposes high-level tasks into subtasks with known methods, down to primitive actions. | Yes: games, robotics |
| Certainty factors | 1975 | Edward Shortliffe, Bruce Buchanan (MYCIN) | Expert systems | Numbers from −1 to 1 attached to rules and combined by fixed formulas. | Replaced by probability |
| Weakest preconditions | 1975 | Edsger Dijkstra | Formal verification and program synthesis | Computes the weakest condition under which a program is guaranteed to reach a goal state. | Yes: inside verifiers |
| Conceptual graphs | 1976 | John Sowa | Knowledge representation | A graph notation for logic, descended from Peirce’s existential graphs. | Niche |
| Subjective Bayesian inference | 1976 | Richard Duda, Peter Hart, Nils Nilsson (PROSPECTOR) | Expert systems | Updates the odds of a hypothesis with expert-supplied likelihood ratios for each rule. | Replaced by Bayesian networks |
| Scripts | 1977 | Roger Schank, Robert Abelson | Knowledge representation | Stereotyped event sequences, such as a restaurant visit, that fill in unstated facts. | Historical |
| Abstract interpretation | 1977 | Patrick Cousot, Radhia Cousot | Formal verification and program synthesis | Runs a program over sound abstract values to prove properties for all inputs. | Yes: static analysers |
| Temporal logic | 1977; 1981 | Amir Pnueli (LTL); Edmund Clarke, E. Allen Emerson (CTL) | Formal verification and program synthesis | A logic of “always”, “eventually” and “until” over program executions. | Yes: specifications |
| Arc consistency | 1977 | Alan Mackworth (AC-3), after David Waltz and Ugo Montanari | Constraint satisfaction, SAT and SMT | Deletes any value that has no supporting value across a constraint. | Yes: inside CP solvers |
| Constraint propagation | 1970s | David Waltz, Ugo Montanari, Alan Mackworth | Constraint satisfaction, SAT and SMT | Repeats local consistency checks until the domains stop shrinking. | Yes: CP, SAT, ASP |
| Version spaces | 1977 | Tom Mitchell | Symbolic machine learning | Keeps the most general and most specific hypotheses consistent with the examples. | Historical; still taught |
| Knowledge engineering | 1977 | Edward Feigenbaum | Expert systems | The practice of eliciting an expert’s knowledge and encoding it as rules. | Yes: rules, ontologies |
| Knowledge-acquisition bottleneck | 1977 | Edward Feigenbaum | Expert systems | The finding that getting knowledge out of experts is the limiting cost of expert systems. | Still the central cost |
| Datalog | 1977 | Hervé Gallaire, Jack Minker (logic and databases); named by David Maier | Logic programming and theorem proving | Function-free rules evaluated bottom-up over a database; evaluation always terminates. | Yes: program analysis, databases |
| Negation as failure | 1978 | Keith Clark | Non-monotonic reasoning | Treats “cannot be proved” as “false”; the negation used by Prolog and Datalog. | Yes: Prolog, ASP |
| PROSPECTOR | late 1970s | Richard Duda, Peter Hart and colleagues (SRI) | Expert systems | Mineral-exploration adviser; a 1982 paper reported it recognising a hidden deposit. | Historical |
| Closed-world assumption | 1978 | Raymond Reiter | Non-monotonic reasoning | Anything that cannot be derived is taken to be false. | Yes: every database query |
| EMYCIN | late 1970s | William van Melle (Stanford) | Expert systems | MYCIN with the medical knowledge removed: an early expert-system shell. | Historical |
| Truth maintenance systems | 1979 | Jon Doyle | Non-monotonic reasoning | Records why each belief is held, so a belief can be withdrawn when its support goes. | Niche |
| Default logic | 1980 | Raymond Reiter | Non-monotonic reasoning | Rules that apply unless contradicted: birds fly unless known otherwise. | Research; lives on in ASP |
| Circumscription | 1980 | John McCarthy | Non-monotonic reasoning | Assumes abnormal cases are as few as the known facts allow. | Research |
| XCON | 1980 | John McDermott (Carnegie Mellon) for DEC | Expert systems | Configured VAX computer orders with OPS5 rules; about 2,500 rules at its peak. | Historical |
| Deductive program synthesis | 1980 | Zohar Manna, Richard Waldinger | Formal verification and program synthesis | Extracts a program from a constructive proof that the required output exists. | Research; ideas in proof assistants |
| Non-monotonic logic | 1980 | Drew McDermott, Jon Doyle | Non-monotonic reasoning | Adds a modal “is consistent” operator so defaults can be written inside the logic. | Research |
| SPIN | 1980; free 1991 | Gerard Holzmann (Bell Labs) | Formal verification and program synthesis | An explicit-state model checker for concurrent software, with properties written in LTL. | Yes: protocols |
| OPS5 | 1981 | Charles Forgy (Carnegie Mellon) | Expert systems | A production-rule language with Rete matching; XCON was written in it. | Historical; heirs in CLIPS |
| Model checking | 1981–82 | Edmund Clarke, E. Allen Emerson; Jean-Pierre Queille, Joseph Sifakis | Formal verification and program synthesis | Checks every state of a finite model against a temporal formula and returns a counterexample; tools include SPIN. | Yes: chips, protocols |
| Rete algorithm | 1982 | Charles Forgy | Expert systems | Compiles rule conditions into a network that caches partial matches, so only changes are re-matched. | Yes: Drools, CLIPS |
| Case-based reasoning | early 1980s; 1994 | Roger Schank, Janet Kolodner; four-step cycle by Agnar Aamodt, Enric Plaza | Symbolic machine learning | Solves a new problem by retrieving, reusing, revising and retaining similar past cases. | Niche |
| Structure-mapping | 1983 | Dedre Gentner | Symbolic machine learning | Models analogy as aligning relational structure between a known and a new domain. | Research: cognitive science |
| Local search | 1983 | Hill climbing; simulated annealing by Scott Kirkpatrick, C. Daniel Gelatt, Mario Vecchi | Search algorithms | Keeps one current state and moves to better neighbours, sometimes accepting worse ones to escape local optima. | Yes: layout, timetabling |
| Cyc | 1984 | Douglas Lenat (MCC) | Knowledge representation | A hand-built knowledge base of common sense with an inference engine. | Niche |
| IDA* | 1985 | Richard Korf | Search algorithms | A* run as iterative deepening on f; optimal, with memory linear in depth. | Yes: memory-bound search |
| Autoepistemic logic | 1985 | Robert C. Moore | Non-monotonic reasoning | Lets a reasoner draw conclusions from what it knows it does not know. | Research |
| KL-ONE | late 1970s; 1985 | Ronald Brachman; overview with James Schmolze (1985) | Knowledge representation | Structured inheritance networks with defined concepts; the ancestor of description logics. | Historical |
| Description logics | 1980s | KL-ONE’s successors (name adopted in the 1980s) | Knowledge representation | Decidable fragments of first-order logic for class hierarchies; OWL is built on one. | Yes: OWL reasoners |
| CLIPS | 1985 | NASA Johnson Space Center | Expert systems | A production-rule shell written in C, with Rete matching. | Yes: still maintained |
| Belief revision | 1985 | Carlos Alchourrón, Peter Gärdenfors, David Makinson (AGM) | Non-monotonic reasoning | Postulates for rationally adding, removing and revising beliefs in a consistent set. | Research |
| BB1 | 1985 | Barbara Hayes-Roth | Cognitive architectures | A blackboard system with a second blackboard for its own control plans. | Historical |
| WordNet | 1985 | George A. Miller and colleagues (Princeton) | Knowledge representation | A lexical database that groups English words into synonym sets linked by relations such as is-a and part-of. | Yes: language processing |
| Iterative deepening | 1985 | Used in chess programs; analysed by Richard Korf | Search algorithms | Runs depth-limited search with limits 0, 1, 2 and so on; optimal among brute-force tree searches. | Yes: game engines |
| Explanation-based learning | 1986 | Tom Mitchell, Richard Keller, Smadar Kedar-Cabelli; Gerald DeJong, Raymond Mooney | Symbolic machine learning | Generalises from one example by proving why it is an instance and keeping the proof’s conditions. | Niche |
| ID3 | 1986 | J. Ross Quinlan | Symbolic machine learning | Grows a decision tree by splitting on the attribute with the highest information gain. | Yes, as decision trees |
| ATMS | 1986 | Johan de Kleer | Non-monotonic reasoning | Assumption-based TMS: records the minimal sets of assumptions under which each belief holds. | Niche: diagnosis |
| Event calculus | 1986 | Robert Kowalski, Marek Sergot | Non-monotonic reasoning | A logic of events that start and stop properties holding over time. | Research |
| Chunking | 1986 | John Laird, Paul Rosenbloom, Allen Newell | Cognitive architectures | Soar’s learning: the result of resolving an impasse is compiled into a new rule. | Yes, in Soar |
| Yale shooting problem | 1986–87 | Steve Hanks, Drew McDermott | Non-monotonic reasoning | Shows that naively minimising change picks the wrong story of what happens over time. | A test case, still taught |
| Soar | 1987 | John Laird, Allen Newell, Paul Rosenbloom | Cognitive architectures | Models all behaviour as search in problem spaces, with rules in long-term memory. | Research, simulation |
| Constraint logic programming | 1987 | Joxan Jaffar, Jean-Louis Lassez | Constraint satisfaction, SAT and SMT | Replaces unification in logic programming with constraint solving over a domain. | Yes: in Prolog systems |
| TREAT | 1987 | Daniel Miranker | Expert systems | A rule matcher that recomputes joins on demand instead of storing partial matches. | Ideas in lazy matchers |
| Answer set programming | 1988; 1999 | Michael Gelfond, Vladimir Lifschitz (stable models); named in 1999 | Logic programming and theorem proving | A problem is written as rules whose stable models are exactly its solutions. | Yes: configuration, scheduling |
| Automated theorem provers | late 1980s onward | Otter (William McCune, Argonne); Vampire (Andrei Voronkov, Manchester); E (Stephan Schulz) | Logic programming and theorem proving | Search for first-order proofs without human guidance. | Yes: Vampire, E |
| CN2 | 1989 | Peter Clark, Tim Niblett | Symbolic machine learning | Learns ordered lists of IF–THEN rules that tolerate noisy data. | Niche |
| FOIL | 1990 | J. Ross Quinlan | Symbolic machine learning | Learns first-order Horn clauses greedily, guided by information gain. | Niche |
| Cognitive tutors | 1980s–1995 | John R. Anderson, Albert Corbett, Kenneth Koedinger and colleagues | Cognitive architectures | Tutoring systems that trace each student step against a production-rule model of the skill. | Yes: maths tutoring |
| Symbolic model checking | 1990 | Jerry Burch, Edmund Clarke, Kenneth McMillan, David Dill, L. J. Hwang, on Randal Bryant’s BDDs (1986) | Formal verification and program synthesis | Represents sets of states as binary decision diagrams, checking systems with more than 10²⁰ states. | Yes: hardware |
| Preferential models | 1990 | Sarit Kraus, Daniel Lehmann, Menachem Magidor | Non-monotonic reasoning | Axioms (System P) that any reasonable non-monotonic consequence relation should satisfy. | Research |
| GSAT and min-conflicts | 1990; 1992 | Steven Minton et al. (min-conflicts); Bart Selman, Hector Levesque, David Mitchell (GSAT) | Constraint satisfaction, SAT and SMT | Repairs a complete assignment one variable at a time to reduce violated constraints; fast but cannot prove unsatisfiability. | Yes: large scheduling |
| Inductive logic programming | 1991 | Stephen Muggleton (named it), after Gordon Plotkin and Ehud Shapiro | Symbolic machine learning | Learns logic programs from examples plus background knowledge. | Research, scientific discovery |
| Genetic programming | 1992 | John Koza; earlier tree-based work by Nichael Cramer | Symbolic machine learning | Evolves program trees by selection, crossover and mutation. | Niche |
| SATPlan | 1992 | Henry Kautz, Bart Selman | AI planning | Encodes a planning problem with a fixed horizon as a SAT formula. | Research; the idea is in use |
| Symbolic regression | 1992; 2009 | John Koza; Michael Schmidt, Hod Lipson | Symbolic machine learning | Searches for a formula that fits data; the output is an equation. | Yes: science, PySR |
| ACT-R | 1993 | John R. Anderson (from ACT, 1976, and ACT*, 1983) | Cognitive architectures | Production rules plus declarative chunks whose activation predicts human timing and errors. | Research: cognitive modelling |
| C4.5 | 1993 | J. Ross Quinlan | Symbolic machine learning | ID3’s successor: numeric attributes, missing values and pruning. | Yes, as decision trees |
| Ontologies | 1993 | Tom Gruber (standard definition) | Knowledge representation | Shared, formal vocabularies of classes, relations and constraints. | Yes: SNOMED CT, Gene Ontology |
| Graphplan | 1995 | Avrim Blum, Merrick Furst | AI planning | Builds a layered planning graph with mutual-exclusion links, then searches it backward. | Ideas live on in heuristics |
| Progol | 1995 | Stephen Muggleton | Symbolic machine learning | ILP by inverse entailment, searching from a most-specific clause. | Niche |
| Abstract argumentation | 1995 | Phan Minh Dung | Non-monotonic reasoning | Arguments plus an attack relation; accepted sets are those that defend themselves. | Research |
| CDCL | 1996; 2001 | João Marques-Silva, Karem Sakallah (GRASP); Matthew Moskewicz et al. (Chaff) | Constraint satisfaction, SAT and SMT | DPLL plus a clause learned from every conflict and non-chronological backjumping. | Yes: every modern SAT solver |
| Deep Blue | 1997 | Murray Campbell, A. Joseph Hoane Jr., Feng-hsiung Hsu (IBM) | Search algorithms | Massively parallel alpha–beta search with custom chess chips; beat Garry Kasparov. | Historical |
| EPIC | 1997 | David Kieras, David Meyer (Michigan) | Cognitive architectures | A cognitive architecture with parallel rules and detailed perceptual and motor timing. | Research: human factors |
| PDDL | 1998 | Drew McDermott and colleagues (for the International Planning Competition) | AI planning | The standard language for planning domains and problems. | Yes: the standard |
| International Planning Competition | 1998 | Drew McDermott and the planning community | AI planning | Regular head-to-head comparison of planners on shared PDDL benchmarks. | Yes: held regularly |
| Heuristic search planning | 1998–2001 | Blai Bonet, Héctor Geffner (HSP); Jörg Hoffmann, Bernhard Nebel (FF) | AI planning | Forward search guided by a heuristic computed from a relaxed problem that ignores delete lists. | Yes: the dominant approach |
| RDF | 1999 | W3C | Knowledge representation | Facts as subject–predicate–object triples named by web identifiers. | Yes: linked data, Wikidata |
| Bounded model checking | 1999 | Armin Biere, Alessandro Cimatti, Edmund Clarke, Yunshan Zhu | Formal verification and program synthesis | Unrolls a system k steps and asks a SAT solver for a counterexample of that length. | Yes: CBMC, hardware |
| SMT | 2000s | Roots in Nelson–Oppen (1979); CVC (Stanford); Z3 (Leonardo de Moura, Nikolaj Bjørner, 2008) | Constraint satisfaction, SAT and SMT | SAT plus decision procedures for arithmetic, arrays and bit-vectors. | Yes: verification, testing |
| SMT-based verification | 2000s | Many tools, e.g. Dafny (K. Rustan M. Leino, Microsoft Research) | Formal verification and program synthesis | Turns a program’s correctness conditions into SMT queries and discharges them automatically. | Yes: industrial verifiers |
| Aleph | 2001 | Ashwin Srinivasan | Symbolic machine learning | A widely used ILP system in the Progol tradition. | Research |
| Separation logic | 1999–2002 | John C. Reynolds, Peter O’Hearn, Samin Ishtiaq, Hongseok Yang | Formal verification and program synthesis | Extends Hoare logic to pointer programs: a proof about one part of the heap can ignore the rest. | Yes: static analysers |
| OWL | 2004 | W3C | Knowledge representation | The Web Ontology Language, built on description logics; OWL 2 followed in 2009. | Yes: ontologies |
| Drools | 2005 | Bob McWhirter, Mark Proctor (JBoss, later Red Hat) | Expert systems | A Java business-rules engine with an enhanced Rete matcher. | Yes: business rules |
| Fast Downward | 2006 | Malte Helmert | AI planning | A heuristic-search planner working on a multi-valued translation of PDDL. | Yes: a research standard |
| Monte Carlo tree search | 2006 | Rémi Coulom (name); Levente Kocsis, Csaba Szepesvári (UCT) | Search algorithms | Grows a game tree guided by random playouts; AlphaGo (2016) guided it with neural networks. | Yes: games, planning |
| CompCert | 2005–06 | Xavier Leroy (INRIA) | Formal verification and program synthesis | An optimising C compiler with a machine-checked Coq proof that compilation preserves meaning. | Yes: safety-critical code |
| seL4 | 2009 | Gerwin Klein and colleagues (NICTA) | Formal verification and program synthesis | A microkernel whose C code is proved in Isabelle/HOL to implement its specification. | Yes |
| Inductive program synthesis | 2011 | Sumit Gulwani (FlashFill) | Formal verification and program synthesis | Infers a program from input–output examples. | Yes: Excel Flash Fill |
| Knowledge graphs | 2012 | Google Knowledge Graph; Wikidata | Knowledge representation | Very large graphs of entities and typed relations that programs query and check. | Yes: search, data integration |
| Syntax-guided synthesis | 2013 | Rajeev Alur and colleagues; after Armando Solar-Lezama’s Sketch (2006) | Formal verification and program synthesis | Searches a user-given grammar for a program that meets a logical specification. | Research |
| AlphaGo | 2016 | DeepMind (David Silver et al.) | Search algorithms | Monte Carlo tree search guided by policy and value networks; beat Lee Sedol 4–1. | A hybrid milestone |
| Common Model of Cognition | 2017 | John Laird, Christian Lebiere, Paul Rosenbloom | Cognitive architectures | The shared structure that ACT-R, Soar and Sigma converged on: working memory, procedural and declarative memory. | Research |
3. How the families descend from 1956
By 1960 three ideas were on the table. Logic as representation: McCarthy’s Advice Taker proposal (1958) held that a program should store what it knows as sentences of formal logic and act on what it can deduce. Heuristic search: the Logic Theorist (1956) proved theorems by searching backward from the goal with rules of thumb, and GPS generalised the idea as means–ends analysis. Models of human thought: Newell and Simon built GPS as a theory of how people solve problems, the line that led to production rules, semantic memory and, eventually, cognitive architectures. Every family in this page descends from one or more of them.
Figure 1. The lineage of symbolic AI techniques. The families are numbered as in §4. Descent is shared: most families draw on more than one founding idea, and most systems in use today draw on more than one family.
The descent is not a tidy tree. Planning combined logic with search. Constraint solving and SAT turned logical questions into search problems and then made the search fast. Symbolic learning took its hypothesis languages from logic and its strategies from search. Today’s working systems draw on several families at once: CompCert is a compiler proved correct in a proof assistant; a modern planner is a heuristic search over a logical model; and neuro-symbolic systems such as AlphaGeometry pair a neural network that proposes with a symbolic engine that deduces.
4. The ten families
Each family below has its own page with an explanation of every technique in it, worked examples, a timeline and references. The summaries here say what the family is for, name its landmark techniques, and say where it stands today.
4.1 Logic programming and theorem proving
The oldest family, and the one the others borrow from. Its raw material is propositional and first-order logic used as a working language rather than as philosophy. The decisive step was J. Alan Robinson’s resolution principle and unification algorithm (1965): one inference rule that is refutation-complete for first-order logic, and one matching operation that makes it mechanical [2]. Herbrand’s theorem (1930) had already shown that such a search can, in principle, find every proof.
Two lines grew from resolution. Logic programming restricted it to Horn clauses so that running a program is a proof search: Kowalski’s SLD resolution [3], Prolog (1972) [4], Datalog for databases and, after Gelfond and Lifschitz’s stable models (1988) [5], answer set programming for hard combinatorial problems. Theorem proving kept full logic: automatic provers such as Otter, Vampire and E search for proofs on their own, while interactive proof assistants in the LCF tradition, such as Isabelle, HOL, Rocq (formerly Coq) and Lean, let a person steer and have a small kernel check every step. Logic programming and theorem proving, in depth →
4.2 Formal verification and program synthesis
Verification asks whether a program or circuit does what its specification says for every input, not just the tested ones. Hoare logic (1969) proves properties of programs one statement at a time [6]. Model checking, introduced independently by Clarke and Emerson and by Queille and Sifakis in 1981–82, explores every state of a finite model against a temporal-logic formula and returns a counterexample when the property fails [7] [8]. Abstract interpretation (Cousot and Cousot, 1977) proves the absence of whole classes of errors by computing over sound approximations of a program’s values [9]. Term rewriting and Knuth–Bendix completion (1970) supply the equational reasoning underneath [10].
Synthesis runs the other way, from a specification to a program. Manna and Waldinger extracted programs from constructive proofs [11]; inductive synthesis, made mainstream by Sumit Gulwani’s FlashFill (2011), infers programs from examples [12]. The results that matter most today are verified systems: CompCert, a C compiler proved correct in Coq [13], and seL4, a microkernel proved correct in Isabelle/HOL [14]. Both lean on the provers and SMT solvers of neighbouring families. Formal verification and program synthesis, in depth →
4.3 Search algorithms
Almost every symbolic technique reduces, somewhere, to search through a space of states. Uninformed strategies, breadth-first, depth-first and uniform-cost search, guarantee coverage. Heuristic search adds an estimate of the remaining cost. A* (Hart, Nilsson and Raphael, 1968) always expands the node with the lowest estimated total cost [15]:
where g(n) is the cost so far and h(n) the estimate. If h never overestimates the true remaining cost h*, the first goal A* expands is optimal. IDA* (Korf, 1985) gives the same guarantee with memory linear in the depth [16]. Games add an adversary: minimax picks the move with the best worst case, and alpha–beta pruning, found independently by several researchers from 1956 and analysed by Knuth and Moore in 1975 [17], skips branches that cannot change the answer; it was the search inside Deep Blue in 1997. Monte Carlo tree search (Coulom; Kocsis and Szepesvári, 2006) replaced the hand-written evaluation with random playouts [18] [19], and AlphaGo (2016) made it a hybrid by guiding it with neural networks [20]. Search algorithms, in depth →
4.4 AI planning
Planning is search in which the states are logical descriptions of the world and the moves are actions with preconditions and effects. McCarthy’s situation calculus (1963, developed with Hayes in 1969) gave the logical account [21]. STRIPS (Fikes and Nilsson, 1971) gave the practical one: each action has a precondition list, an add list and a delete list, and everything not deleted is assumed to stay true, which sidesteps much of the frame problem [22].
Later planners changed how the search is organised. Partial-order planning commits to an order between steps only where it has to; HTN planning decomposes tasks using known recipes; Graphplan (Blum and Furst, 1995) and SATPlan (Kautz and Selman, 1992) compiled planning into a layered graph or a SAT formula [23] [24]. PDDL (1998) standardised the input language for the International Planning Competition [25], and heuristic-search planners such as Fast Downward (Helmert, 2006) [26] are the standard today. AI planning, in depth →
4.5 Constraint satisfaction, SAT and SMT
Many problems are best stated as constraints: a set of variables, a domain of possible values for each, and constraints that the chosen values must satisfy together.
Montanari (1974) formalised networks of constraints [27]; backtracking search, arc consistency (Mackworth’s AC-3, 1977) [28] and constraint propagation prune the space; constraint logic programming (Jaffar and Lassez, 1987) put constraint solving inside Prolog [29]. Propositional satisfiability (SAT) is the special case with true-or-false variables. Cook (1971) proved it NP-complete [30]; DPLL (1962) gave the basic algorithm [31]; conflict-driven clause learning (GRASP, 1996; Chaff, 2001) made it practical on very large industrial formulas [32] [33]. SMT solvers such as Z3 (2008) [34] and cvc5 add theories of arithmetic, arrays and bit-vectors. Together they are probably the most heavily used symbolic AI in industry: hardware and software verification, scheduling, test generation and package-dependency resolution. Constraint satisfaction, SAT and SMT, in depth →
4.6 Knowledge representation
Knowledge representation decides what a system can say before any reasoning happens. Semantic networks (Quillian, 1968) put concepts in a graph with is-a links [35]; frames (Minsky, 1974) added slots and defaults [36]; conceptual dependency and scripts (Schank; Schank and Abelson, 1977) represented the meaning of sentences and stereotyped events [37]; conceptual graphs (Sowa, 1976) gave networks a logical reading [38].
The trade-off between how much a language can express and how fast it can be reasoned with became a field of its own. KL-ONE [39] led to description logics, decidable fragments of first-order logic that became the basis of OWL, a W3C standard since 2004. RDF (1999) standardised facts as triples; Gruber’s 1993 definition of an ontology as an explicit specification of a conceptualisation became the standard one [40]; Cyc (1984) tried to hand-encode common sense. Knowledge graphs, from Google’s in 2012 to Wikidata, are today’s large-scale semantic networks, usually with lighter reasoning. Knowledge representation, in depth →
4.7 Non-monotonic reasoning
Classical logic is monotonic: adding premises never removes a conclusion.
Common sense is not. “Tweety is a bird” suggests that Tweety flies, until you learn that Tweety is a penguin. In 1980 Reiter’s default logic and McCarthy’s circumscription offered two formal answers [41] [42]; Moore’s autoepistemic logic (1985) reasoned about what an agent knows it does not know [43]; Clark’s negation as failure (1978) is the version that runs inside Prolog and Datalog [44].
Truth maintenance systems (Doyle, 1979; de Kleer’s ATMS, 1986) do the bookkeeping: they record why each belief is held so it can be withdrawn when its support goes [45] [46]. The frame problem (McCarthy and Hayes, 1969) and the event calculus (Kowalski and Sergot, 1986) deal with change over time [47]. Much of this research now runs as answer set programming. Non-monotonic reasoning, in depth →
4.8 Expert systems
Expert systems took production rules (IF conditions THEN action, from Post and later Newell and Simon) and filled them with a specialist’s knowledge. DENDRAL (from 1965) inferred molecular structures; MYCIN (early 1970s) identified the bacteria behind infections by backward chaining and weighed evidence with certainty factors [48]; PROSPECTOR (SRI, late 1970s) advised on mineral exploration and was reported in 1982 to have recognised a hidden deposit [49]; XCON, or R1 (1980), configured DEC computer orders [50]. Shells such as EMYCIN, OPS5 and CLIPS separated the inference engine from the knowledge.
The engineering breakthrough was Forgy’s Rete algorithm (1982), which caches partial matches so that each change to working memory re-matches only what it touches [51]. The limit was the knowledge-acquisition bottleneck that Feigenbaum identified in 1977 [52]: rules had to be drawn out of experts by hand and maintained indefinitely. Rete-derived engines such as Drools and CLIPS still run business rules, eligibility checks and compliance logic. Expert systems, in depth →
4.9 Cognitive architectures
A cognitive architecture is a fixed set of mechanisms meant to model a whole mind rather than one task. Hearsay-II, a speech-understanding system built at Carnegie Mellon in the 1970s, introduced the blackboard: independent knowledge sources post and revise hypotheses on a shared structure [53]. Soar (Laird, Newell and Rosenbloom, 1987) models all behaviour as search in problem spaces [54], and learns by chunking: when it resolves an impasse, it compiles the result into a new rule [55].
ACT-R (John R. Anderson; ACT-R in 1993, from the ACT theory of 1976) combines production rules with declarative memory chunks whose activation predicts human reaction times and errors [56]. These systems are used today mainly in cognitive science, human-factors modelling and simulation, not in commercial AI products. Cognitive architectures, in depth →
4.10 Symbolic machine learning
Symbolic machine learning learns models that are themselves symbolic: rules, trees, logic programs, formulas. Mitchell’s version spaces (1977) framed learning as search through a space of hypotheses [57]; Quinlan’s ID3 (1986) and C4.5 (1993) grew decision trees [58]; AQ (Michalski, 1969) and CN2 (Clark and Niblett, 1989) induced rules. Explanation-based learning (1986) generalised from a single example by explaining it with domain knowledge [59].
Inductive logic programming (Muggleton, 1991, with systems such as FOIL, Progol and Aleph) learns Prolog clauses from examples plus background knowledge [60]. Case-based reasoning reuses past cases through Aamodt and Plaza’s retrieve–reuse–revise–retain cycle [61]; structure-mapping (Gentner, 1983) models analogy [62]. Genetic programming (Koza, 1992) and symbolic regression search over programs and formulas [63] [64]. What these learners produce can be read and checked; the price is that they struggle with raw perception and noisy, high-dimensional data. Symbolic machine learning, in depth →
5. Which technique for which problem
A starting point, not a rulebook. Real systems combine several rows, and a problem that fits none of them cleanly, such as recognising objects in images, is usually a job for machine learning, with a symbolic technique checking the result.
| problem | reach for | why |
|---|---|---|
| Shortest route or path, with a good distance estimate | A*, IDA* | Optimal with an admissible heuristic; IDA* when memory is tight. |
| Two-player game with a good evaluation function | alpha–beta pruning | Proven pruning; the classic chess approach. |
| Game or decision with no good evaluation function | Monte Carlo tree search | Estimates value by simulation; combines well with learned guidance. |
| A sequence of actions that reaches a goal | PDDL, Fast Downward | Domain-independent: the model is the specification. |
| Tasks with known recipes, such as procedures or missions | HTN planning | Encodes how experts break work down; faster and easier to control. |
| Timetabling, rostering, configuration | constraint satisfaction, constraint logic programming | Constraints are stated directly and propagation prunes early. |
| Large Boolean problems: circuits, package dependencies, puzzles | CDCL SAT solving | Industrial-scale solvers; a satisfying assignment is easy to check. |
| Constraints over integers, reals, arrays or bit-vectors | SMT | Adds theories to SAT; the usual back end for program verifiers. |
| Does this design satisfy a property over time? | model checking, temporal logic | Exhaustive over a finite model; returns a counterexample trace. |
| Does this program meet its specification? | Hoare logic, SMT-based verification, abstract interpretation | Full correctness proofs, or scalable proof that a class of errors cannot occur. |
| A proof that must be trusted completely | proof assistants | A small trusted kernel checks every step. |
| Deriving facts from rules over a database | Datalog | Always terminates; its fixed point is complete, so absence means not derivable. |
| Choices with defaults and exceptions | answer set programming, default logic | Non-monotonic rules combined with combinatorial search. |
| Written policy: eligibility, pricing, compliance | production rules, Rete | Rules map one-to-one to policy clauses; changes stay local. |
| A shared vocabulary with consistency checking | OWL, description logics | Decidable reasoning; detects contradictions and classifies concepts. |
| Facts about many entities from many sources | knowledge graphs, RDF | Simple triples at very large scale. |
| Beliefs that must be withdrawn when evidence changes | truth maintenance systems, ATMS | Keeps the reasons for every belief. |
| Readable rules from few examples plus background knowledge | inductive logic programming | Learns relational rules a person can check. |
| An explainable classifier for tabular data | C4.5, ID3 | The model is a readable tree, fitted to data. |
| The equation behind a set of measurements | symbolic regression | The output is a formula, not a black box. |
| Modelling how people perform a task | ACT-R, Soar | Predicts timing and errors, not just outcomes. |
6. Where the techniques break
The same four problems recur across every family, and they are the reason symbolic AI lost ground to machine learning for perception and language. They are covered in depth on the pillar page; here is where each one bites.
- Combinatorial explosion. Search, planning, SAT and theorem proving all face spaces that grow exponentially with problem size, and the Cook–Levin theorem says no general escape is known. The families answered with heuristics (A*), pruning (alpha–beta), propagation (arc consistency), learning from failure (CDCL) and decomposition (HTN). These make many real instances fast; they do not change the worst case.
- The knowledge-acquisition bottleneck. Expert systems, ontologies and Cyc depend on knowledge someone has to write down and keep correct. Symbolic learning (ID3, ILP) was the field’s own answer; modern systems increasingly compile knowledge from structured sources instead of interviewing experts.
- Brittleness. Rule systems and planners know exactly what they were told. A case one step outside the rules gets no answer or a wrong one. Non-monotonic reasoning makes rules defeasible, but it cannot supply rules nobody wrote.
- Symbol grounding. Every family assumes the symbols are already given: that someone has decided this pixel region is a block and that one a table. Connecting symbols to the world takes people, sensors or learned perception, which is why the most capable systems today are hybrids.
7. Symbolic techniques and fail-safe models
A fail-safe model is an AI model built so that when it fails, the failure drives it toward a controlled, safe state: it abstains when evidence is missing, and its learning can narrow what it does but never widen what it is authorised to do. Several techniques in the master table supply exactly the parts such a model needs.
- Checkers that can say “not entailed”. Resolution, Datalog evaluation and SAT or SMT solving either produce a proof or a satisfying assignment, or establish that none exists under the given rules. Datalog’s fixed point is complete, so absence from it is meaningful: the honest answer is “unknown”, not a guess.
- Contradiction detection. Description-logic reasoners and SAT solvers report when a set of statements is inconsistent and can point to a conflicting subset, which lets a system refuse to admit a fact that contradicts what it already holds.
- Recorded reasons. Truth maintenance systems keep, for each belief, the reasons it is held, so a belief can be withdrawn when those reasons fail, and a person can see why it was held in the first place.
- Learning that only narrows. In version-space learning every new example can only remove hypotheses; it never adds one outside the hypothesis language. That is the shape of bounded learning a fail-safe model requires, although Mitchell’s setting was concept learning, not safety.
- Constraints before choice. A constraint or planning model states what is admissible before the search chooses; a sound solver cannot return an answer that violates a hard constraint.
None of these makes a system fail-safe on its own. The property depends on authority: whether the symbolic layer decides what counts as true and what may be done, or merely advises a model that can ignore it. A model may propose; only the floor admits a fact. The techniques also bring their limits with them (§6). A symbolic floor is only as good as its sources and rules, so a fail-safe model built from these parts will say “unknown” more often than a model that guesses. That is the intended trade. Our papers The Orchestration Gap and Traversing Data in Symbolic Systems make the argument in more detail.
Peel, by Perslis Research, is built on this principle. To our knowledge it is the first fail-safe model; the exact claim and the closest earlier work are on What is a fail-safe model? There is no neural network in the loop that decides; knowledge is typed, sourced cards; and learning is readable counts. Peel is a research prototype, not a certified safety system. How Perslis uses symbolic methods is described on Symbolic AI at Perslis, and the related explainers on symbolic systems and symbolic flows cover the representation and pipeline side.
8. Questions
- What are the main symbolic AI techniques?
- They fall into ten families: logic programming and theorem proving, formal verification and program synthesis, search algorithms, AI planning, constraint satisfaction with SAT and SMT solving, knowledge representation, non-monotonic reasoning, expert systems, cognitive architectures, and symbolic machine learning. Well-known individual techniques include resolution, Prolog, A*, alpha-beta pruning, STRIPS, frames, the Rete algorithm, DPLL and CDCL, and inductive logic programming.
- What was the first symbolic AI technique?
- The first program built as artificial intelligence, the Logic Theorist of 1956 by Allen Newell, Cliff Shaw and Herbert Simon, proved theorems by heuristic search, and their General Problem Solver introduced means-ends analysis. Some of the tools are older than the field: propositional logic goes back to George Boole in 1847, first-order logic to Gottlob Frege in 1879, and the minimax principle to John von Neumann in 1928.
- Which symbolic AI techniques are still used today?
- Many, usually without the AI label. SAT and SMT solvers, model checking and abstract interpretation verify hardware and software; A* and its descendants plan paths; alpha-beta search and Monte Carlo tree search play games; PDDL planners schedule operations; Datalog and answer set programming solve database and combinatorial problems; Rete-based engines such as Drools run business rules; OWL ontologies and knowledge graphs organise data; and proof assistants such as Lean, Rocq and Isabelle check mathematics and verified software.
- Is A* search symbolic AI?
- Yes. A* searches a space of explicit, discrete states connected by named operators, and its guarantee is a proof: if the heuristic never overestimates the remaining cost, the first goal A* expands is on an optimal path. It was published in 1968 by Peter Hart, Nils Nilsson and Bertram Raphael and remains one of the most widely used symbolic AI techniques, in games, robotics and route planning.
- What is the difference between SAT and SMT solvers?
- A SAT solver decides whether a formula over true-or-false variables can be satisfied. An SMT solver, short for satisfiability modulo theories, does the same for formulas that also mention integers, real numbers, arrays, bit-vectors or other data types, by combining a SAT solver with a specialised decision procedure for each theory. Z3 and cvc5 are widely used SMT solvers.
- What is the difference between forward chaining and backward chaining?
- Forward chaining starts from the known facts and fires every rule whose conditions hold, adding conclusions until nothing new appears; production-rule engines work this way. Backward chaining starts from a question and works back to the facts that would prove it, turning each rule's conditions into sub-goals; Prolog and the MYCIN expert system work this way.
- Are decision trees symbolic AI?
- The model is symbolic: a decision tree is a readable set of if-then tests. The way it is built is statistical: algorithms such as ID3 and C4.5 choose each split by measuring information gain on data. That is why decision trees, rule induction and inductive logic programming are grouped together as symbolic machine learning.
- How do symbolic AI techniques relate to neuro-symbolic AI?
- Neuro-symbolic systems combine a neural network with one or more of these techniques. AlphaGo guided Monte Carlo tree search with neural networks, AlphaGeometry paired a language model with a symbolic deduction engine, and language models that call solvers, databases or proof checkers use SAT, SMT, Datalog or theorem proving as the exact half of the system.
9. References
- S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach, 4th ed. Pearson, 2020.
- J. A. Robinson. A Machine-Oriented Logic Based on the Resolution Principle. Journal of the ACM 12(1):23–41, 1965. doi:10.1145/321250.321253
- R. Kowalski. Predicate Logic as Programming Language. Proceedings of IFIP Congress 74, 569–574, 1974.
- A. Colmerauer, P. Roussel. The Birth of Prolog. In History of Programming Languages II, ACM, 1996. doi:10.1145/234286.1057820
- M. Gelfond, V. Lifschitz. The Stable Model Semantics for Logic Programming. Proceedings of the 5th International Conference and Symposium on Logic Programming, MIT Press, 1070–1080, 1988.
- C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Communications of the ACM 12(10):576–580, 1969.
- E. M. Clarke, E. A. Emerson. Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic. Logics of Programs Workshop 1981, LNCS 131, Springer, 1982.
- J.-P. Queille, J. Sifakis. Specification and Verification of Concurrent Systems in CESAR. International Symposium on Programming, LNCS 137, Springer, 1982.
- P. Cousot, R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. POPL 1977, 238–252.
- D. E. Knuth, P. B. Bendix. Simple Word Problems in Universal Algebras. In J. Leech (ed.), Computational Problems in Abstract Algebra, Pergamon, 263–297, 1970.
- Z. Manna, R. Waldinger. A Deductive Approach to Program Synthesis. ACM Transactions on Programming Languages and Systems 2(1):90–121, 1980.
- S. Gulwani. Automating String Processing in Spreadsheets Using Input-Output Examples. POPL 2011. doi:10.1145/1926385.1926423
- X. Leroy. Formal Verification of a Realistic Compiler. Communications of the ACM 52(7):107–115, 2009.
- G. Klein et al. seL4: Formal Verification of an OS Kernel. SOSP 2009; extended in ACM Transactions on Computer Systems 32(1), 2014. doi:10.1145/2560537
- P. E. Hart, N. J. Nilsson, B. Raphael. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics 4(2):100–107, 1968.
- R. E. Korf. Depth-First Iterative-Deepening: An Optimal Admissible Tree Search. Artificial Intelligence 27(1):97–109, 1985.
- D. E. Knuth, R. W. Moore. An Analysis of Alpha-Beta Pruning. Artificial Intelligence 6(4):293–326, 1975.
- R. Coulom. Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search. Computers and Games 2006, LNCS 4630, Springer, 2007.
- L. Kocsis, C. Szepesvári. Bandit Based Monte-Carlo Planning. ECML 2006, LNCS 4212, Springer.
- D. Silver et al. Mastering the Game of Go with Deep Neural Networks and Tree Search. Nature 529:484–489, 2016.
- J. McCarthy, P. J. Hayes. Some Philosophical Problems from the Standpoint of Artificial Intelligence. In Machine Intelligence 4, Edinburgh University Press, 1969.
- R. E. Fikes, N. J. Nilsson. STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving. Artificial Intelligence 2(3–4):189–208, 1971.
- A. L. Blum, M. L. Furst. Fast Planning Through Planning Graph Analysis. Artificial Intelligence 90(1–2):281–300, 1997 (IJCAI 1995).
- H. Kautz, B. Selman. Planning as Satisfiability. ECAI 1992, 359–363.
- D. McDermott et al. PDDL: The Planning Domain Definition Language. Technical report, Yale Center for Computational Vision and Control, 1998.
- M. Helmert. The Fast Downward Planning System. Journal of Artificial Intelligence Research 26:191–246, 2006. doi:10.1613/jair.1705
- U. Montanari. Networks of Constraints: Fundamental Properties and Applications to Picture Processing. Information Sciences 7:95–132, 1974. doi:10.1016/0020-0255(74)90008-5
- A. K. Mackworth. Consistency in Networks of Relations. Artificial Intelligence 8(1):99–118, 1977.
- J. Jaffar, J.-L. Lassez. Constraint Logic Programming. POPL 1987, 111–119.
- S. A. Cook. The Complexity of Theorem-Proving Procedures. STOC 1971, 151–158.
- M. Davis, G. Logemann, D. Loveland. A Machine Program for Theorem-Proving. Communications of the ACM 5(7):394–397, 1962. doi:10.1145/368273.368557
- J. P. Marques-Silva, K. A. Sakallah. GRASP: A Search Algorithm for Propositional Satisfiability. IEEE Transactions on Computers 48(5):506–521, 1999 (ICCAD 1996).
- M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, S. Malik. Chaff: Engineering an Efficient SAT Solver. DAC 2001. doi:10.1145/378239.379017
- L. de Moura, N. Bjørner. Z3: An Efficient SMT Solver. TACAS 2008, LNCS 4963. doi:10.1007/978-3-540-78800-3_24
- M. R. Quillian. Semantic Memory. In M. Minsky (ed.), Semantic Information Processing, MIT Press, 1968.
- M. Minsky. A Framework for Representing Knowledge. MIT AI Laboratory Memo 306, 1974.
- R. C. Schank, R. P. Abelson. Scripts, Plans, Goals and Understanding. Lawrence Erlbaum, 1977.
- J. F. Sowa. Conceptual Graphs for a Data Base Interface. IBM Journal of Research and Development 20(4):336–357, 1976.
- R. J. Brachman, J. G. Schmolze. An Overview of the KL-ONE Knowledge Representation System. Cognitive Science 9(2):171–216, 1985.
- T. R. Gruber. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition 5(2):199–220, 1993.
- R. Reiter. A Logic for Default Reasoning. Artificial Intelligence 13(1–2):81–132, 1980.
- J. McCarthy. Circumscription: A Form of Non-Monotonic Reasoning. Artificial Intelligence 13(1–2):27–39, 1980.
- R. C. Moore. Semantical Considerations on Nonmonotonic Logic. Artificial Intelligence 25(1):75–94, 1985.
- K. L. Clark. Negation as Failure. In H. Gallaire, J. Minker (eds.), Logic and Data Bases, Plenum, 293–322, 1978.
- J. Doyle. A Truth Maintenance System. Artificial Intelligence 12(3), 1979.
- J. de Kleer. An Assumption-Based TMS. Artificial Intelligence 28(2):127–162, 1986.
- R. Kowalski, M. Sergot. A Logic-Based Calculus of Events. New Generation Computing 4(1):67–95, 1986.
- E. H. Shortliffe, B. G. Buchanan. A Model of Inexact Reasoning in Medicine. Mathematical Biosciences 23(3–4):351–379, 1975.
- A. N. Campbell, V. F. Hollister, R. O. Duda, P. E. Hart. Recognition of a Hidden Mineral Deposit by an Artificial Intelligence Program. Science 217(4563):927–929, 1982. doi:10.1126/science.217.4563.927
- J. McDermott. R1: A Rule-Based Configurer of Computer Systems. Artificial Intelligence 19(1):39–88, 1982.
- C. L. Forgy. Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem. Artificial Intelligence 19(1):17–37, 1982.
- E. A. Feigenbaum. The Art of Artificial Intelligence: Themes and Case Studies of Knowledge Engineering. IJCAI 1977.
- L. D. Erman, F. Hayes-Roth, V. R. Lesser, D. R. Reddy. The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty. ACM Computing Surveys 12(2):213–253, 1980. doi:10.1145/356810.356816
- J. E. Laird, A. Newell, P. S. Rosenbloom. SOAR: An Architecture for General Intelligence. Artificial Intelligence 33(1):1–64, 1987. doi:10.1016/0004-3702(87)90050-6
- J. E. Laird, P. S. Rosenbloom, A. Newell. Chunking in Soar: The Anatomy of a General Learning Mechanism. Machine Learning 1(1):11–46, 1986.
- J. R. Anderson. Rules of the Mind. Lawrence Erlbaum, 1993.
- T. M. Mitchell. Generalization as Search. Artificial Intelligence 18(2):203–226, 1982.
- J. R. Quinlan. Induction of Decision Trees. Machine Learning 1(1):81–106, 1986.
- T. M. Mitchell, R. M. Keller, S. T. Kedar-Cabelli. Explanation-Based Generalization: A Unifying View. Machine Learning 1(1):47–80, 1986.
- S. Muggleton. Inductive Logic Programming. New Generation Computing 8(4):295–318, 1991.
- A. Aamodt, E. Plaza. Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches. AI Communications 7(1):39–59, 1994.
- D. Gentner. Structure-Mapping: A Theoretical Framework for Analogy. Cognitive Science 7(2):155–170, 1983.
- J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, 1992.
- M. Schmidt, H. Lipson. Distilling Free-Form Natural Laws from Experimental Data. Science 324(5923):81–85, 2009.