Skip to main content ITU
IT Universitety of Copenhagen - Logo
  • Programmes
  • Professional Education
  • Research
  • Collaboration
  • About ITU
  • Centres, hubs & labs
    • Centre for Digital Play
    • Centre for Climate IT
    • Center for Computing Education Research
    • Centre for Digital Welfare
    • Centre for Information Security and Trust
    • Danish Institute for IT Program Management
    • Maritime Hub
    • Labs
  • Sections and research groups
    • 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 groups
  • Research resources
    • ITU Research Portal
    • Find researcher
    • Research ethics and integrity
    • Good Scientific Practice
    • Technical Reports
    • Statement on Academic Freedom
  • PhD Programme
    • About the PhD Programme
    • PhD Courses
    • PhD Defences
    • PhD Positions
    • Types of Enrolment
    • PhD Admission Requirements
    • PhD Handbook
    • PhD Support
Search
  • Dansk
  • English

ITU

Frontpage

ITU / Programmes

Programmes

ITU / Professional Education

Professional Education

ITU / Research

Research

ITU / Collaboration

Collaboration

ITU / About ITU

About ITU

ITU / Programmes / BSc Programmes New

BSc Programmes New

ITU / Programmes / MSc Programmes New

MSc Programmes New

ITU / Programmes / Student Life

Student Life

ITU / Programmes / International students

International students

ITU / Programmes / Open House new

Open House new

ITU / Professional Education / Master in IT Management

Master in IT Management

ITU / Professional Education / Single subjects

Single subjects

ITU / Professional Education / Short courses

Short courses

ITU / Professional Education / Contact

Contact

ITU / Research / Research centers

Research centers

ITU / Research / Sections and research groups

Sections and research groups

ITU / Research / Research resources

Research resources

ITU / Research / PhD Programme

PhD Programme

ITU / Collaboration / Collaboration with students

Collaboration with students

ITU / Collaboration / Employer Branding

Employer Branding

ITU / Collaboration / Research innovation

Research innovation

ITU / Collaboration / Student entrepreneurship

Student entrepreneurship

ITU / About ITU / Organisation

Organisation

ITU / About ITU / Values, strategy and principles

Values, strategy and principles

ITU / About ITU / Facts and Figures

Facts and Figures

ITU / About ITU / Press

Press

ITU / About ITU / Vacancies

Vacancies
  • Programmes
  • Professional Education
  • Research
  • Collaboration
  • About ITU
  • BSc Programmes
  • MSc Programmes
  • Student Life
  • International students
  • Open House
  • Master in IT Management
  • Single Subjects
  • Short courses
  • Contact
  • Centres, hubs & labs
  • Sections and research groups
  • Research resources
  • PhD Programme
  • Collaboration with students
  • Employer Branding
  • Research innovation
  • Student entrepreneurship
  • Organisation
  • Values, strategy and principles
  • Facts and Figures
  • Press and news
  • Vacancies
  • BSc in Global Business Informatics
  • BSc in Digital Design and Interactive Technologies
  • BSc in Software Development
  • BSc in Data Science
  • Guest students
  • ITU Summer University
  • Applying for a BSc programme
  • 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
  • Master's reform
  • Guest students
  • ITU Summer University
  • Applying for an MSc programme
  • 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 students
  • Open House - BSc programmes
  • Open House - MSc programmes
  • Centre for Digital Play
  • Centre for Climate IT
  • Center for Computing Education Research
  • Centre for Digital Welfare
  • Centre for Information Security and Trust
  • Danish Institute for IT Program Management
  • Maritime Hub
  • Labs
  • 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 groups
  • ITU Research Portal
  • Find researcher
  • Research ethics and integrity
  • Good Scientific Practice
  • Technical Reports
  • Statement on Academic Freedom
  • About the PhD Programme
  • PhD Courses
  • PhD Defences
  • PhD Positions
  • Types of Enrolment
  • PhD Admission Requirements
  • PhD Handbook
  • PhD Support
  • Project collaboration
  • Project Market
  • Project postings
  • Post a project posting in the job bank
  • IT Match Making
  • Post a job in the job bank
  • Hire an Industrial PhD
  • ITU NextGen
  • ITU Business Development
  • Board of Directors
  • Advisory Panels
  • Diversity Equity and Inclusion
  • Pedagogical principles
  • Annual reports
  • Key figures
  • Development Contracts
  • Quality and Educational Environment
  • Transparency and Openness
  • Articles of association
  • Asset Management
  • The story of ITU
  • News from ITU
  • Press contacts
  • Press photos
  • Find an expert
  • Logos
  • Job agent
  • Test policy
  • Competence profiles
PhD Programme
ITU  /  Research  /  PhD Programme  /  Courses  /  Archive  /  2012  /  PhD course in Specifying and Reasoning About Computational System

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

IT-Universitetet i København - Logo

Contact

IT University of Copenhagen
Rued Langgaards Vej 7
DK-2300 Copenhagen S
Denmark

Telephone: +45 7218 5000
E-mail: itu@itu.dk
All contact information
How to get here
Building accessibility

Explore

News
Vacancies
Events

Useful links

ITU Library Service
ITU Student
ITU Alumni
Body of External Examiners
Press

Invoicing

CVR-nr. 29 05 77 53
P-number: 1005162959
EAN-nr. 5798000417878
Send invoice

Web

Web Accessibility Statement
Privacy Statement

ITU at Instagram ITU at Facebook ITU at Linkedin ITU at Youtube ITU at Bluesky

This page is printed from https://en.itu.dk/Programmes/MSc-Programmes/Data-Science