Skip to main content ITU
Logo
  • Programmes
    • BSc Programmes
    • BSc in Global Business Informatics
    • BSc in Digital Design and Interactive Technologies
    • BSc in Software Development
    • BSc in Data Science
    • Applying for a BSc programme
    • MSc Programmes
    • MSc in Digital Innovation & Management
    • MSc in Digital Design and Interactive Technologies
    • MSc in Software Design
    • MSc in Data Science
    • MSc in Computer Science
    • MSc in Games
    • Applying for an MSc programme
    • Student Life
    • Practical information for international students
    • Ask a student
    • Women in tech
    • Student organisations at ITU
    • Study start
    • Labs for students
    • Special Educational Support (SPS)
    • Study and Career Guidance
    • Exchange student
    • Become an exchange student
    • Guest Students
    • Who can be a guest student?
    • ITU Summer University
    • Open House
    • Open House - BSc programmes
    • Open House - MSc programmes
  • Professional Education
    • Master in IT Management
    • Master in IT Management
    • Admission and entry requirements
    • Contact
    • Single Subjects
    • About single subjects
    • Admission and entry requirements
    • Contact
    • Short courses | ITU Professional Courses
    • See all short courses
    • Contact
    • Contact
    • Contact us here
  • Research
    • Sections
    • Data Science
    • Data, Systems, and Robotics
    • Digital Business Innovation
    • Digitalization Democracy and Governance
    • Human-Computer Interaction and Design
    • Play Culture and AI
    • Software Engineering
    • Technologies in Practice
    • Theoretical Computer Science
    • Research Centres
    • Centre for Digital Play
    • Center for Climate IT
    • Center for Computing Education Research
    • Centre for Digital Welfare
    • Centre for Information Security and Trust
    • Research Centre for Government IT
    • Danish Institute for IT Program Management
    • Research entities
    • Research centers
    • Sections
    • Research groups
    • Labs
    • ITU Research Portal
    • Find Researcher
    • Find Research
    • Research Ethics and Integrity
    • Good Scientific Practice
    • Technical Reports
    • Technical Reports
    • PhD Programme
    • About the PhD Programme
    • PhD Courses
    • PhD Defences
    • PhD Positions
    • Types of Enrolment
    • PhD Admission Requirements
    • PhD Handbook
    • PhD Support
  • Collaboration
    • Collaboration with students
    • Project collaboration
    • Project Market
    • Student worker
    • Project postings
    • Job and Project bank
    • Employer Branding
    • IT Match Making
    • Hiring an ITU student or graduate
    • Make a post in the job bank
    • Research collaboration
    • Read more about research collaboration at ITU
    • Industrial PhD
    • Hire an Industrial PhD
    • Maritime Hub
    • Innovation and entrepreneurship
    • ITU Business Development
    • ITU NextGen
  • About ITU
    • About ITU
    • Press
    • Vacancies
    • Contact
  • DK
PhD Programme
ITU  /  Research  /  PhD Programme  /  Courses  /  Archive  /  2012  /  PhD course in Specifying and Reasoning About Computational System
  • Research
    • Research Sections
    • Research Ethics and Integrity
    • Good Scientific Practice
    • Research centers
    • Research groups
    • Labs
    • Technical Reports
    • PhD Programme
      • About the PhD Programme
      • Courses
        • 2025
        • 2024
        • Archive
          • 2023
          • 2022
          • 2021
          • 2020
          • 2019
          • 2018
          • 2017
          • 2016
          • 2015
          • 2014
          • 2013
          • 2012
            • PhD Reading group on Developments in Session Types
            • PhD seminar in Writer's Workshop
            • PhD course in Academic English Writing
            • PhD course in Specifying and Reasoning About Computational System
              • PhD Course in CSCW
              • PhD Course in Category Theory
              • PhD course in Machine Learning Theory
              • PhD course in Research Topics in Software Engineering
              • PhD course on STS literature
              • PhD Seminar in Digital Games and Literary Theory
            • 2011
            • 2010
        • Defences
        • PhD Positions
        • Types of Enrolment
        • PhD Admission Requirements
        • Handbook
        • PhD Support

    PhD course in Specifying and Reasoning About Computational System


    Title:
    Specifying and Reasoning About Computational Systems

    Organizer: Gopalan Nadathur

    Lecturer: Gopalan Nadathur

    Course description:
    We will introduce a logical approach to specifying, prototyping and
    reasoning about formal systems that are presented via syntax-directed
    rules. This style of description includes, for example, the typical
    presentation of typing and evaluation relations for programming
    languages, proof systems for varied logics, software modelling
    languages and software specifications, and process calculi and
    encodings of concurrent systems. Many of these systems characterize
    relations over syntactic objects that involve binding, a notion whose
    correct treatment in specification and reasoning tasks has proven to
    be surprisingly tricky. The first part of the course will expose a
    specification language based on a higher-order logic that provides a
    natural and effective means for formalizing such systems. This part
    will also develop the proof-theoretic and computational properties of
    the specification language that allows it to be used also as a means
    for programming and prototyping. The second part of the course will
    consider logics for reasoning about formalizations in the
    specification language. Such logics must internalize the "closed
    world" assumption inherent to specifications and should support
    reasoning principles such as induction. We will develop a treatment of
    such aspects and will also discuss mechanisms for reasoning
    effectively in the presence of binding notions. Finally, we will
    understand the two-level logic approach that smoothly integrates
    specification, prototyping and reasoning and also allows
    meta-theoretic properties of the specification logic to be used to
    advantage. Implementations of the specification and reasoning logics
    in the form of the Teyjus, Bedwyr and Abella systems will be used to
    provide concreteness to the foundational and methodological
    discussions.

    Program:
    A tentative schedule for the lectures is the following:

    Lecture 1: Relational Specifications, Foundations of Logic
    Programming. Motivation for logic programming in formal
    specification, desiderata. Sequent calculus based formulation of logic
    programming, first-order Horn clauses and hereditarily Harrop
    formulas.

    Lecture 2. Higher-Order Logic Programming. A logic over the lambda
    calculus, the need for typing, Church's higher-order logic (Simple
    Theory of Types), predicate variables and proof search, higher-order
    hereditary Harrop formulas, programming in hohh, higher-order abstract
    about:blank 1 of 3 19-03-2012 09:12 syntax, introduction to Lambda Prolog.

    Lecture 3. Higher-Order Unification. Unification described as equation
    solving under a mixed prefix of quantifiers, raising and
    Skolemization, complexity of higher-order unification, Huet's
    procedure for general higher-order unification, motivation for
    higher-order pattern unification and its properties and realization.

    Lecture 4. Case studies in specification. Extended examples
    illustrating the use of higher-order abstract syntax and logic
    programming a la Lambda Prolog in encoding proof systems, process
    calculi, evaluation and typing for programming languages, and other
    related formal systems.

    Lecture 5. Design of a logic for reasoning about specifications.
    Motivation for reasoning through specifications via simple examples
    such as subject reduction for lambda calculus, identification of
    logical properties needed, logic of fixed-point definitions as a means
    for encoding specifications.

    Lecture 6. Continued development of a logic of definitions. Treatment
    of induction and co-induction, the need for generic quantification,
    the nabla quantifier, nominal abstraction for analysis of contexts,
    issues related to adequacy of encoding, further developments such as
    the addition of rewriting for encoding recursive definitions.

    Lecture 7. Reasoning based on the logic of definitions. Model checking
    oriented reasoning about finite behavior via a generalized logic
    programming interpreter, the Bedwyr system and example
    applications. Two level approach to reasoning about specifications,
    the Abella system.

    Lecture 8. Reasoning based on the logic of definitions
    (continued). More on the two level style of reasoning, exploiting
    meta-theoretic properties of the specification logic, case studies
    using the Abella system, issues related to realizing proof search.
    Sources for the material to be covered:

    The first half of the course will be based on a forthcoming book:
    Programming with Higher Order Logic by Dale Miller and Gopalan
    Nadathur. Drafts of relevant portions of the book will be provided in
    hard copy form. The book will be out in print on May 31 - see here - and
    students in the course wishing to own a copy can avail of a discount
    voucher from Cambridge University Press.

    The second half of the course will be based on doctoral theses by
    David Baelde, Andrew Gacek, Ray McDowell, Alwen Tiu and recent
    research papers involving these individuals and Dale Miller and
    Gopalan Nadathur. Particular articles and portions of the theses that
    are especially important to read for the course will be announced
    through the web page at a time closer to the coverage of the
    material.

    The course will also involve the use of the Bedwyr, Abella and Teyjus
    systems. These can be downloaded over the internet.

    Will you create your own course website? Yes.
    http://www.cs.umn.edu/~gopalan/courses/ITU-2012

    Dates of the course:
    April 23 - June 11 (8 weeks)

    Location: Room 3A20 June 4 and June 11 - both days the lecture will take place from 9-12.

    Time: (one lecture each week, two hours in duration)

    Exam: There will be no formal exams, evaluation will be based on class
    participation.

    Credits: 5 ECTS

    Availiable spaces: About 10-15 participants

    Contact us

    Phone
    +45 7218 5000
    E-mail
    itu@itu.dk

    All contact information

    Web Accessibility Statement

    Find us

    IT University of Copenhagen
    Rued Langgaards Vej 7
    DK-2300 Copenhagen S
    Denmark
    How to get here

    Follow us

    ITU Student /
    Privacy /
    EAN-nr. 5798000417878/
    CVR-nr. 29 05 77 53 /
    P-nummer 1005162959

    This page is printed from https://itu.dk/404