III B.E. (Computer Engg.)

V SEMESTER

5CP6.1 LOGICAL AND FUNCTIONAL PROGRAMMING

  1. PROPOSITIONS: Fully parenthesized propositions, Evaluation of constant propositions, Evaluation of proposition in a state, Precedence rules for operators. Tautologies, Propositions a sets of states and Transforming English to prepositional form.

  2. REASONING USING EQUIVALENCE TRANSFORMATIONS: The laws of equivalence, rules of substitution and transitivity, formal system of axioms and Inference rules.

  3. NATURAL DEDUCTION SYSTEM: Introduction to deductive proofs, Inference rules, proofs and subproofs, adding flexibility to the natural deduction system and developing natural deduction system proofs.

  4. PREDICATES: Extending the range of a state, Quantification, Free and Bound Identifiers Textual substitution, Quantification over other ranges and some theorems about textual substitution and states.

  5. LOGIC PROGRAMMING: Introduction to prepositional and predicate calculus, First-order predicate calculus, Format logical systems. PROLOG programming - Facts, Rules and queries, implementations, Applications, Strengths and Weaknesses.

  6. FUNCTIONAL PROGRAMMING: Introduction to lambda calculus -Syntax and semantics, Computability and correctness. Features of Functional Languages -Composition of functions, Functions as first-class Objects, no side effects and clean semantics, LISP Programming –Data types and structures, Scheme dialect, primitive functions, functions for constructing functions and functional forms. Applications of functional languages and comparison of functional and imperative languages.

 Recommended Books:

  1. Appleby - Programming Languages. Tata Mc-Graw Hill.

  2. Sebesta - Concepts of Programming Languages, Pearson Education.

  3. David Gries -The Science of programming, Narosa Publication House.