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: ◮ [ ] M [ c ] χ = ι ( c ), [ x α ] χ = χ ( x α ), ◮ [ ] M ◮ [ ] M ] M ] M [ MN ] χ = [ [ M ] χ ([ [ N ] χ ), [ λ x α . M ] χ ← [ x α := a ] with a ∈ M α . ◮ [ ] M ] M χ ( a ) = [ [ M ]
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 α : ] M ∈ N} R = { M | FV ( M ) = ∅ ∧ [ [ M ] Λ α M α Σ R ] − 1 [ [ · ] N
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 α : ] M ∈ N} R = { M | FV ( M ) = ∅ ∧ [ [ M ] Λ α M α Σ R ] − 1 [ [ · ] N Note: ◮ recognizable sets are closed under = βη ◮ the emptiness of recognizable sets subsumes λ -definability which is undecidable (Loader 1993).
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).
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.
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).
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.
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).
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
Cartesian Closed Category C is a Cartesian Close Category if: ◮ C is a category,
Cartesian Closed Category C is a Cartesian Close Category if: ◮ C is a category, ◮ it has a terminal object 1,
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 : α × β → β ,
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 ( α, δ β )
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.
Cartesian Closed Categories and congruences Given a HOS Σ, Λ Σ (up to βη -convertibility) forms a CCC: ◮ Objects: types and products of types
Cartesian Closed Categories and congruences Given a HOS Σ, Λ Σ (up to βη -convertibility) forms a CCC: ◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where: ◮ Γ = x 1 : α 1 , . . . , x n : α n is interpreted as the object β = α 1 × . . . × α n ◮ M is an arrow β → α .
Cartesian Closed Categories and congruences Given a HOS Σ, Λ Σ (up to βη -convertibility) forms a CCC: ◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where: ◮ Γ = x 1 : α 1 , . . . , x n : α n is interpreted as the object β = α 1 × . . . × α n ◮ M is an arrow β → α . ◮ remark: when Γ is empty then M is an arrow 1 → α .
Cartesian Closed Categories and congruences Given a HOS Σ, Λ Σ (up to βη -convertibility) forms a CCC: ◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where: ◮ Γ = x 1 : α 1 , . . . , x n : α 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.
Cartesian Closed Categories and congruences Given a HOS Σ, Λ Σ (up to βη -convertibility) forms a CCC: ◮ Objects: types and products of types ◮ Arrows: Γ ⊢ M : α where: ◮ Γ = x 1 : α 1 , . . . , x n : α 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 Λ Σ / ≡ .
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ A ◮ ∼ A is a congruence of CCC,
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ A ◮ ∼ A is a congruence of CCC, ◮ when C = Λ Σ , Λ Σ / ∼ A is the syntactic CCC associated to the language A ,
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ 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 ,
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ 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),
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ 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.
Syntactic CCC of a language Given a CCC C and A ⊆ Hom ( β, α ) and f 1 , f 2 in Hom ( θ, δ ), we have: f 1 ∼ A f 2 iff ∀ C [] . C [ f 1 ] ∈ A ⇔ C [ f 2 ] ∈ 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.
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ R
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ R This implies: ◮ u ≡ R v iff / u / ∼ R ′ / v / ,
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ R This implies: ◮ u ≡ R v iff / u / ∼ R ′ / v / , ◮ ∼ R ′ is an extension of ≡ R to higher-order functions over strings,
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ 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 of R (it is concretely represented by Hom ( o , o )),
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ 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 of 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.
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 w 1 , w 2 , w 1 uw 2 ∈ R ⇔ w 1 vw 2 ∈ R ◮ / u / ∼ R ′ / v / iff for every M , M / u / ∈ R ′ ⇔ M / v / ∈ R ′ ◮ or equivalently iff for every w 0 ,. . . , w n , w 0 uw 1 . . . w n − 1 uw n ∈ R ⇔ w 0 vw 1 . . . w n − 1 vw n ∈ 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 of 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.
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
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?
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:
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,
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.
Varieties of finite monoids A variety of finite monoids V is a class of finite monoids with the following closure properties: ◮ If M 1 and M 2 are V , then M 1 × M 2 is also in V , ◮ If M 1 is a submonoid of M 2 and M 2 is in V , then M 1 is also in V ◮ If M is in V and ≡ is a congruence on M , then M / ≡ is in V
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 − 1 R 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 .
Eilenberg theorem Given a recognizable language of strings R , we let M R 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 { M R | R ∈ Σ V for some Σ } ,
Eilenberg theorem Given a recognizable language of strings R , we let M R 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 { M R | R ∈ Σ V for some Σ } , ◮ � V be the class of languages { R | R ⊆ Σ ∗ , M R ∈ V for some Σ } .
Eilenberg theorem Given a recognizable language of strings R , we let M R 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 { M R | R ∈ Σ V for some Σ } , ◮ � V be the class of languages { R | R ⊆ Σ ∗ , M R ∈ V for some Σ } . We then have: ◮ � V is a variety of languages,
Eilenberg theorem Given a recognizable language of strings R , we let M R 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 { M R | R ∈ Σ V for some Σ } , ◮ � V be the class of languages { R | R ⊆ Σ ∗ , M R ∈ V for some Σ } . We then have: ◮ � V is a variety of languages, ◮ V = � V ,
Eilenberg theorem Given a recognizable language of strings R , we let M R 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 { M R | R ∈ Σ V for some Σ } , ◮ � V be the class of languages { R | R ⊆ Σ ∗ , M R ∈ V for some Σ } . We then have: ◮ � V is a variety of languages, ◮ V = � V , ◮ V = � V
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
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
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 .
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).
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.
Product of CCCs Given C 1 and C 2 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 C 1 × C 2 with: ◮ the objects of C 1 × C 2 is the same as the ones of C 1 and C 2 ,
Product of CCCs Given C 1 and C 2 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 C 1 × C 2 with: ◮ the objects of C 1 × C 2 is the same as the ones of C 1 and C 2 , ◮ Hom C 1 ×C 2 ( α, β ) = Hom C 1 ( α, β ) × Hom C 2 ( α, β )
Product of CCCs Given C 1 and C 2 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 C 1 × C 2 with: ◮ the objects of C 1 × C 2 is the same as the ones of C 1 and C 2 , ◮ Hom C 1 ×C 2 ( α, β ) = Hom C 1 ( α, β ) × Hom C 2 ( α, β ) ◮ C 1 × C 2 , is a locally finite CCC,
Product of CCCs Given C 1 and C 2 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 C 1 × C 2 with: ◮ the objects of C 1 × C 2 is the same as the ones of C 1 and C 2 , ◮ Hom C 1 ×C 2 ( α, β ) = Hom C 1 ( α, β ) × Hom C 2 ( α, β ) ◮ C 1 × C 2 , is a locally finite CCC, ◮ but C 1 × C 2 may not be finitely generated. . .
Product of CCCs Given C 1 and C 2 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 C 1 × C 2 with: ◮ the objects of C 1 × C 2 is the same as the ones of C 1 and C 2 , ◮ Hom C 1 ×C 2 ( α, β ) = Hom C 1 ( α, β ) × Hom C 2 ( α, β ) ◮ C 1 × C 2 , is a locally finite CCC, ◮ but C 1 × C 2 may not be finitely generated. . . Thus given two finite presentation F 1 and F 2 of C 1 and C 2 , we define C 1 × F 1 , F 2 C 2 to be the sub-CCC of C 1 × C 2 generated by the arrows: � � { F 1 ( c ) } × Hom C 2 (1 , τ 1 ( c )) ∪ Hom C 1 (1 , τ 2 ( c )) × { F 2 ( c ) } c ∈ Σ 1 c ∈ Σ 2
Direct product of monoids and product of CCCs Given C 1 and C 2 two locally finite and finitely generated CCCs, that have the same objects and which are generated only by string signatures: ◮ for every presentation F 1 , G 1 and F 2 , G 2 of respectively C 1 and C 2 we have C 1 × F 1 , F 2 C 2 = C 1 × G 1 , G 2 C 2
Direct product of monoids and product of CCCs Given C 1 and C 2 two locally finite and finitely generated CCCs, that have the same objects and which are generated only by string signatures: ◮ for every presentation F 1 , G 1 and F 2 , G 2 of respectively C 1 and C 2 we have C 1 × F 1 , F 2 C 2 = C 1 × G 1 , G 2 C 2 ◮ a question is whether for every locally finite and finitely generated CCC, C 1 and C 2 we can find a canonical sub-CCC of C 1 × C 2 that is finitely generated.
α -syntactic and α -separated CCC A CCC C is said α -syntactic if there is a subset of A of Hom (1 , α ) such that for every f 1 , f 2 in Hom ( θ, δ ): f 1 ∼ A f 2 if and only if f 1 = f 2
α -syntactic and α -separated CCC A CCC C is said α -syntactic if there is a subset of A of Hom (1 , α ) such that for every f 1 , f 2 in Hom ( θ, δ ): f 1 ∼ A f 2 if and only if f 1 = f 2 We then have: ◮ if C 1 , C 2 are two α -syntactic CCC, then for every presentation F 1 and F 2 of C 1 and C 2 , C 1 × F 1 , F 2 C 2 is α -syntactic.
α -syntactic and α -separated CCC A CCC C is said α -syntactic if there is a subset of A of Hom (1 , α ) such that for every f 1 , f 2 in Hom ( θ, δ ): f 1 ∼ A f 2 if and only if f 1 = f 2 We then have: ◮ if C 1 , C 2 are two α -syntactic CCC, then for every presentation F 1 and F 2 of C 1 and C 2 , C 1 × F 1 , F 2 C 2 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.
α -syntactic and α -separated CCC A CCC C is said α -syntactic if there is a subset of A of Hom (1 , α ) such that for every f 1 , f 2 in Hom ( θ, δ ): f 1 ∼ A f 2 if and only if f 1 = f 2 We then have: ◮ if C 1 , C 2 are two α -syntactic CCC, then for every presentation F 1 and F 2 of C 1 and C 2 , C 1 × F 1 , F 2 C 2 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 f 1 , f 2 in Hom ( θ, δ ), f 1 � = f 2 iff there is C [] such that C [ f 1 ], C [ f 2 ] are in Hom (1 , α ) and C [ f 1 ] � = C [ f 2 ].
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
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
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 ( C 1 , α ) and ( C 2 , α ), and every presentation of F 1 and F 2 of C 1 and C 2 , ( C 1 × F 1 , F 2 C 2 , α ) is in V
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 ( C 1 , α ) and ( C 2 , α ), and every presentation of F 1 and F 2 of C 1 and C 2 , ( C 1 × F 1 , F 2 C 2 , α ) 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
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 ( C 1 , α ) and ( C 2 , α ), and every presentation of F 1 and F 2 of C 1 and C 2 , ( C 1 × F 1 , F 2 C 2 , α ) 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 .
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 ( C 1 , α ) and ( C 2 , α ), and every presentation of F 1 and F 2 of C 1 and C 2 , ( C 1 × F 1 , F 2 C 2 , α ) 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 ( C 1 , β ) ≺ ( C 2 , α ) when C 1 is an β -separated CCC obtained by taking and quotienting a sub-CCC of C 2 .
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
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 ,
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
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 ) ∩ Hom D (1 , β ) then ( D / ∼ B , β ) ≺ ( C / ∼ A , α ).
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
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 − 1 R = { N ∈ Λ β Σ | MN ∈ R } is in (Σ , β ) V ,
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 − 1 R = { 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 .
The correspondence Given a C-recognizable set of λ -terms R , we let C R 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 { ( C R , α ) | R ∈ (Σ , α ) V for some Σ and α } ,
The correspondence Given a C-recognizable set of λ -terms R , we let C R 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 { ( C R , α ) | R ∈ (Σ , α ) V for some Σ and α } , ◮ � V be the class of languages { R | R ⊆ Λ α Σ , ( C R , α ) ∈ V for some Σ and α } .
Recommend
More recommend