A Compositional Typed Higher-Order Logic with
Definitions

Ingmar Dasseville, Matthias van der Hallen, Bart Bogaerts, Gerda Janssens,

Marc Denecker

Timeline

adding templates to languages

Last Year

framework for adding language constructs and building logics  

Result

This Year

Building a very general logic

including compositionality principles

Building a language 101

What does an expression denote?

set of syntactical expressions

BNF

executable sequence of instructions

C

Logic

???

Infons

Infon

Function of structures to values

Infon of

p v q

Maps {p} to True

Maps {}   to False

Infon of

c+5

Maps {c->3} to  8

A quantum of information

=

Language constructs

Extend the set of valid expressions

Syntax

Not all expressions within the grammar are sensible (e.g. 1+"hello")

Typing

Semantics

What infon corresponds to the expression?

Compositionality (Frege)

The meaning of a complex expression is determined by the meanings of its constituent expressions and the rules used to combine them

Compositionality (Frege)

Sem_L(C(e_1,...,e_n)) = Sem_C(Sem_L(e_1),...,Sem_L(e_n))
SemL(C(e1,...,en))=SemC(SemL(e1),...,SemL(en))Sem_L(C(e_1,...,e_n)) = Sem_C(Sem_L(e_1),...,Sem_L(e_n))

The semantics for a logic L and a language constructs C must satisfy:

And also typing:

Typ_L(C(e_1,...,e_n)) = Typ_C(Typ_L(e_1),...,Typ_L(e_n))
TypL(C(e1,...,en))=TypC(TypL(e1),...,TypL(en))Typ_L(C(e_1,...,e_n)) = Typ_C(Typ_L(e_1),...,Typ_L(e_n))

Language Constructs

Apply a function to an argument

Application

Introduce an anonymous function

Lambda Abstraction

Definitions

Well-founded definitions

Constants

Numbers, Strings, ...

Applications

Templates

Game Playing

{
$\forall$cur $\forall$Move $\forall$IsWon: win(cur, Move, IsWon) $\leftarrow$ IsWon(cur) $\lor$
    $\exists$ nxt : Move(cur,nxt) $\land$ lose(nxt,Move,IsWon).    
$\forall$cur $\forall$Move $\forall$IsWon: lose(cur,Move, IsWon) $\leftarrow$ $\neg$IsWon(cur) $\land$
     $\forall$ nxt : Move(cur,nxt) $\Rightarrow$ win(nxt,Move,IsWon).
}

{
$\forall$Q $\forall$P: tc(P,Q) $\leftarrow$
    {$\forall$x $\forall$y: Q(x,y) $\leftarrow$ P(x,y) $\lor$($\exists$ z: Q(x,z)$\land$Q(z,y))}.
}

Bird's-eye view

Constraints on semantics by Frege

Compositionality

For free because of unifying infon objects

Integration of constructs

Applications

Current applications more natural + 

loads of new ones (but we need solvers!)

Meaning of an expression

Infon

iclp16

By Ingmar Dasseville