Stanford Root

Schedule

Stanford Root

Schedule

CS 257

Introduction to Automated Reasoning

UNITS:3
GRADING:Letter or Credit/No Credit
LEVEL:Graduate
GER:—

Automated logical reasoning has enabled substantial progress in many fields, including hardware and software verification, theorem-proving, and artificial in- telligence. Different application scenarios may require different automated rea- soning techniques and sometimes their combination. In this course, we will study widely-used logical theories as well as algorithms for answering whether formu- las in those theories are satisfiable. We will consider state-of-the-art automated reasoning techniques for propositional logic, first-order logic, and various first- order theories, such as linear arithmetic over reals and integers, uninterpreted functions, bit-vectors, and arrays. We will also consider ways to reason about combinations of those theories. Topics include: logical foundations, SAT-solving, techniques for first-order theorem proving, decision procedures for different first- order theories, theory combination, the DPLL(T) framework, and applications of automated reasoning in program analysis and hardware verification. Prerequisites: CS 154 Introduction to the Theory of Computation, or CS106b Programming Abstractions and CS 103 Mathematical Foundations of Computing, or consent of instructor

Syllabus not available for this section

Sections

0 Terms
No sections available.

CS 257: Introduction to Automated Reasoning

3 units · Letter or Credit/No Credit

Automated logical reasoning has enabled substantial progress in many fields, including hardware and software verification, theorem-proving, and artificial in- telligence. Different application scenarios may require different automated rea- soning techniques and sometimes their combination. In this course, we will study widely-used logical theories as well as algorithms for answering whether formu- las in those theories are satisfiable. We will consider state-of-the-art automated reasoning techniques for propositional logic, first-order logic, and various first- order theories, such as linear arithmetic over reals and integers, uninterpreted functions, bit-vectors, and arrays. We will also consider ways to reason about combinations of those theories. Topics include: logical foundations, SAT-solving, techniques for first-order theorem proving, decision procedures for different first- order theories, theory combination, the DPLL(T) framework, and applications of automated reasoning in program analysis and hardware verification. Prerequisites: CS154 Introduction to the Theory of Computation, or CS106b Programming Abstractions and CS103 Mathematical Foundations of Computing, or consent of instructor

More CS courses

  • CS 248B: Fundamentals of Computer Graphics: Animation and Simulation
  • CS 251: Cryptocurrencies and blockchain technologies
  • CS 254: Computational Complexity
  • CS 254B: Computational Complexity II
  • CS 255: Introduction to Cryptography
  • CS 256: Algorithmic Fairness
  • CS 258: Quantum Cryptography
  • CS 259Q: Quantum Computing
  • CS 261: Combinatorial Optimization (CME 310, MS&E 315)
  • CS 265: Randomized Algorithms and Probabilistic Analysis (CME 309)
  • CS 266Z: Robust Algorithms in the Face of Uncertainty
  • CS 269I: Incentives in Computer Science (MS&E 206)

All CS courses · All departments