Logic in Computer Science

Total Page:16

File Type:pdf, Size:1020Kb

Logic in Computer Science LOGIC IN COMPUTER SCIENCE by Benji MO Some people are always critical of vague statements. I tend rather to be critical of precise statements. They are the only ones which can correctly be labeled wrong. { Raymond Smullyan August 2020 Supervisor: Professor Hantao Zhang TABLE OF CONTENTS Page LIST OF FIGURES . viii CHAPTER 1 Introduction to Logic . 1 1.1 Logic is Everywhere . 2 1.1.1 Statement or Proposition . 2 1.1.2 A Brief History of Logic . 4 1.2 Logical Fallacies in Arguments . 5 1.2.1 Formal Fallacies . 5 1.2.2 Informal Fallacies . 7 1.3 A Brief Review of Mathematical Logic . 13 1.3.1 Set Theory . 13 1.3.2 Model Theory . 21 1.3.3 Proof Theory . 22 1.3.4 Computability Theory . 25 1.4 Exercise Problems . 29 2 Propositional Logic . 32 2.1 Syntax . 32 2.1.1 Logical Operators . 32 2.1.2 Formulas . 34 2.2 Semantics . 36 2.2.1 Interpretations . 36 2.2.2 Models, Satisfiability, and Validity . 38 2.2.3 Equivalence . 40 2.2.4 Entailment . 43 2.2.5 Theorem Proving and the SAT Problem . 45 2.3 Normal Forms . 46 2.3.1 Negation Normal Form (NNF) . 48 2.3.2 Conjunctive Normal Form (CNF) . 49 2.3.3 Disjunctive Normal Form (DNF) . 51 2.3.4 Full DNF and Full CNF from Truth Table . 53 2.3.5 Binary Decision Diagram (BDD) . 54 2.4 Optimization Problems . 59 2.4.1 Minimum Set of Operators . 59 iii 2.4.2 Logic Minimization . 61 2.4.3 Maximum Satisfiability . 69 2.5 Using Propositional Logic . 70 2.5.1 Bitwise Operators . 70 2.5.2 Specify Problems in Propositional Logic . 72 2.6 Exercise Problems . 77 3 Proof Procedures for Propositional Logic . 85 3.1 Semantic Tableau . 87 3.1.1 Tableau: A Tree Structure for DNF . 88 3.1.2 α-Rules and β-Rules . 89 3.2 Deductive Systems . 92 3.2.1 Inference Rules and Proofs . 92 3.2.2 Hilbert Systems . 94 3.2.3 Natural Deduction . 96 3.2.4 Inference Graphs . 99 3.3 Resolution . 100 3.3.1 Resolution Rule . 100 3.3.2 Resolution Strategies . 103 3.3.3 Preserving Satisfiability . 105 3.3.4 Completeness of Resolution . 108 3.3.5 A Resolution-based Decision Procedure . 110 3.3.6 Clause Deletion Strategies . 112 3.4 Boolean Constraint Propagation (BCP) . 115 3.4.1 BCP: a Simplification Procedure . 115 3.4.2 BCP: a Decision Procedure for Horn Clauses . 117 3.4.3 Unit Resolution versus Input Resolution . 118 3.4.4 Head/Tail Literals for BCP . 120 3.5 Exercise Problems . 124 4 Propositional Satisfiability . 128 4.1 The DPLL Algorithm . 129 4.1.1 Recursive Version of DPLL . 129 4.1.2 All-SAT and Incremental SAT Solvers . 132 4.1.3 BCPw: Implementation of Watch Literals . 133 4.1.4 Iterative Implementation of DPLL . 136 4.2 Conflict-Driven Clause Learning (CDCL) . 138 4.2.1 Generating Clauses from Conflicting Clauses . 139 4.2.2 DPLL with CDCL . 140 4.2.3 Unsatisfiable Cores . 143 4.2.4 Random Restart . 144 4.2.5 Branching Heuristics for DPLL . 145 4.3 Use of SAT Solvers . 147 iv 4.3.1 Specify SAT Instances in DIMACS Format . 148 4.3.2 Sudoku Puzzle . 149 4.3.3 Latin Square Problems . 151 4.3.4 Graph Problems . 152 4.4 Local Search Methods and MaxSAT . 154 4.4.1 Local Search Methods for SAT . 154 4.4.2 2SAT vesus Max2SAT . 157 4.5 Maximum Satisfiability . 159 4.5.1 Weight MaxSAT and Hybrid MaxSAT . 159 4.5.2 The Branch-and-Bound Algorithm . 161 4.5.3 Simplification Rules and Lower Bound . 163 4.5.4 Use of Hybrid MaxSAT Solvers . 166 4.6 Exercise Problems . 168 5 First Order Logic . 172 5.1 Syntax of First Order Languages . 172 5.1.1 Terms and Formulas . 172 5.1.2 The Quantifiers . 176 5.1.3 Unsorted and Many-Sorted Logics . 178 5.2 Semantics . 180 5.2.1 Interpretation . 180 5.2.2 Models, Satisfiability, and Validity . 184 5.2.3 Entailment and Equivalence . 186 5.3 Proof Methods . 189 5.3.1 Semantic Tableau . 189 5.3.2 Natural Deduction . 192 5.4 Conjunctive Normal Form . 192 5.4.1 Prenex Normal Form . 193 5.4.2 Skolemization . 195 5.4.3 Skolemizing Non-Prenex Formulas . 198 5.4.4 Clausal Form . 199 5.4.5 Herbrand Models for CNF . 200 5.5 Exercise Problems . 202 6 Unification and Resolution . 206 6.1 Unification . 206 6.1.1 Substitutions and Unifiers . 206 6.1.2 Combining Substitutions . 208 6.1.3 Rule-Based Unification . 209 6.1.4 Practically Linear Time Unification . 212 6.2 Resolution . 219 6.2.1 The Resolution and Factoring Rules . 219 6.2.2 A Refutational Proof Procedure . 221 v 6.3 Ordered Resolution . 223 6.3.1 Simplification Orders . 223 6.3.2 Completeness of Ordered Resolution . 228 6.4 Prover9: A Resolution Theorem Prover . 230 6.4.1 Input Formulas to Prover9 . 230 6.4.2 Inference Rules and Options . 233 6.4.3 Simplification Orders in Prover9 . 236 6.5 Exercise Problems . 238 7 Equational Logic . 241 7.1 Equality of Terms . 241 7.1.1 Axioms of Equality . 242 7.1.2 Semantics of \=" . 243 7.1.3 Theory of Equations . 245 7.2 Rewrite Systems . 247 7.2.1 Rewrite Rules . 247 7.2.2 Termination of Rewrite Systems . 248 7.2.3 Confluence of Rewriting . 249 7.2.4 The Knuth-Bendix Completion Procedure . 251 7.3 Inductive Theorem Proving . 257 7.3.1 Inductive Theorems . 257 7.3.2 Structural Induction . 258 7.3.3 Induction on Two Variables . 260 7.3.4 Multi-Sort Algebraic Specifications . 261 7.4 Resolution with Equality . 264 7.4.1 Paramodulation . 264 7.4.2 Simplification Rules . 266 7.4.3 Equality in Prover9 . 268 7.5 Mace4: Finite Model Finding in FOL . 270 7.5.1 Use of Mace4 . 270 7.5.2 Finite Model Finding by SAT Solvers . 274 7.6 Exercise Problems . 276 8 Prolog: Programming in Logic . 278 8.1 Prolog's Working Principle . 278 8.1.1 Horn Clauses in Prolog . 278 8.1.2 Resolution Proofs in Prolog . ..
Recommended publications
  • Logic and Proof Computer Science Tripos Part IB
    Logic and Proof Computer Science Tripos Part IB Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2015 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 2 3 Proof Systems for Propositional Logic 5 4 First-order Logic 8 5 Formal Reasoning in First-Order Logic 11 6 Clause Methods for Propositional Logic 13 7 Skolem Functions, Herbrand’s Theorem and Unification 17 8 First-Order Resolution and Prolog 21 9 Decision Procedures and SMT Solvers 24 10 Binary Decision Diagrams 27 11 Modal Logics 28 12 Tableaux-Based Methods 30 i 1 INTRODUCTION AND LEARNING GUIDE 1 1 Introduction and Learning Guide 2008 Paper 3 Q6: BDDs, DPLL, sequent calculus • 2008 Paper 4 Q5: proving or disproving first-order formulas, This course gives a brief introduction to logic, including • resolution the resolution method of theorem-proving and its relation 2009 Paper 6 Q7: modal logic (Lect. 11) to the programming language Prolog. Formal logic is used • for specifying and verifying computer systems and (some- 2009 Paper 6 Q8: resolution, tableau calculi • times) for representing knowledge in Artificial Intelligence 2007 Paper 5 Q9: propositional methods, resolution, modal programs. • logic The course should help you to understand the Prolog 2007 Paper 6 Q9: proving or disproving first-order formulas language, and its treatment of logic should be helpful for • 2006 Paper 5 Q9: proof and disproof in FOL and modal logic understanding other theoretical courses. It also describes • 2006 Paper 6 Q9: BDDs, Herbrand models, resolution a variety of techniques and data structures used in auto- • mated theorem provers.
    [Show full text]
  • A Prolog Technology Theorem Prover: a New Exposition and Implementation in Prolog*
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Theoretical Computer Science 104 (1992) 109-128 109 Elsevier A Prolog technology theorem prover: a new exposition and implementation in Prolog* Mark E. Stickel Artificial Intelligence Center, SRI International, Menlo Park, CA 94025, USA Abstract Stickel, M.E., A Prolog technology theorem prover: a new exposition and implementation in Prolog, Theoretical Computer Science 104 (1992) 109-128. A Prolog technology theorem prover (P’ITP) is an extension of Prolog that is complete for the full first-order predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, depth-first iterative-deepening search instead of unbounded depth-first search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inferences to make the inference system complete. This paper describes a new Prolog-based implementation of PTTP. It uses three compile-time transformations to translate formulas into Prolog clauses that directly execute, with the support of a few run-time predicates, the model elimination procedure with depth-first iterative-deepening search and unification with the occurs check. Its high performance exceeds that of Prolog-based PTTP interpreters, and it is more concise and readable than the earlier Lisp-based compiler, which makes it superior for expository purposes. Examples of inputs and outputs of the compile-time transformations provide an easy and precise way to explain how PTTP works. This Prolog-based version makes it easier to incorporate PTTP theorem-proving ideas into Prolog programs.
    [Show full text]
  • Logic and Proof
    Logic and Proof Computer Science Tripos Part IB Michaelmas Term Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2007 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 3 3 Proof Systems for Propositional Logic 13 4 First-order Logic 20 5 Formal Reasoning in First-Order Logic 27 6 Clause Methods for Propositional Logic 33 7 Skolem Functions and Herbrand’s Theorem 41 8 Unification 50 9 Applications of Unification 58 10 BDDs, or Binary Decision Diagrams 65 11 Modal Logics 68 12 Tableaux-Based Methods 74 i ii 1 1 Introduction and Learning Guide This course gives a brief introduction to logic, with including the resolution method of theorem-proving and its relation to the programming language Prolog. Formal logic is used for specifying and verifying computer systems and (some- times) for representing knowledge in Artificial Intelligence programs. The course should help you with Prolog for AI and its treatment of logic should be helpful for understanding other theoretical courses. Try to avoid getting bogged down in the details of how the various proof methods work, since you must also acquire an intuitive feel for logical reasoning. The most suitable course text is this book: Michael Huth and Mark Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd edition (CUP, 2004) It costs £35. It covers most aspects of this course with the exception of resolution theorem proving. It includes material (symbolic model checking) that should be useful for Specification and Verification II next year.
    [Show full text]
  • Designing a Theorem Prover
    Designing a Theorem Prover Lawrence C Paulson Computer Laboratory University of Cambridge May 1990 CONTENTS 2 Contents 1 Folderol: a simple theorem prover 3 1.1 Representation of rules :::::::::::::::::::::::::: 4 1.2 Propositional logic :::::::::::::::::::::::::::: 5 1.3 Quanti¯ers and uni¯cation :::::::::::::::::::::::: 7 1.4 Parameters in quanti¯er rules :::::::::::::::::::::: 7 2 Basic data structures and operations 10 2.1 Terms ::::::::::::::::::::::::::::::::::: 10 2.2 Formulae :::::::::::::::::::::::::::::::::: 11 2.3 Abstraction and substitution ::::::::::::::::::::::: 11 2.4 Parsing and printing ::::::::::::::::::::::::::: 13 3 Uni¯cation 14 3.1 Examples ::::::::::::::::::::::::::::::::: 15 3.2 Parameter dependencies in uni¯cation :::::::::::::::::: 16 3.3 The environment ::::::::::::::::::::::::::::: 17 3.4 The ML code for uni¯cation ::::::::::::::::::::::: 17 3.5 Extensions and omissions ::::::::::::::::::::::::: 18 3.6 Instantiation by the environment :::::::::::::::::::: 19 4 Inference in Folderol 20 4.1 Solving a goal ::::::::::::::::::::::::::::::: 21 4.2 Selecting a rule :::::::::::::::::::::::::::::: 22 4.3 Constructing the subgoals :::::::::::::::::::::::: 23 4.4 Goal selection ::::::::::::::::::::::::::::::: 25 5 Folderol in action 27 5.1 Propositional examples :::::::::::::::::::::::::: 27 5.2 Quanti¯er examples :::::::::::::::::::::::::::: 30 5.3 Beyond Folderol: advanced automatic methods ::::::::::::: 37 6 Interactive theorem proving 39 6.1 The Boyer/Moore theorem prover :::::::::::::::::::: 40 6.2 The Automath languages
    [Show full text]
  • Logical Inference 3 Resolution
    Resolution Logical • Resolution is a sound and complete inference procedure for unrestricted FOL • Reminder: Resolution rule for propositional Inference 3 logic: – P1 ∨ P2 ∨ ... ∨ Pn – P Q ... Q resolution ¬ 1 ∨ 2 ∨ ∨ m – Resolvent: P2 ∨ ... ∨ Pn ∨ Q2 ∨ ... ∨ Qm • We’ll need to extend this to handle Chapter 9 quantifiers and variables Some material adopted from notes by Andreas Geyer-Schulz,, Chuck Dyer, and Mary Getoor Two Common Normal Forms for a KB Resolution covers many cases Implicative normal form Conjunctive normal form • Modes Ponens • Set of sentences where • Set of sentences where – from P and P Q derive Q each is expressed as an each is a disjunction of → implication atomic literals – from P and ¬ P ∨ Q derive Q • Chaining • Left hand side of • P, Q, ~P ∨ ~Q ∨ R implication is a – from P → Q and Q → R derive P → R conjunction of 0 or more – from (¬ P ∨ Q) and (¬ Q ∨ R) derive ¬ P ∨ R literals • Contradiction detection • P , Q, P ∧ Q => R – from P and ¬ P derive false – from P and ¬ P derive the empty clause (=false) 1 Resolution in first-order logic A resolution proof tree • Given sentences in conjunctive normal form: – P1 ∨ ... ∨ Pn and Q1 ∨ ... ∨ Qm – Pi and Qi are literals, i.e., positive or negated predicate symbol with its terms • if Pj and ¬Qk unify with substitution list θ, then derive the resolvent sentence: subst(θ, P1∨…∨Pj-1∨Pj+1…Pn∨ Q1∨…Qk-1∨Qk+1∨…∨Qm) • Example – from clause P(x, f(a)) ∨ P(x, f(y)) ∨ Q(y) – and clause ¬P(z, f(a)) ∨ ¬Q(z) – derive resolvent P(z, f(y)) ∨ Q(y) ∨ ¬Q(z) – Using θ = {x/z} A resolution
    [Show full text]
  • SATCHMO: a Theorem Prover Implemented in Prolog
    Lecture Notes in Computer Science Edited by G. Goos and J. Hartmanis 310 E. Lusk R. Overbeek (Eds.) 9th International Conference on Automated Deduction Argonne, Illinois, USA, May 23-26, 1988 Proceedings Springer-Verlag Berlin Heidelberg New York London Paris Tokyo I 9^. Ρ?6 3<7ö Editorial Board ( D. Barstow W. Brauer R Brinch Hansen D. Gries D. Luckham C. Moler A. Pnueli G. Seegmüller J. Stoer N. Wirth Editors Ewing Lusk Ross Overbeek Mathematics and Computer Science Division Argonne National Laboratory 9700 South Cass Avenue, Argonne, IL 60439, USA 8ayeridch£ I siaatsbtbllotti--^ CR Subject Classification (1987): 1.2.3 ISBN 3-540-19343-X Springer-Verlag Berlin Heidelberg New York ISBN 0-387-19343-X Springer-Verlag New York Berlin Heidelberg This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in other ways, and storage in data banks. Duplication of this publication or parts thereof is only permitted under the provisions of the German Copyright Law of September 9, 1965, in its version of June 24, 1985, and a copyright fee must always be paid. Violations fall under the prosecution act of the German Copyright Law. © Springer-Verlag Berlin Heidelberg 1988 Printed in Germany Printing and binding: Druckhaus Beltz, Hemsbach/Bergstr. 2145/3140-543210 Program Committee: • Peter Andrews, Carnegie Mellon University • W. W. Bledsoe, University of Texas • Alan Bundy, University of Edinburgh • Robert Constable, Cornell University • Seif Haridi, Swedish Institute of Computer Science • Lawrence Henschen, Northwestern University • Deepak Kapur, State University of New York at Albany • Dallas Lankford, Louisiana Technological University • Jean-Louis Lassez, T.
    [Show full text]
  • Automated Theorem Proving Resolution Vs
    Master Thesis Software Engineering Thesis no: MSE-2002:4 March 2002 Automated Theorem Proving Resolution vs. Tableaux Andreas L. E. Folkler (ℵ) Department of Software Engineering and Computer Science Blekinge Institute of Technology Box 520 SE-372 25 Ronneby This page is intentionally left blank. ii Automated Theorem Proving: Resolution vs. Tableaux This thesis is submitted to the Department of Software Engineering and Computer Science at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering. The thesis is equivalent to ten weeks of full time studies. Contact Information: Author: Andreas Folkler Address: Myntgatan 13A SE-417 02 Göteborg E-mail: [email protected] University advisor: Dr. Bertil Ekdahl Department of Software Engineering and Computer Science Department of Internet : www.bth.se/ipd Software Engineering and Computer Science Phone : +46 457 38 50 00 Blekinge Institute of Technology Fax : +46 457 271 25 Box 520 SE-372 25 Ronneby Automated Theorem Proving: Resolution vs. Tableaux iii This page is intentionally left blank. iv Automated Theorem Proving: Resolution vs. Tableaux Abstract The purpose of this master thesis was to investigate which of the two methods, resolution and tableaux, that is the most appropriate for automated theorem proving. This was done by implementing an automated theorem prover, comparing and documenting implementation problems, and measuring proving efficiency. In this thesis, I conclude that the resolution method might be more suitable for an automated theorem prover than tableaux, in the aspect of ease of implementation. Regarding the efficiency, the test results indicate that resolution is the better choice.
    [Show full text]
  • Set 8: Inference in First-Order Logic
    Set 8: Inference in First-order logic ICS 271 Fall 2017 Chapter 9: Russell and Norvig Universal instantiation (UI) • Every instantiation of a universally quantified sentence is entailed by it: v α Subst({v/g}, α) for any variable v and ground term g • E.g., x King(x) Greedy(x) Evil(x) yields: King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(Father(John)) Greedy(Father(John)) Evil(Father(John)) Obtained by substituting {x/John}, {x/Richard} and {x/Father(John)} Existential instantiation (EI) • For any sentence α, variable v, and constant symbol k that does not appear elsewhere in the knowledge base: v α Subst({v/k}, α) • E.g., x Crown(x) OnHead(x,John) yields: Crown(C1) OnHead(C1,John) provided C1 is a new (not used so far) constant term, called a Skolem constant • Skolemization : elimination – x y Loves(y,x) – Incorrect inference : x Loves(A,x) – y may be different for each x – Correct inference : x Loves(f(x),x) Reduction to propositional inference Suppose the KB contains just the following: x King(x) Greedy(x) Evil(x) King(John) Greedy(John) Brother(Richard,John) • Instantiating the universal sentence in all possible ways, we have: King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(John) Greedy(John) Brother(Richard,John) • The new KB is propositionalized: proposition symbols are King(John), Greedy(John), Evil(John), King(Richard), etc. Reduction contd. • Every FOL KB can be propositionalized so as to preserve entailment – A ground sentence is entailed by new KB iff entailed by original KB • Idea: propositionalize KB and query, apply resolution, return result • Problem: with function symbols, there are infinitely many ground terms, – e.g., Father(Father(Father(John))) Reduction contd.
    [Show full text]
  • Lecture 17 of 41 Clausal (Conjunctive Normal) Form and Resolution
    LectureLecture 1717 ofof 4141 Clausal (Conjunctive Normal) Form and Resolution Techniques Wednesday, 29 September 2004 William H. Hsu Department of Computing and Information Sciences, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Chapter 9, Russell and Norvig Handout, Nilsson and Genesereth Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and Information Sciences LectureLecture OutlineOutline • Today’s Reading – Chapter 9, Russell and Norvig – Recommended references: Nilsson and Genesereth (excerpt of Chapter 5 online) • Thursday’s Reading: Chapter 9, R&N • Previously: Propositional and First-Order Logic – Two weeks ago • Logical agents: KR, inference, problem solving • Propositional logic: normal forms, sequent rules • Predicates and terms • First-order logic (FOL): quantifiers – Last week • FOL agents; frame problem; situation calculus, successor-state axioms • FOL KBs and forward search using sequent rules (sound but incomplete set) • Today: Backward Inference – Resolution refutation (sound and complete proof procedure) – Computability (decidability) issues Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and Information Sciences Review:Review: AutomatedAutomated DeductionDeduction byby ForwardForward ChainingChaining • Modus Ponens And Introduction Universal Elimination Adapted from slides by S. Russell, UC Berkeley Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and
    [Show full text]
  • Automated Theorem Proving and Logic Programming: a Natural Symbiosis~+
    J. LOGIC PROGRAMMING 1991:11:1-53 1 AUTOMATED THEOREM PROVING AND LOGIC PROGRAMMING: A NATURAL SYMBIOSIS~+ LARRY WOS AND WILLL4M McCUNE D We present a detailed review of the elements of automated theorem proving, emphasizing certain aspects of especial interest to the logic programming community. In particular, we focus heavily on how an automated theorem-proving program can treat equality in a natural and yet effective manner, and how such a program can use strategy to control its reasoning in a sophisticated fashion. With the objective of significantly increasing the scope of logic programming, perhaps some unusually inven- tive researcher can adapt various procedures we review in this article, and adapt them in a way that preserves most of the speed offered by logic programming. In turn, although our expertise rests far more in automated theorem proving, we include certain observations concerning the value of logic programming to automated theorem proving in general. In other words, a natural symbiosis between automated theorem proving and logic programming exists, which nicely completes the circle, since logic pro- gramming was born of automated theorem proving. a 1. MOTIVATION Occasionally one discovers that two fields, with apparently widely separate aims, in fact offer each other useful elements of theory and powerful techniques of implementation. In other words, a natural symbiosis exists. The two fields we have in mind are automated theorem proving and logic programming. Address correspondence to Larry Wos, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL 60439-4801. Received May 1989. [?‘Invited paper, &,+This work was supported by the Applied Mathematical Sciences subprogram of the Office of Energy Research, U.S.
    [Show full text]