Logic for Computer Science

  1. Applications in Software Engineering and Verification
    1. Formal Specification
      1. Purpose and Benefits of Formal Specification
        1. Specification Languages
          1. Z Notation
            1. Basic Constructs
              1. Schemas
                1. Schema Operations
                  1. Example Specifications
                  2. Vienna Development Method
                    1. VDM-SL Syntax
                      1. Data Types and Operations
                        1. Pre and Post Conditions
                        2. Alloy
                          1. Relational Logic
                            1. Constraints and Assertions
                          2. Specification Techniques
                            1. Model-Based Specification
                              1. Property-Based Specification
                                1. Algebraic Specification
                              2. Program Verification
                                1. Hoare Logic
                                  1. Hoare Triples
                                    1. Preconditions and Postconditions
                                      1. Partial vs Total Correctness
                                        1. Rules of Inference
                                          1. Assignment Rule
                                            1. Sequence Rule
                                              1. Conditional Rule
                                                1. While Rule
                                                2. Loop Invariants
                                                  1. Finding Loop Invariants
                                                    1. Proving Loop Correctness
                                                  2. Weakest Precondition Calculus
                                                    1. Definition and Motivation
                                                      1. WP for Basic Statements
                                                        1. WP for Compound Statements
                                                          1. Calculating Weakest Preconditions
                                                          2. Strongest Postcondition Calculus
                                                            1. Verification Conditions
                                                              1. Generation of Verification Conditions
                                                                1. Automated Verification
                                                              2. Model Checking
                                                                1. System Models
                                                                  1. State-Transition Systems
                                                                    1. Kripke Structures
                                                                      1. Labeled Transition Systems
                                                                      2. Property Specification
                                                                        1. Safety Properties
                                                                          1. Liveness Properties
                                                                            1. Fairness Properties
                                                                            2. Temporal Logic
                                                                              1. Linear Temporal Logic
                                                                                1. Computation Tree Logic
                                                                                  1. Property Specification Languages
                                                                                  2. Model Checking Algorithms
                                                                                    1. Explicit State Model Checking
                                                                                      1. Symbolic Model Checking
                                                                                        1. Bounded Model Checking
                                                                                        2. Tools and Applications
                                                                                          1. SPIN Model Checker
                                                                                            1. NuSMV
                                                                                              1. TLA+