Towards an algebraic classification of recognizable sets of - - PowerPoint PPT Presentation

towards an algebraic classification of
SMART_READER_LITE
LIVE PREVIEW

Towards an algebraic classification of recognizable sets of - - PowerPoint PPT Presentation

Towards an algebraic classification of recognizable sets of lambda-terms 1 Sylvain Salvati INRIA Bordeaux sud-ouest, LaBRI, universit e de Bordeaux Automata, Concurrency and Timed Systems (ACTS) III 1 With the financial support of ANR 2010


slide-1
SLIDE 1

Towards an algebraic classification of recognizable sets of lambda-terms1

Sylvain Salvati

INRIA Bordeaux sud-ouest, LaBRI, universit´ e de Bordeaux

Automata, Concurrency and Timed Systems (ACTS) III

1With the financial support of ANR 2010 BLAN 0202 01 FREC

slide-2
SLIDE 2

Outline

Recognizable sets of λ-terms Recognizability and congruence Eilenberg theorem: towards an algebraic classification of classes of C-recognizable languages Varieties of locally finite CCCs

slide-3
SLIDE 3

Outline

Recognizable sets of λ-terms Recognizability and congruence Eilenberg theorem: towards an algebraic classification of classes of C-recognizable languages Varieties of locally finite CCCs

slide-4
SLIDE 4

λ-calculus: syntax

Given a finite set of atomic types A, simple types are: TA := A|(TA → TA)

slide-5
SLIDE 5

λ-calculus: syntax

Given a finite set of atomic types A, simple types are: TA := A|(TA → TA) A higher order signature (HOS) is a tuple Σ = (A, C, τ) where:

◮ A is a finite set of atomic types, ◮ C is a finite set of constants, ◮ τ is a function from C to TA.

slide-6
SLIDE 6

λ-calculus: syntax

Given a finite set of atomic types A, simple types are: TA := A|(TA → TA) A higher order signature (HOS) is a tuple Σ = (A, C, τ) where:

◮ A is a finite set of atomic types, ◮ C is a finite set of constants, ◮ τ is a function from C to TA.

λ-terms built on Σ are defined as:

◮ for α ∈ TA, xα ∈ Λα Σ, ◮ c ∈ Λτ(c) Σ

,

◮ if M1 ∈ Λα2→α1 Σ

, M2 ∈ Λα2

Σ , then (M1M2) ∈ Λα1 Σ , ◮ if M ∈ Λα1 Σ , then λxα2.M ∈ Λα2→α1 Σ

.

slide-7
SLIDE 7

λ-calculus: operational semantics

λ-calculus is a theory of function and computation. Computation is done with the relation of βη-contraction (→βη): (λx.M)N (λx.M)N →βη M[x := N] λx.Mx x / ∈ FV (M) λx.Mx →βη M M1 →βη M2 (MM1) →βη (MM2) M1 →βη M2 (M1M) →βη (M2M) M1 →βη M2 (λx.M1) →βη (λx.M2)

slide-8
SLIDE 8

λ-calculus: operational semantics

λ-calculus is a theory of function and computation. Computation is done with the relation of βη-contraction (→βη): (λx.M)N (λx.M)N →βη M[x := N] λx.Mx x / ∈ FV (M) λx.Mx →βη M M1 →βη M2 (MM1) →βη (MM2) M1 →βη M2 (M1M) →βη (M2M) M1 →βη M2 (λx.M1) →βη (λx.M2) βη-reduction (

→βη): reflexive transitive closure of βη-contraction βη-conversion: symetric closure of βη-reduction

slide-9
SLIDE 9

λ-calculus: operational semantics

λ-calculus is a theory of function and computation. Computation is done with the relation of βη-contraction (→βη): (λx.M)N (λx.M)N →βη M[x := N] λx.Mx x / ∈ FV (M) λx.Mx →βη M M1 →βη M2 (MM1) →βη (MM2) M1 →βη M2 (M1M) →βη (M2M) M1 →βη M2 (λx.M1) →βη (λx.M2) βη-reduction (

→βη): reflexive transitive closure of βη-contraction βη-conversion: symetric closure of βη-reduction

Theorem (Church-Rosser)

βη-conversion is confluent

slide-10
SLIDE 10

λ-calculus: operational semantics

λ-calculus is a theory of function and computation. Computation is done with the relation of βη-contraction (→βη): (λx.M)N (λx.M)N →βη M[x := N] λx.Mx x / ∈ FV (M) λx.Mx →βη M M1 →βη M2 (MM1) →βη (MM2) M1 →βη M2 (M1M) →βη (M2M) M1 →βη M2 (λx.M1) →βη (λx.M2) βη-reduction (

→βη): reflexive transitive closure of βη-contraction βη-conversion: symetric closure of βη-reduction

Theorem (Church-Rosser)

βη-conversion is confluent

Theorem (Strong Normalisation)

Given M in Λα

Σ, there is no infinite sequence of βη-contraction starting in M.

slide-11
SLIDE 11

Simply typed λ-calculus generalizes trees

The ranked alphabet {e; g; f } where rank(e) = 0, rank(g) = 1, rank(f ) = 2 can be represented by the following second order constants: e : o, g : o → o, f : o → o → o

slide-12
SLIDE 12

Simply typed λ-calculus generalizes trees

The ranked alphabet {e; g; f } where rank(e) = 0, rank(g) = 1, rank(f ) = 2 can be represented by the following second order constants: e : o, g : o → o, f : o → o → o the term g(f (e, g(e))) is represented by the λ-term g(f e (g e))

slide-13
SLIDE 13

Simply typed λ-calculus generalizes trees

The ranked alphabet {e; g; f } where rank(e) = 0, rank(g) = 1, rank(f ) = 2 can be represented by the following second order constants: e : o, g : o → o, f : o → o → o the term g(f (e, g(e))) is represented by the λ-term g(f e (g e)) The B¨

  • hm tree of the λ-term is the same as the graphic

representation of the term: g f e g e

slide-14
SLIDE 14

Simply typed λ-calculus generalizes trees

The ranked alphabet {e; g; f } where rank(e) = 0, rank(g) = 1, rank(f ) = 2 can be represented by the following second order constants: e : o, g : o → o, f : o → o → o the term g(f (e, g(e))) is represented by the λ-term g(f e (g e)) The B¨

  • hm tree of the λ-term is the same as the graphic

representation of the term: g f e g e A λ-term whose normal form represent a tree is a λ-tree.

slide-15
SLIDE 15

Simply typed λ-calculus generalizes strings

The elements of {a; b}∗ can be represented with the constants: a : o → o, b : o → o Strings are represented by terms of type o → o: the string aba is represented by /aba/ = λxo.a(b(a xo))

slide-16
SLIDE 16

Simply typed λ-calculus generalizes strings

The elements of {a; b}∗ can be represented with the constants: a : o → o, b : o → o Strings are represented by terms of type o → o: the string aba is represented by /aba/ = λxo.a(b(a xo)) Concatenation is then s1 + s2 = λxo.s1(s2(xo)): /ab/ + /bb/ = λxo.a(b(xo)) + λxo.b(b(xo)) = λxo.(λyo.a(b yo))((λzo.b(b zo))xo) =βη λxo.a(b(b(b zo))) and the empty string is λxo.xo

slide-17
SLIDE 17

Simply typed λ-calculus generalizes strings

The elements of {a; b}∗ can be represented with the constants: a : o → o, b : o → o Strings are represented by terms of type o → o: the string aba is represented by /aba/ = λxo.a(b(a xo)) Concatenation is then s1 + s2 = λxo.s1(s2(xo)): /ab/ + /bb/ = λxo.a(b(xo)) + λxo.b(b(xo)) = λxo.(λyo.a(b yo))((λzo.b(b zo))xo) =βη λxo.a(b(b(b zo))) and the empty string is λxo.xo A λ-term whose normal form represent a string is a λ-string.

slide-18
SLIDE 18

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite.

slide-19
SLIDE 19

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ.

slide-20
SLIDE 20

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

slide-21
SLIDE 21

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

A variable assignment χ : V →

α∈T (Σ) Mα so that χ(xα) ∈ Mα.

slide-22
SLIDE 22

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

A variable assignment χ : V →

α∈T (Σ) Mα so that χ(xα) ∈ Mα.

The semantics of λ-terms in M is inductively defined by:

◮ [

[c] ]M

χ = ι(c),

slide-23
SLIDE 23

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

A variable assignment χ : V →

α∈T (Σ) Mα so that χ(xα) ∈ Mα.

The semantics of λ-terms in M is inductively defined by:

◮ [

[c] ]M

χ = ι(c), ◮ [

[xα] ]M

χ = χ(xα),

slide-24
SLIDE 24

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

A variable assignment χ : V →

α∈T (Σ) Mα so that χ(xα) ∈ Mα.

The semantics of λ-terms in M is inductively defined by:

◮ [

[c] ]M

χ = ι(c), ◮ [

[xα] ]M

χ = χ(xα), ◮ [

[MN] ]M

χ = [

[M] ]M

χ ([

[N] ]M

χ ),

slide-25
SLIDE 25

Finite models for recognizability in the simply typed λ-calculus

Let Σ be a HOS. M = ((Mα)α∈T (Σ), ι) is a finite model of Σ if:

◮ The sets Mα are finite. ◮ Mα→β is the set of all functions from Mα to Mβ. ◮ ι maps constants of type α to Mα

A variable assignment χ : V →

α∈T (Σ) Mα so that χ(xα) ∈ Mα.

The semantics of λ-terms in M is inductively defined by:

◮ [

[c] ]M

χ = ι(c), ◮ [

[xα] ]M

χ = χ(xα), ◮ [

[MN] ]M

χ = [

[M] ]M

χ ([

[N] ]M

χ ), ◮ [

[λxα.M] ]M

χ (a) = [

[M] ]M

χ←[xα:=a] with a ∈ Mα.

slide-26
SLIDE 26

Finite models for recognizability in the simply typed λ-calculus

Definition: A set of λ-terms R ⊆ Λα

Σ is recognizable iff there is a finite full

model M = ((Mα)α∈T (Σ), ι) , N ⊆ Mα: R = {M|FV (M) = ∅ ∧ [ [M] ]M ∈ N} R N Λα

Σ

Mα [ [·] ]−1

slide-27
SLIDE 27

Finite models for recognizability in the simply typed λ-calculus

Definition: A set of λ-terms R ⊆ Λα

Σ is recognizable iff there is a finite full

model M = ((Mα)α∈T (Σ), ι) , N ⊆ Mα: R = {M|FV (M) = ∅ ∧ [ [M] ]M ∈ N} R N Λα

Σ

Mα [ [·] ]−1 Note:

◮ recognizable sets are closed under =βη ◮ the emptiness of recognizable sets subsumes λ-definability

which is undecidable (Loader 1993).

slide-28
SLIDE 28

Properties of recognizable sets of λ-terms

◮ R is a recognizable set of λ-strings iff {w | /w/ ∈ R} is a

recognizable set of strings (similarly for λ-trees/trees).

slide-29
SLIDE 29

Properties of recognizable sets of λ-terms

◮ R is a recognizable set of λ-strings iff {w | /w/ ∈ R} is a

recognizable set of strings (similarly for λ-trees/trees).

◮ The class of recognizable sets of λ-terms is closed under

Boolean operations.

slide-30
SLIDE 30

Properties of recognizable sets of λ-terms

◮ R is a recognizable set of λ-strings iff {w | /w/ ∈ R} is a

recognizable set of strings (similarly for λ-trees/trees).

◮ The class of recognizable sets of λ-terms is closed under

Boolean operations.

◮ It is also closed under inverse homomorphism of λ-terms

(CCC-functor).

slide-31
SLIDE 31

Properties of recognizable sets of λ-terms

◮ R is a recognizable set of λ-strings iff {w | /w/ ∈ R} is a

recognizable set of strings (similarly for λ-trees/trees).

◮ The class of recognizable sets of λ-terms is closed under

Boolean operations.

◮ It is also closed under inverse homomorphism of λ-terms

(CCC-functor).

◮ There is a mechanical (equivalent) characterization of

recognizability in terms of intersection types.

slide-32
SLIDE 32

Properties of recognizable sets of λ-terms

◮ R is a recognizable set of λ-strings iff {w | /w/ ∈ R} is a

recognizable set of strings (similarly for λ-trees/trees).

◮ The class of recognizable sets of λ-terms is closed under

Boolean operations.

◮ It is also closed under inverse homomorphism of λ-terms

(CCC-functor).

◮ There is a mechanical (equivalent) characterization of

recognizability in terms of intersection types.

◮ An approach based on finite standard model gives a simple

proof of the decidability of the acceptance by a B¨ uchi tree automaton of the infinite tree generated by a higher-order programming scheme (S., Srivathsan, Walukiewicz).

slide-33
SLIDE 33

Outline

Recognizable sets of λ-terms Recognizability and congruence Eilenberg theorem: towards an algebraic classification of classes of C-recognizable languages Varieties of locally finite CCCs

slide-34
SLIDE 34

Cartesian Closed Category

C is a Cartesian Close Category if:

◮ C is a category,

slide-35
SLIDE 35

Cartesian Closed Category

C is a Cartesian Close Category if:

◮ C is a category, ◮ it has a terminal object 1,

slide-36
SLIDE 36

Cartesian Closed Category

C is a Cartesian Close Category if:

◮ C is a category, ◮ it has a terminal object 1, ◮ for every pair of objects α and β, there is:

◮ a product-object α × β, with associated projection

π1 : α × β → α and π2 : α × β → β,

slide-37
SLIDE 37

Cartesian Closed Category

C is a Cartesian Close Category if:

◮ C is a category, ◮ it has a terminal object 1, ◮ for every pair of objects α and β, there is:

◮ a product-object α × β, with associated projection

π1 : α × β → α and π2 : α × β → β,

◮ an exponential-object αβ such that

Hom(α × β, δ) ∼ = Hom(α, δβ)

slide-38
SLIDE 38

Cartesian Closed Category

C is a Cartesian Close Category if:

◮ C is a category, ◮ it has a terminal object 1, ◮ for every pair of objects α and β, there is:

◮ a product-object α × β, with associated projection

π1 : α × β → α and π2 : α × β → β,

◮ an exponential-object αβ such that

Hom(α × β, δ) ∼ = Hom(α, δβ)

A CCC-functor is a morphism of CCC, i.e. it commutes with products and exponentials.

slide-39
SLIDE 39

Cartesian Closed Categories and congruences

Given a HOS Σ, ΛΣ (up to βη-convertibility) forms a CCC:

◮ Objects: types and products of types

slide-40
SLIDE 40

Cartesian Closed Categories and congruences

Given a HOS Σ, ΛΣ (up to βη-convertibility) forms a CCC:

◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where:

◮ Γ = x1 : α1, . . . , xn : αn is interpreted as the object

β = α1 × . . . × αn

◮ M is an arrow β → α.

slide-41
SLIDE 41

Cartesian Closed Categories and congruences

Given a HOS Σ, ΛΣ (up to βη-convertibility) forms a CCC:

◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where:

◮ Γ = x1 : α1, . . . , xn : αn is interpreted as the object

β = α1 × . . . × αn

◮ M is an arrow β → α. ◮ remark: when Γ is empty then M is an arrow 1 → α.

slide-42
SLIDE 42

Cartesian Closed Categories and congruences

Given a HOS Σ, ΛΣ (up to βη-convertibility) forms a CCC:

◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where:

◮ Γ = x1 : α1, . . . , xn : αn is interpreted as the object

β = α1 × . . . × αn

◮ M is an arrow β → α. ◮ remark: when Γ is empty then M is an arrow 1 → α.

Given a congruence ≡ on ΛΣ, ΛΣ/≡ forms a CCC, the arrows are equivalence classes of λ-terms.

slide-43
SLIDE 43

Cartesian Closed Categories and congruences

Given a HOS Σ, ΛΣ (up to βη-convertibility) forms a CCC:

◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where:

◮ Γ = x1 : α1, . . . , xn : αn is interpreted as the object

β = α1 × . . . × αn

◮ M is an arrow β → α. ◮ remark: when Γ is empty then M is an arrow 1 → α.

Given a congruence ≡ on ΛΣ, ΛΣ/≡ forms a CCC, the arrows are equivalence classes of λ-terms. We write F≡ for the surjective functor from ΛΣ to ΛΣ/≡.

slide-44
SLIDE 44

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC,

slide-45
SLIDE 45

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC, ◮ when C = ΛΣ, ΛΣ/∼A is the syntactic CCC associated to the

language A,

slide-46
SLIDE 46

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC, ◮ when C = ΛΣ, ΛΣ/∼A is the syntactic CCC associated to the

language A,

◮ whenever ≈ is a congruence on C and A = F −1 ≈ (B) for

B ⊆ HomΛΣ/≈(β, α), then there is a surjective functor G : ΛΣ/≈ → ΛΣ/∼A,

slide-47
SLIDE 47

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC, ◮ when C = ΛΣ, ΛΣ/∼A is the syntactic CCC associated to the

language A,

◮ whenever ≈ is a congruence on C and A = F −1 ≈ (B) for

B ⊆ HomΛΣ/≈(β, α), then there is a surjective functor G : ΛΣ/≈ → ΛΣ/∼A,

◮ the syntactic CCC of a recognizable set of λ-terms is locally

finite (i.e. for every α, β, HomΛΣ/∼R(α, β) is finite),

slide-48
SLIDE 48

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC, ◮ when C = ΛΣ, ΛΣ/∼A is the syntactic CCC associated to the

language A,

◮ whenever ≈ is a congruence on C and A = F −1 ≈ (B) for

B ⊆ HomΛΣ/≈(β, α), then there is a surjective functor G : ΛΣ/≈ → ΛΣ/∼A,

◮ the syntactic CCC of a recognizable set of λ-terms is locally

finite (i.e. for every α, β, HomΛΣ/∼R(α, β) is finite),

◮ conjecture: every language of λ-terms that has a locally

finite syntactic CCC is recognizable.

slide-49
SLIDE 49

Syntactic CCC of a language

Given a CCC C and A ⊆ Hom(β, α) and f1, f2 in Hom(θ, δ), we have: f1 ∼A f2 iff ∀C[].C[f1] ∈ A ⇔ C[f2] ∈ A

◮ ∼A is a congruence of CCC, ◮ when C = ΛΣ, ΛΣ/∼A is the syntactic CCC associated to the

language A,

◮ whenever ≈ is a congruence on C and A = F −1 ≈ (B) for

B ⊆ HomΛΣ/≈(β, α), then there is a surjective functor G : ΛΣ/≈ → ΛΣ/∼A,

◮ the syntactic CCC of a recognizable set of λ-terms is locally

finite (i.e. for every α, β, HomΛΣ/∼R(α, β) is finite),

◮ conjecture: every language of λ-terms that has a locally

finite syntactic CCC is recognizable. For the moment we call C-recognizable a language whose syntactic CCC is locally finite.

slide-50
SLIDE 50

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R

slide-51
SLIDE 51

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′

slide-52
SLIDE 52

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R

slide-53
SLIDE 53

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R This implies:

◮ u ≡R v iff /u/ ∼R′ /v/,

slide-54
SLIDE 54

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R This implies:

◮ u ≡R v iff /u/ ∼R′ /v/, ◮ ∼R′ is an extension of ≡R to higher-order functions over

strings,

slide-55
SLIDE 55

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R This implies:

◮ u ≡R v iff /u/ ∼R′ /v/, ◮ ∼R′ is an extension of ≡R to higher-order functions over

strings,

◮ the CCC associated to ∼R′ is embedding the syntactic monoid

  • f R (it is concretely represented by Hom(o, o)),
slide-56
SLIDE 56

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R This implies:

◮ u ≡R v iff /u/ ∼R′ /v/, ◮ ∼R′ is an extension of ≡R to higher-order functions over

strings,

◮ the CCC associated to ∼R′ is embedding the syntactic monoid

  • f R (it is concretely represented by Hom(o, o)),

◮ every λ-string language that has a locally finite syntactic CCC

is a recognizable set of λ-terms.

slide-57
SLIDE 57

Embedding of syntactic monoid within syntactic CCC

Given R a recognizable set of strings, and R′ be the recognizable set of λ-terms representing the elements of R:

◮ u ≡R v iff for every w1, w2, w1uw2 ∈ R ⇔ w1vw2 ∈ R ◮ /u/ ∼R′ /v/ iff for every M, M/u/ ∈ R′ ⇔ M/v/ ∈ R′ ◮ or equivalently iff for every w0,. . . , wn,

w0uw1 . . . wn−1uwn ∈ R ⇔ w0vw1 . . . wn−1vwn ∈ R This implies:

◮ u ≡R v iff /u/ ∼R′ /v/, ◮ ∼R′ is an extension of ≡R to higher-order functions over

strings,

◮ the CCC associated to ∼R′ is embedding the syntactic monoid

  • f R (it is concretely represented by Hom(o, o)),

◮ every λ-string language that has a locally finite syntactic CCC

is a recognizable set of λ-terms. Remark: similar results hold for recognizable sets of trees seen as recognizable sets of λ-terms.

slide-58
SLIDE 58

Outline

Recognizable sets of λ-terms Recognizability and congruence Eilenberg theorem: towards an algebraic classification of classes of C-recognizable languages Varieties of locally finite CCCs

slide-59
SLIDE 59

Classification of recognizable sets of λ-terms

We have syntactic objects that fully characterize languages of λ-terms:

◮ can we classify these languages in terms of properties of their

syntactic CCCs?

slide-60
SLIDE 60

Classification of recognizable sets of λ-terms

We have syntactic objects that fully characterize languages of λ-terms:

◮ can we classify these languages in terms of properties of their

syntactic CCCs?

◮ we try to extend classification tools used for recognizable

string languages:

slide-61
SLIDE 61

Classification of recognizable sets of λ-terms

We have syntactic objects that fully characterize languages of λ-terms:

◮ can we classify these languages in terms of properties of their

syntactic CCCs?

◮ we try to extend classification tools used for recognizable

string languages:

◮ we define varieties of locally finite CCCs,

slide-62
SLIDE 62

Classification of recognizable sets of λ-terms

We have syntactic objects that fully characterize languages of λ-terms:

◮ can we classify these languages in terms of properties of their

syntactic CCCs?

◮ we try to extend classification tools used for recognizable

string languages:

◮ we define varieties of locally finite CCCs, ◮ and varieties of languages of λ-terms.

slide-63
SLIDE 63

Varieties of finite monoids

A variety of finite monoids V is a class of finite monoids with the following closure properties:

◮ If M1 and M2 are V, then M1 × M2 is also in V, ◮ If M1 is a submonoid of M2 and M2 is in V, then M1 is also in

V

◮ If M is in V and ≡ is a congruence on M, then M/ ≡ is in V

slide-64
SLIDE 64

Varieties of languages

A variety of recognizable languages V is a class of recognizable languages with the following closure properties (ΣV is the class of languages in V on alphabet Σ):

◮ ΣV is closed under Boolean operations, ◮ If R is in ΣV, then a−1R and Ra−1 are in ΣV for every a in Σ. ◮ If f : Γ∗ → Σ∗ is a morphism of monoid, then R ∈ ΣV implies

f −1(A) ∈ ΓV .

slide-65
SLIDE 65

Eilenberg theorem

Given a recognizable language of strings R, we let MR be its syntactic monoid. Given V a variety of languages and V a variety of finite monoids we let:

◮ V be the variety of finite monoids generated by

{MR | R ∈ ΣV for some Σ},

slide-66
SLIDE 66

Eilenberg theorem

Given a recognizable language of strings R, we let MR be its syntactic monoid. Given V a variety of languages and V a variety of finite monoids we let:

◮ V be the variety of finite monoids generated by

{MR | R ∈ ΣV for some Σ},

V be the class of languages {R | R ⊆ Σ∗, MR ∈ V for some Σ}.

slide-67
SLIDE 67

Eilenberg theorem

Given a recognizable language of strings R, we let MR be its syntactic monoid. Given V a variety of languages and V a variety of finite monoids we let:

◮ V be the variety of finite monoids generated by

{MR | R ∈ ΣV for some Σ},

V be the class of languages {R | R ⊆ Σ∗, MR ∈ V for some Σ}. We then have:

V is a variety of languages,

slide-68
SLIDE 68

Eilenberg theorem

Given a recognizable language of strings R, we let MR be its syntactic monoid. Given V a variety of languages and V a variety of finite monoids we let:

◮ V be the variety of finite monoids generated by

{MR | R ∈ ΣV for some Σ},

V be the class of languages {R | R ⊆ Σ∗, MR ∈ V for some Σ}. We then have:

V is a variety of languages,

◮ V =

V,

slide-69
SLIDE 69

Eilenberg theorem

Given a recognizable language of strings R, we let MR be its syntactic monoid. Given V a variety of languages and V a variety of finite monoids we let:

◮ V be the variety of finite monoids generated by

{MR | R ∈ ΣV for some Σ},

V be the class of languages {R | R ⊆ Σ∗, MR ∈ V for some Σ}. We then have:

V is a variety of languages,

◮ V =

V,

◮ V =

V

slide-70
SLIDE 70

An application of Eilenberg Theorem

If we let:

◮ SF = the variety of star-free languages = first-order definable

languages

◮ AP = the variety of aperiodic monoids

We obtain Sch¨ utzenberger-McNaughton-Papert’s result: SF = AP

slide-71
SLIDE 71

Outline

Recognizable sets of λ-terms Recognizability and congruence Eilenberg theorem: towards an algebraic classification of classes of C-recognizable languages Varieties of locally finite CCCs

slide-72
SLIDE 72

Finitely generated CCCs

A CCC C is finitely generated if there is HOS Σ and a surjective CCC-functor F : ΛΣ → C. F is called a finite presentation of C.

slide-73
SLIDE 73

Finitely generated CCCs

A CCC C is finitely generated if there is HOS Σ and a surjective CCC-functor F : ΛΣ → C. F is called a finite presentation of C.

◮ A locally finite CCC may not be finitely generated (ex:

Heyting algebra with infinitely many generators).

slide-74
SLIDE 74

Finitely generated CCCs

A CCC C is finitely generated if there is HOS Σ and a surjective CCC-functor F : ΛΣ → C. F is called a finite presentation of C.

◮ A locally finite CCC may not be finitely generated (ex:

Heyting algebra with infinitely many generators).

◮ To obtain an extension of Eilenberg Theorem we need to

impose that we only consider finitely generated CCCs.

slide-75
SLIDE 75

Product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects, a simple idea to generalize the direct product of monoids is to take C1 × C2 with:

◮ the objects of C1 × C2 is the same as the ones of C1 and C2,

slide-76
SLIDE 76

Product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects, a simple idea to generalize the direct product of monoids is to take C1 × C2 with:

◮ the objects of C1 × C2 is the same as the ones of C1 and C2, ◮ HomC1×C2(α, β) = HomC1(α, β) × HomC2(α, β)

slide-77
SLIDE 77

Product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects, a simple idea to generalize the direct product of monoids is to take C1 × C2 with:

◮ the objects of C1 × C2 is the same as the ones of C1 and C2, ◮ HomC1×C2(α, β) = HomC1(α, β) × HomC2(α, β) ◮ C1 × C2, is a locally finite CCC,

slide-78
SLIDE 78

Product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects, a simple idea to generalize the direct product of monoids is to take C1 × C2 with:

◮ the objects of C1 × C2 is the same as the ones of C1 and C2, ◮ HomC1×C2(α, β) = HomC1(α, β) × HomC2(α, β) ◮ C1 × C2, is a locally finite CCC, ◮ but C1 × C2 may not be finitely generated. . .

slide-79
SLIDE 79

Product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects, a simple idea to generalize the direct product of monoids is to take C1 × C2 with:

◮ the objects of C1 × C2 is the same as the ones of C1 and C2, ◮ HomC1×C2(α, β) = HomC1(α, β) × HomC2(α, β) ◮ C1 × C2, is a locally finite CCC, ◮ but C1 × C2 may not be finitely generated. . .

Thus given two finite presentation F1 and F2 of C1 and C2, we define C1 ×F1,F2 C2 to be the sub-CCC of C1 × C2 generated by the arrows:

  • c∈Σ1

{F1(c)} × HomC2(1, τ1(c)) ∪

  • c∈Σ2

HomC1(1, τ2(c)) × {F2(c)}

slide-80
SLIDE 80

Direct product of monoids and product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects and which are generated only by string signatures:

◮ for every presentation F1, G1 and F2, G2 of respectively C1

and C2 we have C1 ×F1,F2 C2 = C1 ×G1,G2 C2

slide-81
SLIDE 81

Direct product of monoids and product of CCCs

Given C1 and C2 two locally finite and finitely generated CCCs, that have the same objects and which are generated only by string signatures:

◮ for every presentation F1, G1 and F2, G2 of respectively C1

and C2 we have C1 ×F1,F2 C2 = C1 ×G1,G2 C2

◮ a question is whether for every locally finite and finitely

generated CCC, C1 and C2 we can find a canonical sub-CCC of C1 × C2 that is finitely generated.

slide-82
SLIDE 82

α-syntactic and α-separated CCC

A CCC C is said α-syntactic if there is a subset of A of Hom(1, α) such that for every f1, f2 in Hom(θ, δ): f1 ∼A f2 if and only if f1 = f2

slide-83
SLIDE 83

α-syntactic and α-separated CCC

A CCC C is said α-syntactic if there is a subset of A of Hom(1, α) such that for every f1, f2 in Hom(θ, δ): f1 ∼A f2 if and only if f1 = f2 We then have:

◮ if C1, C2 are two α-syntactic CCC, then for every presentation

F1 and F2 of C1 and C2, C1 ×F1,F2 C2 is α-syntactic.

slide-84
SLIDE 84

α-syntactic and α-separated CCC

A CCC C is said α-syntactic if there is a subset of A of Hom(1, α) such that for every f1, f2 in Hom(θ, δ): f1 ∼A f2 if and only if f1 = f2 We then have:

◮ if C1, C2 are two α-syntactic CCC, then for every presentation

F1 and F2 of C1 and C2, C1 ×F1,F2 C2 is α-syntactic.

◮ it can be the case that a locally finite finitely generated CCC

C can not be constructed from α-syntactic CCCs using product, sub-CCC and quotient.

slide-85
SLIDE 85

α-syntactic and α-separated CCC

A CCC C is said α-syntactic if there is a subset of A of Hom(1, α) such that for every f1, f2 in Hom(θ, δ): f1 ∼A f2 if and only if f1 = f2 We then have:

◮ if C1, C2 are two α-syntactic CCC, then for every presentation

F1 and F2 of C1 and C2, C1 ×F1,F2 C2 is α-syntactic.

◮ it can be the case that a locally finite finitely generated CCC

C can not be constructed from α-syntactic CCCs using product, sub-CCC and quotient.

◮ but this is the case when C is α-separated:

◮ for every f1, f2 in Hom(θ, δ), f1 = f2 iff there is C[] such that

C[f1], C[f2] are in Hom(1, α) and C[f1] = C[f2].

slide-86
SLIDE 86

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC

slide-87
SLIDE 87

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC ◮ α is an object of C and C is α-separated

slide-88
SLIDE 88

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC ◮ α is an object of C and C is α-separated ◮ for every (C1, α) and (C2, α), and every presentation of F1 and

F2 of C1 and C2, (C1 ×F1,F2 C2, α) is in V

slide-89
SLIDE 89

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC ◮ α is an object of C and C is α-separated ◮ for every (C1, α) and (C2, α), and every presentation of F1 and

F2 of C1 and C2, (C1 ×F1,F2 C2, α) is in V

◮ if (C, α) is in V and C′ is a sub-CCC, then if C ′′ is the

β-separated CCC obtained from C ′, (C ′′, β) is in V

slide-90
SLIDE 90

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC ◮ α is an object of C and C is α-separated ◮ for every (C1, α) and (C2, α), and every presentation of F1 and

F2 of C1 and C2, (C1 ×F1,F2 C2, α) is in V

◮ if (C, α) is in V and C′ is a sub-CCC, then if C ′′ is the

β-separated CCC obtained from C ′, (C ′′, β) is in V

◮ if (C, α) is in V, ≈ is a congruence of C, and C′ is the

β-separated CCC obtained from C/≈ then (C′, β) is in V.

slide-91
SLIDE 91

Varieties of locally finite CCC

A variety of locally finite CCC V is a class of pairs (C, α) such that:

◮ C is a locally finite and finitely generated CCC ◮ α is an object of C and C is α-separated ◮ for every (C1, α) and (C2, α), and every presentation of F1 and

F2 of C1 and C2, (C1 ×F1,F2 C2, α) is in V

◮ if (C, α) is in V and C′ is a sub-CCC, then if C ′′ is the

β-separated CCC obtained from C ′, (C ′′, β) is in V

◮ if (C, α) is in V, ≈ is a congruence of C, and C′ is the

β-separated CCC obtained from C/≈ then (C′, β) is in V. we write (C1, β) ≺ (C2, α) when C1 is an β-separated CCC

  • btained by taking and quotienting a sub-CCC of C2.
slide-92
SLIDE 92

Towards varieties of languages

Given C a locally finite, finitely generated and α-separated CCC, A and A′ included in Hom(1, α) we have:

◮ C/∼A = C/∼B with B = Hom(1, α) − A

slide-93
SLIDE 93

Towards varieties of languages

Given C a locally finite, finitely generated and α-separated CCC, A and A′ included in Hom(1, α) we have:

◮ C/∼A = C/∼B with B = Hom(1, α) − A ◮ (C/∼A∩A′, α) ≺ (C/∼A ×F,F C/∼A′, α) for every presentation

F of C,

slide-94
SLIDE 94

Towards varieties of languages

Given C a locally finite, finitely generated and α-separated CCC, A and A′ included in Hom(1, α) we have:

◮ C/∼A = C/∼B with B = Hom(1, α) − A ◮ (C/∼A∩A′, α) ≺ (C/∼A ×F,F C/∼A′, α) for every presentation

F of C,

◮ Given C[] such that for every f ∈ Hom(1, β), C[f ] is in

Hom(1, α), if C −1[A] = {f ∈ Hom(1, β) | C[f ] ∈ A} then C/∼C −1[A] is a quotient CCC of C/∼A

slide-95
SLIDE 95

Towards varieties of languages

Given C a locally finite, finitely generated and α-separated CCC, A and A′ included in Hom(1, α) we have:

◮ C/∼A = C/∼B with B = Hom(1, α) − A ◮ (C/∼A∩A′, α) ≺ (C/∼A ×F,F C/∼A′, α) for every presentation

F of C,

◮ Given C[] such that for every f ∈ Hom(1, β), C[f ] is in

Hom(1, α), if C −1[A] = {f ∈ Hom(1, β) | C[f ] ∈ A} then C/∼C −1[A] is a quotient CCC of C/∼A Given a CCC-functor F : D → C and β such that F(β) = α, and B = F −1(A) ∩ HomD(1, β) then (D/∼B, β) ≺ (C/∼A, α).

slide-96
SLIDE 96

Varieties of λ-languages

A variety of C-recognizable sets of λ-terms V is a class of C-recognizable languages with the following closure properties ((Σ, α)V is the class of languages in V on a HOS Σ whose elements have type α):

◮ (Σ, α)V is closed under Boolean operations

slide-97
SLIDE 97

Varieties of λ-languages

A variety of C-recognizable sets of λ-terms V is a class of C-recognizable languages with the following closure properties ((Σ, α)V is the class of languages in V on a HOS Σ whose elements have type α):

◮ (Σ, α)V is closed under Boolean operations ◮ Given M ∈ Λβ→α Σ

, and R in (Σ, α)V, then M−1R = {N ∈ Λβ

Σ | MN ∈ R} is in (Σ, β)V,

slide-98
SLIDE 98

Varieties of λ-languages

A variety of C-recognizable sets of λ-terms V is a class of C-recognizable languages with the following closure properties ((Σ, α)V is the class of languages in V on a HOS Σ whose elements have type α):

◮ (Σ, α)V is closed under Boolean operations ◮ Given M ∈ Λβ→α Σ

, and R in (Σ, α)V, then M−1R = {N ∈ Λβ

Σ | MN ∈ R} is in (Σ, β)V, ◮ Given F : ΛΣ1 → ΛΣ2 a CCC-functor, if R ∈ (Σ2, α)V and

F(β) = α, then F −1(R) ∩ Λβ

Σ1 ∈ (Σ1, β)V.

slide-99
SLIDE 99

The correspondence

Given a C-recognizable set of λ-terms R, we let CR be its syntactic CCC. Given V a variety of λ-languages and V a variety of locally finite CCCs we let:

◮ V be the variety of locally finite CCC generated by

{(CR, α) | R ∈ (Σ, α)V for some Σ and α},

slide-100
SLIDE 100

The correspondence

Given a C-recognizable set of λ-terms R, we let CR be its syntactic CCC. Given V a variety of λ-languages and V a variety of locally finite CCCs we let:

◮ V be the variety of locally finite CCC generated by

{(CR, α) | R ∈ (Σ, α)V for some Σ and α},

V be the class of languages {R | R ⊆ Λα

Σ, (CR, α) ∈ V for some Σ and α}.

slide-101
SLIDE 101

The correspondence

Given a C-recognizable set of λ-terms R, we let CR be its syntactic CCC. Given V a variety of λ-languages and V a variety of locally finite CCCs we let:

◮ V be the variety of locally finite CCC generated by

{(CR, α) | R ∈ (Σ, α)V for some Σ and α},

V be the class of languages {R | R ⊆ Λα

Σ, (CR, α) ∈ V for some Σ and α}.

We then have:

V is a variety of λ-languages,

slide-102
SLIDE 102

The correspondence

Given a C-recognizable set of λ-terms R, we let CR be its syntactic CCC. Given V a variety of λ-languages and V a variety of locally finite CCCs we let:

◮ V be the variety of locally finite CCC generated by

{(CR, α) | R ∈ (Σ, α)V for some Σ and α},

V be the class of languages {R | R ⊆ Λα

Σ, (CR, α) ∈ V for some Σ and α}.

We then have:

V is a variety of λ-languages,

◮ V =

V,

slide-103
SLIDE 103

The correspondence

Given a C-recognizable set of λ-terms R, we let CR be its syntactic CCC. Given V a variety of λ-languages and V a variety of locally finite CCCs we let:

◮ V be the variety of locally finite CCC generated by

{(CR, α) | R ∈ (Σ, α)V for some Σ and α},

V be the class of languages {R | R ⊆ Λα

Σ, (CR, α) ∈ V for some Σ and α}.

We then have:

V is a variety of λ-languages,

◮ V =

V,

◮ V =

V

slide-104
SLIDE 104

Conclusion and future work.

◮ We have proved of an extension of the variety Theorem for

C-recognizable languages.

slide-105
SLIDE 105

Conclusion and future work.

◮ We have proved of an extension of the variety Theorem for

C-recognizable languages.

◮ Variations on varieties:

◮ tuning the relation ≺ ◮ using deduction systems to obtain structures similar so

semigroups

slide-106
SLIDE 106

Conclusion and future work.

◮ We have proved of an extension of the variety Theorem for

C-recognizable languages.

◮ Variations on varieties:

◮ tuning the relation ≺ ◮ using deduction systems to obtain structures similar so

semigroups

◮ Equational definition of varieties.

slide-107
SLIDE 107

Conclusion and future work.

◮ We have proved of an extension of the variety Theorem for

C-recognizable languages.

◮ Variations on varieties:

◮ tuning the relation ≺ ◮ using deduction systems to obtain structures similar so

semigroups

◮ Equational definition of varieties. ◮ Applications of this work to languages of λ-terms that are

neither λ-strings nor λ-trees rely on the conjecture recognizable = C-recognizable.