Implicit automata in typed -calculi Pierre PRADIC - - PowerPoint PPT Presentation

implicit automata in typed calculi
SMART_READER_LITE
LIVE PREVIEW

Implicit automata in typed -calculi Pierre PRADIC - - PowerPoint PPT Presentation

University of Oxford Laboratoire dinformatique de Paris Nord MIMUW Automata seminar, June 24th, 2020 1/19 Implicit automata in typed -calculi Pierre PRADIC pierre.pradic@cs.ox.ac.uk j.w.w. NGUYN L Thnh Dng (a.k.a. Tito)


slide-1
SLIDE 1

Implicit automata in typed λ-calculi

Pierre PRADIC — pierre.pradic@cs.ox.ac.uk University of Oxford j.w.w. NGUYỄN Lê Thành Dũng (a.k.a. Tito) — nltd@nguyentito.eu Laboratoire d’informatique de Paris Nord MIMUW Automata seminar, June 24th, 2020

1/19

slide-2
SLIDE 2

The idea

Many equivalent defjnitions of regular languages: regexps, automata (deterministic or not), MSO, … Implicit complexity: machine-free characterizations of complexity classes using high-level programming languages Big project: the same thing for automata instead of complexity programming paradigm declarative functional complexity classes descriptive complexity implicit complexity automata theory subsystems of MSO this work Our starting point: Hillebrand & Kanellakis’s theorem (1996) L regular L defjnable by a program booleans (for a certain choice of encodings) in the simply typed

  • calculus

Typed

  • calculi (

constructive logics): theoretical basis for e.g. Haskell Other “implicit automata” results: cf. MIMUW automata seminar 2020-05-13 DeYoung & Pfenning 2016 / Kuperberg et al. 2019, using circular proofs

2/19

slide-3
SLIDE 3

The idea

Many equivalent defjnitions of regular languages: regexps, automata (deterministic or not), MSO, programming languages, … Implicit complexity: machine-free characterizations of complexity classes using high-level programming languages Big project: the same thing for automata instead of complexity programming paradigm declarative functional complexity classes descriptive complexity implicit complexity automata theory subsystems of MSO this work Our starting point: Hillebrand & Kanellakis’s theorem (1996) L regular L defjnable by a program booleans (for a certain choice of encodings) in the simply typed

  • calculus

Typed

  • calculi (

constructive logics): theoretical basis for e.g. Haskell Other “implicit automata” results: cf. MIMUW automata seminar 2020-05-13 DeYoung & Pfenning 2016 / Kuperberg et al. 2019, using circular proofs

2/19

slide-4
SLIDE 4

The idea

Many equivalent defjnitions of regular languages: regexps, automata (deterministic or not), MSO, programming languages, … Implicit complexity: machine-free characterizations of complexity classes using high-level programming languages Big project: the same thing for automata instead of complexity programming paradigm declarative functional complexity classes descriptive complexity implicit complexity automata theory subsystems of MSO this work Our starting point: Hillebrand & Kanellakis’s theorem (1996) L ⊆ Σ∗ regular ⇐ ⇒ L defjnable by a program Σ∗ → booleans (for a certain choice of encodings) in the simply typed λ-calculus Typed λ-calculi (∼ = constructive logics): theoretical basis for e.g. Haskell Other “implicit automata” results: cf. MIMUW automata seminar 2020-05-13 DeYoung & Pfenning 2016 / Kuperberg et al. 2019, using circular proofs

2/19

slide-5
SLIDE 5

The idea

Many equivalent defjnitions of regular languages: regexps, automata (deterministic or not), MSO, programming languages, … Implicit complexity: machine-free characterizations of complexity classes using high-level programming languages Big project: the same thing for automata instead of complexity programming paradigm declarative functional complexity classes descriptive complexity implicit complexity automata theory subsystems of MSO this work Our starting point: Hillebrand & Kanellakis’s theorem (1996) L ⊆ Σ∗ regular ⇐ ⇒ L defjnable by a program Σ∗ → booleans (for a certain choice of encodings) in the simply typed λ-calculus Typed λ-calculi (∼ = constructive logics): theoretical basis for e.g. Haskell Other “implicit automata” results: cf. MIMUW automata seminar 2020-05-13 DeYoung & Pfenning 2016 / Kuperberg et al. 2019, using circular proofs

2/19

slide-6
SLIDE 6

The λ-calculus

λ-terms: meant to be a naive syntactic theory of functions t, u ::= x | t u | λx. t f t ≈ f(t) λx. t ≈ (x → t) Notational conventions: t u v = (t u) v and λx. t u = λx. (t u) For f x x2 1, we have f 42 422 1 … Operational semantics: program execution by rewriting x t u t x u (t with x substituted by u) We write for the smallest equivalence relation containing No primitive data; encodings using functions Useful example: booleans true x y x false x y y (multiple arguments: x y x x y x) Also encodings of natural numbers, strings… (later!) Untyped

  • calculus is Turing-complete

3/19

slide-7
SLIDE 7

The λ-calculus

λ-terms: meant to be a naive syntactic theory of functions t, u ::= x | t u | λx. t f t ≈ f(t) λx. t ≈ (x → t) Notational conventions: t u v = (t u) v and λx. t u = λx. (t u) For f : x → x2 + 1, we have f(42) = 422 + 1 … Operational semantics: program execution by rewriting (λx. t) u − →β t{x := u} (t with x substituted by u) We write =β for the smallest equivalence relation containing − →β No primitive data; encodings using functions Useful example: booleans true x y x false x y y (multiple arguments: x y x x y x) Also encodings of natural numbers, strings… (later!) Untyped

  • calculus is Turing-complete

3/19

slide-8
SLIDE 8

The λ-calculus

λ-terms: meant to be a naive syntactic theory of functions t, u ::= x | t u | λx. t f t ≈ f(t) λx. t ≈ (x → t) Notational conventions: t u v = (t u) v and λx. t u = λx. (t u) For f : x → x2 + 1, we have f(42) = 422 + 1 … Operational semantics: program execution by rewriting (λx. t) u − →β t{x := u} (t with x substituted by u) We write =β for the smallest equivalence relation containing − →β No primitive data; encodings using functions Useful example: booleans true = λx. λy. x false = λx. λy. y (multiple arguments: x → (y → x) ∼ = (x, y) → x) Also encodings of natural numbers, strings… (later!) Untyped

  • calculus is Turing-complete

3/19

slide-9
SLIDE 9

The λ-calculus

λ-terms: meant to be a naive syntactic theory of functions t, u ::= x | t u | λx. t f t ≈ f(t) λx. t ≈ (x → t) Notational conventions: t u v = (t u) v and λx. t u = λx. (t u) For f : x → x2 + 1, we have f(42) = 422 + 1 … Operational semantics: program execution by rewriting (λx. t) u − →β t{x := u} (t with x substituted by u) We write =β for the smallest equivalence relation containing − →β No primitive data; encodings using functions Useful example: booleans true = λx. λy. x false = λx. λy. y (multiple arguments: x → (y → x) ∼ = (x, y) → x) Also encodings of natural numbers, strings… (later!) Untyped λ-calculus is Turing-complete

3/19

slide-10
SLIDE 10

The simply typed λ-calculus

Simple types: specifjcations for λ-calculus programs A, B ::= o (base type) | A → B (functions from A to B) Convention: A → B → C = A → (B → C) t : A (“t is of type A”) defjned by induction on the syntax Typed booleans true x y x false x y y Bool

  • so that t

Bool t true or t false (for t closed, i.e. w/ no free vars) Pro: all well-typed programs terminate Con: loss of Turing-completeness Church encoding of strings abb fa fb x fa fb fb x Str a b

  • Idea: w

fa fb fw 1 fw n for w a b Languages: Str

  • A

Bool (A is any simple type)

(for w , w Str therefore w Str

  • A )

4/19

slide-11
SLIDE 11

The simply typed λ-calculus

Simple types: specifjcations for λ-calculus programs A, B ::= o (base type) | A → B (functions from A to B) Convention: A → B → C = A → (B → C) t : A (“t is of type A”) defjned by induction on the syntax Typed booleans true = λx. λy. x false = λx. λy. y Bool = o → o → o so that t : Bool ⇐ ⇒ t =β true or t =β false (for t closed, i.e. w/ no free vars) Pro: all well-typed programs terminate Con: loss of Turing-completeness Church encoding of strings abb fa fb x fa fb fb x Str a b

  • Idea: w

fa fb fw 1 fw n for w a b Languages: Str

  • A

Bool (A is any simple type)

(for w , w Str therefore w Str

  • A )

4/19

slide-12
SLIDE 12

The simply typed λ-calculus

Simple types: specifjcations for λ-calculus programs A, B ::= o (base type) | A → B (functions from A to B) Convention: A → B → C = A → (B → C) t : A (“t is of type A”) defjned by induction on the syntax Typed booleans true = λx. λy. x false = λx. λy. y Bool = o → o → o so that t : Bool ⇐ ⇒ t =β true or t =β false (for t closed, i.e. w/ no free vars) Pro: all well-typed programs terminate Con: loss of Turing-completeness Church encoding of strings abb fa fb x fa fb fb x Str a b

  • Idea: w

fa fb fw 1 fw n for w a b Languages: Str

  • A

Bool (A is any simple type)

(for w , w Str therefore w Str

  • A )

4/19

slide-13
SLIDE 13

The simply typed λ-calculus

Simple types: specifjcations for λ-calculus programs A, B ::= o (base type) | A → B (functions from A to B) Convention: A → B → C = A → (B → C) t : A (“t is of type A”) defjned by induction on the syntax Typed booleans true = λx. λy. x false = λx. λy. y Bool = o → o → o so that t : Bool ⇐ ⇒ t =β true or t =β false (for t closed, i.e. w/ no free vars) Pro: all well-typed programs terminate Con: loss of Turing-completeness Church encoding of strings abb = λfa. λfb. λx. fa (fb (fb x)) : Str{a,b} = (o → o) → (o → o) → o → o Idea: w ≈ (fa, fb) → fw[1] ◦ . . . ◦ fw[n] for w ∈ {a, b}∗ Languages: Str

  • A

Bool (A is any simple type)

(for w , w Str therefore w Str

  • A )

4/19

slide-14
SLIDE 14

The simply typed λ-calculus

Simple types: specifjcations for λ-calculus programs A, B ::= o (base type) | A → B (functions from A to B) Convention: A → B → C = A → (B → C) t : A (“t is of type A”) defjned by induction on the syntax Typed booleans true = λx. λy. x false = λx. λy. y Bool = o → o → o so that t : Bool ⇐ ⇒ t =β true or t =β false (for t closed, i.e. w/ no free vars) Pro: all well-typed programs terminate Con: loss of Turing-completeness Church encoding of strings abb = λfa. λfb. λx. fa (fb (fb x)) : Str{a,b} = (o → o) → (o → o) → o → o Idea: w ≈ (fa, fb) → fw[1] ◦ . . . ◦ fw[n] for w ∈ {a, b}∗ Languages: StrΣ{o := A} → Bool (A is any simple type)

(for w ∈ Σ∗, w : StrΣ therefore w : StrΣ{o := A})

4/19

slide-15
SLIDE 15

Regular languages in the simply typed λ-calculus

Theorem (Hillebrand & Kanellakis 1996) L ⊆ Σ∗ is regular ⇐ ⇒ L is defjned by some t : StrΣ{o := A} → Bool in the simply typed λ-calculus

(A: arbitrary simple type, may depend on L)

Proof ideas for non-trivial direction :

  • w

w t t Str

  • A

is a monoid morphism (recall that w fa fb fw 1 fw n )

  • To get a fjnite monoid as target, evaluate in a fjnite semantics

w w Str

  • A

, with Str

  • A

Canonical semantics: realizes the naive interpretation

  • for types: o

some 2-element set, A B B

A

  • for terms: t

A t A inductively defjned, e.g. f x f x

  • soundness: t

u t u

  • preserves some relevant information: true

false

5/19

slide-16
SLIDE 16

Regular languages in the simply typed λ-calculus

Theorem (Hillebrand & Kanellakis 1996) L ⊆ Σ∗ is regular ⇐ ⇒ L is defjned by some t : StrΣ{o := A} → Bool in the simply typed λ-calculus

(A: arbitrary simple type, may depend on L)

Proof ideas for non-trivial direction (⇐ =):

  • w ∈ Σ∗ → w : {t | t : StrΣ{o := A}}/=β is a monoid morphism

(recall that w ≈ (fa, fb) → fw[1] ◦ . . . ◦ fw[n])

  • To get a fjnite monoid as target, evaluate in a fjnite semantics

w w Str

  • A

, with Str

  • A

Canonical semantics: realizes the naive interpretation

  • for types: o

some 2-element set, A B B

A

  • for terms: t

A t A inductively defjned, e.g. f x f x

  • soundness: t

u t u

  • preserves some relevant information: true

false

5/19

slide-17
SLIDE 17

Regular languages in the simply typed λ-calculus

Theorem (Hillebrand & Kanellakis 1996) L ⊆ Σ∗ is regular ⇐ ⇒ L is defjned by some t : StrΣ{o := A} → Bool in the simply typed λ-calculus

(A: arbitrary simple type, may depend on L)

Proof ideas for non-trivial direction (⇐ =):

  • w ∈ Σ∗ → w : {t | t : StrΣ{o := A}}/=β is a monoid morphism

(recall that w ≈ (fa, fb) → fw[1] ◦ . . . ◦ fw[n])

  • To get a fjnite monoid as target, evaluate in a fjnite semantics

w ∈ Σ∗ → w ∈ StrΣ{o := A}, with | StrΣ{o := A} | < ∞ Canonical semantics: realizes the naive interpretation

  • for types: o

some 2-element set, A B B

A

  • for terms: t

A t A inductively defjned, e.g. f x f x

  • soundness: t

u t u

  • preserves some relevant information: true

false

5/19

slide-18
SLIDE 18

Regular languages in the simply typed λ-calculus

Theorem (Hillebrand & Kanellakis 1996) L ⊆ Σ∗ is regular ⇐ ⇒ L is defjned by some t : StrΣ{o := A} → Bool in the simply typed λ-calculus

(A: arbitrary simple type, may depend on L)

Proof ideas for non-trivial direction (⇐ =):

  • w ∈ Σ∗ → w : {t | t : StrΣ{o := A}}/=β is a monoid morphism

(recall that w ≈ (fa, fb) → fw[1] ◦ . . . ◦ fw[n])

  • To get a fjnite monoid as target, evaluate in a fjnite semantics

w ∈ Σ∗ → w ∈ StrΣ{o := A}, with | StrΣ{o := A} | < ∞ Canonical semantics: realizes the naive interpretation

  • for types: o = some 2-element set, A → B = BA
  • for terms: t : A ⇝ t ∈ A inductively defjned, e.g. f x = f (x)
  • soundness: t =β u =

⇒ t = u

  • preserves some relevant information: true = false

5/19

slide-19
SLIDE 19

String-to-string functions

Open problem (that we don’t solve :-( ) Nice characterization (preferably automata-theoretic) of StrΓ{o := A} → StrΣ in the simply typed λ-calculus?

(StrΓ → StrΣ described by base functions + composition [Zaionc 1987])

  • Regular languages closed under inverse image of such functions
  • Closed under compostion
  • May have hyperexponential growth

Lower bound (we may come back to this at the end):

  • contains HDT0L transductions (

copyful SST)

  • HDT0L+composition = higher-order pushdown transducers

(unproven claim in [Sénizergues 2007])

  • in particular, contains all polyregular functions

Next: more restrictive type systems smaller classes of transductions + one smaller class of languages actual results instead of open problems

6/19

slide-20
SLIDE 20

String-to-string functions

Open problem (that we don’t solve :-( ) Nice characterization (preferably automata-theoretic) of StrΓ{o := A} → StrΣ in the simply typed λ-calculus?

(StrΓ → StrΣ described by base functions + composition [Zaionc 1987])

  • Regular languages closed under inverse image of such functions
  • Closed under compostion
  • May have hyperexponential growth

Lower bound (we may come back to this at the end):

  • contains HDT0L transductions (∼

= copyful SST)

  • HDT0L+composition = higher-order pushdown transducers

(unproven claim in [Sénizergues 2007])

  • in particular, contains all polyregular functions

Next: more restrictive type systems smaller classes of transductions + one smaller class of languages actual results instead of open problems

6/19

slide-21
SLIDE 21

String-to-string functions

Open problem (that we don’t solve :-( ) Nice characterization (preferably automata-theoretic) of StrΓ{o := A} → StrΣ in the simply typed λ-calculus?

(StrΓ → StrΣ described by base functions + composition [Zaionc 1987])

  • Regular languages closed under inverse image of such functions
  • Closed under compostion
  • May have hyperexponential growth

Lower bound (we may come back to this at the end):

  • contains HDT0L transductions (∼

= copyful SST)

  • HDT0L+composition = higher-order pushdown transducers

(unproven claim in [Sénizergues 2007])

  • in particular, contains all polyregular functions

Next: more restrictive type systems ⇝ smaller classes of transductions + one smaller class of languages actual results instead of open problems

6/19

slide-22
SLIDE 22

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However aa is not star-free… its syntactic monoid is 2 x x2 xn xn

1

1 1 1 2 Defjnition A monoid M is aperiodic when x M n xn xn

1.

Theorem (Schützenberger 1965) L is star-free L

1 P with

M a monoid morphism, M a fjnite and aperiodic monoid, and P M.

7/19

slide-23
SLIDE 23

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However (aa)∗ is not star-free… its syntactic monoid is 2 x x2 xn xn

1

1 1 1 2 Defjnition A monoid M is aperiodic when x M n xn xn

1.

Theorem (Schützenberger 1965) L is star-free L

1 P with

M a monoid morphism, M a fjnite and aperiodic monoid, and P M.

7/19

slide-24
SLIDE 24

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However (aa)∗ is not star-free… its syntactic monoid is 2 x x2 xn xn

1

1 1 1 2 Defjnition A monoid M is aperiodic when x M n xn xn

1.

Theorem (Schützenberger 1965) L ⊆ Σ∗ is star-free ⇐ ⇒ L = ϕ−1(P) with ϕ : Σ∗ → M a monoid morphism, M a fjnite and aperiodic monoid, and P ⊆ M.

7/19

slide-25
SLIDE 25

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However (aa)∗ is not star-free… its syntactic monoid is 2 x x2 . . . xn = xn+1 1 1 1 2 Defjnition A monoid M is aperiodic when ∀x ∈ M, ∃n ∈ N : xn = xn+1. Theorem (Schützenberger 1965) L ⊆ Σ∗ is star-free ⇐ ⇒ L = ϕ−1(P) with ϕ : Σ∗ → M a monoid morphism, M a fjnite and aperiodic monoid, and P ⊆ M.

7/19

slide-26
SLIDE 26

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However (aa)∗ is not star-free… its syntactic monoid is Z/(2) x x2 . . . xn = xn+1 1 1 + 1 ≡ 0 mod 2 Defjnition A monoid M is aperiodic when ∀x ∈ M, ∃n ∈ N : xn = xn+1. Theorem (Schützenberger 1965) L ⊆ Σ∗ is star-free ⇐ ⇒ L = ϕ−1(P) with ϕ : Σ∗ → M a monoid morphism, M a fjnite and aperiodic monoid, and P ⊆ M.

7/19

slide-27
SLIDE 27

Reminder: star-free languages and aperiodic monoids

Our goal now: characterize star-free languages (ICALP 2020 paper). Defjnition A language is star-free if is defjned by some regexp without repetition star L∗, but potentially with complementation Lc = Σ∗ \ L. Example with Σ = {a, b}: (ab)∗ = (b∅c|∅ca|∅caa∅c|∅cbb∅c)c However (aa)∗ is not star-free… its syntactic monoid is Z/(2) ∼ = {idBool, not} x x2 . . . xn = xn+1 not not ◦ not = id Defjnition A monoid M is aperiodic when ∀x ∈ M, ∃n ∈ N : xn = xn+1. Theorem (Schützenberger 1965) L ⊆ Σ∗ is star-free ⇐ ⇒ L = ϕ−1(P) with ϕ : Σ∗ → M a monoid morphism, M a fjnite and aperiodic monoid, and P ⊆ M.

7/19

slide-28
SLIDE 28

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function b x y should not use x after y, since x occurs before y ” Technical issue: f x y z f z z x y looks OK… f x y f x y x y which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of x y Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-29
SLIDE 29

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function λb. λx. λy. (. . .) should not use x after y, since λx. occurs before λy.” Technical issue: f x y z f z z x y looks OK… f x y f x y x y which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of x y Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-30
SLIDE 30

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function λb. λx. λy. (. . .) should not use x after y, since λx. occurs before λy.” Technical issue: λf. λx. λy. (λz. f z z) (x y) looks OK… f x y f x y x y which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of x y Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-31
SLIDE 31

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function λb. λx. λy. (. . .) should not use x after y, since λx. occurs before λy.” Technical issue: λf. λx. λy. (λz. f z z) (x y) looks OK… − →β λf. λx. λy. f (x y) (x y) which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of x y Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-32
SLIDE 32

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function λb. λx. λy. (. . .) should not use x after y, since λx. occurs before λy.” Technical issue: λf. λx. λy. (λz. f z z) (x y) looks OK… − →β λf. λx. λy. f (x y) (x y) which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of (x y) Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-33
SLIDE 33

From aperiodicity to non-commutative affjne types

How to enforce aperiodicity in a typed λ-calculus? notn+1 = notn ⇝ must exclude not : Bool → Bool which merely permutes arguments! for b : Bool, b x y ≈ if b then x else y ⇝ not = λb. λx. λy. b y x Idea 1: non-commutative typing Make the order of arguments matter: “a function λb. λx. λy. (. . .) should not use x after y, since λx. occurs before λy.” Technical issue: λf. λx. λy. (λz. f z z) (x y) looks OK… − →β λf. λx. λy. f (x y) (x y) which has a y occuring before an x Caused by 2 occurrences of z that led to duplication of (x y) Idea 2: affjne typing Prohibit duplication: “a function should use its arguments at most once” Variants of linear logic are widely used in implicit complexity!

linear = “exactly once”; would work for star-free languages, but not for string functions

8/19

slide-34
SLIDE 34

Substructural arrow types

A ⊸ B: a restricted arrow type A, B ::= o | A → B | A ⊸ B ∆ ⊢ t : A ⊸ B ∆′ ⊢ u : A ∆, ∆′ ⊢ t u : B linear affjne planar λf x. f x x × × × λx y. x y ✓ ✓ ✓ λx y. y × ✓ ✓ λx y. y x ✓ ✓ ×

9/19

slide-35
SLIDE 35

Planar string languages

Church encoding with linear/affjne types [Girard 1987] abb = λ

  • fa. λ
  • fb. λ
  • x. fa (fb (fb x)) : Str{a,b} = (o ⊸ o) → (o ⊸ o) → o ⊸ o
  • Take Bool = o ⊸ o ⊸ o in the affjne setting.

Theorem (Nguyễn & P., ICALP 2020) L is star-free L is defjned by some t Str

  • A

Bool in our non-commutative affjne

  • calculus

with A purely affjne, i.e. containing no ‘ ’ With commutative affjne types: regular languages instead

10/19

slide-36
SLIDE 36

Planar string languages

Church encoding with linear/affjne types [Girard 1987] abb = λ

  • fa. λ
  • fb. λ
  • x. fa (fb (fb x)) : Str{a,b} = (o ⊸ o) → (o ⊸ o) → o ⊸ o
  • Take Bool = o ⊸ o ⊸ o in the affjne setting.

Theorem (Nguyễn & P., ICALP 2020) L ⊆ Σ∗ is star-free ⇐ ⇒ L is defjned by some t : StrΣ{o := A} ⊸ Bool in our non-commutative affjne λ-calculus with A purely affjne, i.e. containing no ‘→’ With commutative affjne types: regular languages instead

10/19

slide-37
SLIDE 37

Planar string languages

Church encoding with linear/affjne types [Girard 1987] abb = λ

  • fa. λ
  • fb. λ
  • x. fa (fb (fb x)) : Str{a,b} = (o ⊸ o) → (o ⊸ o) → o ⊸ o
  • Take Bool = o ⊸ o ⊸ o in the affjne setting.

Theorem (Nguyễn & P., ICALP 2020) L ⊆ Σ∗ is star-free ⇐ ⇒ L is defjned by some t : StrΣ{o := A} ⊸ Bool in our non-commutative affjne λ-calculus with A purely affjne, i.e. containing no ‘→’ With commutative affjne types: regular languages instead

10/19

slide-38
SLIDE 38

A characterization of star-free languages: proof ideas

Theorem (Nguyễn & P., ICALP 2020) L ⊆ Σ∗ is star-free ⇐ ⇒ L is defjned by some t : StrΣ{o := A} ⊸ Bool in our non-commutative affjne λ-calculus with A purely affjne, i.e. containing no ‘→’ Key lemma for (= ⇒) aperiodic sequential functions ⊆ StrΓ{o := A} ⊸ StrΣ with purely affjne A Proved using the Krohn–Rhodes decomposition… (linear case: more tricky) Key lemma for For purely affjne A, the non-commutative

  • terms of type A

A (modulo ) form a fjnite and aperiodic monoid. The paper has a brute force proof; more conceptual (found afterwards):

  • compile into “planar diagrams” (variant of Kaufgman monoids)

well-known connections: non-commutativity in linear logic planarity

  • characterize
  • n planar diagrams, deduce
  • triviality

11/19

slide-39
SLIDE 39

A characterization of star-free languages: proof ideas

Theorem (Nguyễn & P., ICALP 2020) L ⊆ Σ∗ is star-free ⇐ ⇒ L is defjned by some t : StrΣ{o := A} ⊸ Bool in our non-commutative affjne λ-calculus with A purely affjne, i.e. containing no ‘→’ Key lemma for (= ⇒) aperiodic sequential functions ⊆ StrΓ{o := A} ⊸ StrΣ with purely affjne A Proved using the Krohn–Rhodes decomposition… (linear case: more tricky) Key lemma for (⇐ =) For purely affjne A, the non-commutative λ-terms of type A ⊸ A (modulo =β) form a fjnite and aperiodic monoid. The paper has a brute force proof; more conceptual (found afterwards):

  • compile into “planar diagrams” (variant of Kaufgman monoids)

∃ well-known connections: non-commutativity in linear logic ↔ planarity

  • characterize ≤H on planar diagrams, deduce H-triviality

11/19

slide-40
SLIDE 40

Planar diagrams (1/3): interpreting types

+ − + (o ⊸ o) ⊸ o = Interpretation of types = + − + − +

  • +

− + − + ( )∗ = Tensorial product Duality

put side-by-side reverse the order and switch polarity

+ − + − − + A ⊸ B = A∗ ⊗ B

12/19

slide-41
SLIDE 41

Planar diagrams (2/3): interpreting terms and composition

Interpretation of terms − − − + + + + −

13/19

slide-42
SLIDE 42

Planar diagrams (2/3): interpreting terms and composition

Interpretation of terms − − − + + + + − Composition + − − + − U ⊗ A A∗ ⊗ V

  • +

− U ⊗ V + − + − + − +

13/19

slide-43
SLIDE 43

Planar diagrams (3/3): aperiodicity

Monoidal closed cat ⇒ it suffices to show that all monoids A ⊸ A are aperiodic

+ + − − − + + + − − − − + + A∗ ⊗ A R-class ≈

internal wiring on the left

+

positions of the input nodes

L-class ≈

internal wiring on the right

+

position of the output nodes

planar ⇒ H-trivial

14/19

slide-44
SLIDE 44

Back to string-to-string functions

Key lemma for star-free = ⇒ non-commutatively λ-defjnable aperiodic sequential functions ⊆ StrΓ{o := A} ⊸ StrΣ with purely affjne A Does (⊇) hold? No: sequential fn rational fn regular fn, and Theorem In the commutative (resp. non-commutative) affjne

  • calculus,

Str

  • A

Str with purely affjne A corresponds to the regular (resp. aperiodic regular) functions. (also called respectively MSO transductions and FO transductions) One possible defjnition for regular functions: copyless streaming string transducers [Alur & Černý 2010] sounds suspiciously like affjne types!

15/19

slide-45
SLIDE 45

Back to string-to-string functions

Key lemma for star-free = ⇒ non-commutatively λ-defjnable aperiodic sequential functions ⊆ StrΓ{o := A} ⊸ StrΣ with purely affjne A Does (⊇) hold? No: sequential fn ⊊ rational fn ⊊ regular fn, and Theorem In the commutative (resp. non-commutative) affjne λ-calculus, StrΓ{o := A} ⊸ StrΣ with purely affjne A corresponds to the regular (resp. aperiodic regular) functions. (also called respectively MSO transductions and FO transductions) One possible defjnition for regular functions: copyless streaming string transducers [Alur & Černý 2010] sounds suspiciously like affjne types!

15/19

slide-46
SLIDE 46

Back to string-to-string functions

Key lemma for star-free = ⇒ non-commutatively λ-defjnable aperiodic sequential functions ⊆ StrΓ{o := A} ⊸ StrΣ with purely affjne A Does (⊇) hold? No: sequential fn ⊊ rational fn ⊊ regular fn, and Theorem In the commutative (resp. non-commutative) affjne λ-calculus, StrΓ{o := A} ⊸ StrΣ with purely affjne A corresponds to the regular (resp. aperiodic regular) functions. (also called respectively MSO transductions and FO transductions) One possible defjnition for regular functions: copyless streaming string transducers [Alur & Černý 2010] ⇝ sounds suspiciously like affjne types!

15/19

slide-47
SLIDE 47

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over : start with X Y SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-48
SLIDE 48

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: start with X = ε Y = ε SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-49
SLIDE 49

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: X = a Y = a SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-50
SLIDE 50

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: X = ab Y = ba SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-51
SLIDE 51

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: X = aba Y = aba SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-52
SLIDE 52

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: X = abaa Y = aaba SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-53
SLIDE 53

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: f(abaa) = abaaaaba X = abaa Y = aaba SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-54
SLIDE 54

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: f(abaa) = abaaaaba, f : w → w · reverse(w) X = abaa Y = aaba SSTs can also have states: their memory is Q

R (with Q

) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-55
SLIDE 55

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: f(abaa) = abaaaaba, f : w → w · reverse(w) X = abaa Y = aaba SSTs can also have states: their memory is Q × (Σ∗)R (with |Q| < ∞) Copyless SST: each register appears at most once on RHS of (for each fjxed input letter, at most once among all the associated )

16/19

slide-56
SLIDE 56

Streaming string transducers

  • Finite set of Σ∗-valued registers e.g. R = {X, Y}
  • Initial values R → Σ∗ e.g. Xinit = Yinit = ε
  • Register update function e.g.

a →    X := Xa Y := aY b →    X := Xb Y := bY

  • “output function” e.g. out = XY

Execution over abaa: f(abaa) = abaaaaba, f : w → w · reverse(w) X = abaa Y = aaba SSTs can also have states: their memory is Q × (Σ∗)R (with |Q| < ∞) Copyless SST: each register appears at most once on RHS of := (for each fjxed input letter, at most once among all the associated :=)

16/19

slide-57
SLIDE 57

Categorical automata theory meets denotational semantics (1)

A framework for “single-pass” automata [Colcombet & Petrişan 2017]

  • internal memory = object of a category
  • transitions = morphisms (and [letter → transition] = functor)
  • DFA = automata over the category of fjnite sets
  • Copyless SSTs ≈ start from a category R of copyless register updates

+ add states by free fjnite coproduct completion (−)⊕

  • Transductions defjnable in affjne
  • calculus can be turned into automata
  • ver a category
  • f purely affjne
  • terms (w/ const fc
  • for c

)

Proof strategy for affjnely

  • defjnable

regular function Defjne a functor preserving enough structure Useful fact: there is a canonical functor from to any affjne symmetric monoidal closed category (i.e. categorical semantics of the purely affjne

  • calculus)

Unfortunately R is not monoidal closed…

17/19

slide-58
SLIDE 58

Categorical automata theory meets denotational semantics (1)

A framework for “single-pass” automata [Colcombet & Petrişan 2017]

  • internal memory = object of a category
  • transitions = morphisms (and [letter → transition] = functor)
  • DFA = automata over the category of fjnite sets
  • Copyless SSTs ≈ start from a category R of copyless register updates

+ add states by free fjnite coproduct completion (−)⊕

  • Transductions defjnable in affjne λ-calculus can be turned into automata
  • ver a category L of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)

Proof strategy for affjnely

  • defjnable

regular function Defjne a functor preserving enough structure Useful fact: there is a canonical functor from to any affjne symmetric monoidal closed category (i.e. categorical semantics of the purely affjne

  • calculus)

Unfortunately R is not monoidal closed…

17/19

slide-59
SLIDE 59

Categorical automata theory meets denotational semantics (1)

A framework for “single-pass” automata [Colcombet & Petrişan 2017]

  • internal memory = object of a category
  • transitions = morphisms (and [letter → transition] = functor)
  • DFA = automata over the category of fjnite sets
  • Copyless SSTs ≈ start from a category R of copyless register updates

+ add states by free fjnite coproduct completion (−)⊕

  • Transductions defjnable in affjne λ-calculus can be turned into automata
  • ver a category L of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)

Proof strategy for affjnely λ-defjnable = ⇒ regular function Defjne a functor L → R⊕ preserving enough structure Useful fact: there is a canonical functor from L to any affjne symmetric monoidal closed category (i.e. categorical semantics of the purely affjne λ-calculus) Unfortunately R⊕ is not monoidal closed…

17/19

slide-60
SLIDE 60

Categorical automata theory meets denotational semantics (2)

  • L: category of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)
  • R: category of fjnite sets of registers and copyless assignments
  • R⊕: free fjnite coproduct completion of the latter (add states)

We consider the free fjnite product completion: C& = ((Cop)⊕)op Theorem (R&)⊕ is symmetric monoidal closed (and almost affjne). = ⇒ (R&)⊕-automata are at least as powerful as L-automata!

  • morphisms

single use restriction with confmicts, from streaming tree transducers [Alur & D’Antoni 2012]

  • monoidal closed categories = function space constructions available

regular functions are closed under composition related to incompleteness of copyless STT wrt MSO tree transductions?

  • logic POV: connection with Dialectica interpretation / DC categories

(coproducts of products u x u x )

18/19

slide-61
SLIDE 61

Categorical automata theory meets denotational semantics (2)

  • L: category of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)
  • R: category of fjnite sets of registers and copyless assignments
  • R⊕: free fjnite coproduct completion of the latter (add states)

We consider the free fjnite product completion: C& = ((Cop)⊕)op Theorem (R&)⊕ is symmetric monoidal closed (and almost affjne). = ⇒ (R&)⊕-automata are at least as powerful as L-automata!

  • R&-morphisms ≈ single use restriction with confmicts, from

streaming tree transducers [Alur & D’Antoni 2012]

  • monoidal closed categories = function space constructions available

regular functions are closed under composition related to incompleteness of copyless STT wrt MSO tree transductions?

  • logic POV: connection with Dialectica interpretation / DC categories

(coproducts of products u x u x )

18/19

slide-62
SLIDE 62

Categorical automata theory meets denotational semantics (2)

  • L: category of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)
  • R: category of fjnite sets of registers and copyless assignments
  • R⊕: free fjnite coproduct completion of the latter (add states)

We consider the free fjnite product completion: C& = ((Cop)⊕)op Theorem (R&)⊕ is symmetric monoidal closed (and almost affjne). = ⇒ (R&)⊕-automata are at least as powerful as L-automata!

  • R&-morphisms ≈ single use restriction with confmicts, from

streaming tree transducers [Alur & D’Antoni 2012]

  • monoidal closed categories = function space constructions available

⇝ regular functions are closed under composition related to incompleteness of copyless STT wrt MSO tree transductions?

  • logic POV: connection with Dialectica interpretation / DC categories

(coproducts of products u x u x )

18/19

slide-63
SLIDE 63

Categorical automata theory meets denotational semantics (2)

  • L: category of purely affjne λ-terms (w/ const fc : o ⊸ o for c ∈ Σ)
  • R: category of fjnite sets of registers and copyless assignments
  • R⊕: free fjnite coproduct completion of the latter (add states)

We consider the free fjnite product completion: C& = ((Cop)⊕)op Theorem (R&)⊕ is symmetric monoidal closed (and almost affjne). = ⇒ (R&)⊕-automata are at least as powerful as L-automata!

  • R&-morphisms ≈ single use restriction with confmicts, from

streaming tree transducers [Alur & D’Antoni 2012]

  • monoidal closed categories = function space constructions available

⇝ regular functions are closed under composition related to incompleteness of copyless STT wrt MSO tree transductions?

  • logic POV: connection with Dialectica interpretation / DC categories

(coproducts of products ≈ ∃u. ∀x. ϕ(u, x))

18/19

slide-64
SLIDE 64

Summary

λ-calculus automata status STLC, StrΣ{o := A} → Bool regular languages ✓[Hillebrand,Kanellakis 96] affjne, StrΣ{o := A} ⊸ Bool regular languages ✓[Nguyễn, P. 20] affjne planar, StrΣ{o := A} ⊸ Bool star-free languages ✓[Nguyễn, P. 20] linear, StrΣ{o := A} ⊸ NCBool regular languages ✓ linear planar, StrΣ{o := A} ⊸ NCBool star-free languages ✓ affjne, Str

  • fmip-fmop monoids

STLC, Str

  • BC

1

?? λ-calculus transducers status STLC, StrΣ{o := A} → StrΓ variant of CPDA??? ??? affjne, StrΣ{o := A} ⊸ StrΓ regular ✓? planar affjne, StrΣ{o := A} ⊸ StrΓ FO regular ✓? linear with additives, StrΣ{o := A} ⊸ StrΓ regular functions ✓(coming soon) linear with additives, StrΣ{o := A} → StrΓ comparison-free polyregular ?? STLC, Str Str “extended polynomials” [Zaionc 1987]

  • A more principled description of the variations?
  • What about trees ?

Thanks for your attention! Questions?

19/19

slide-65
SLIDE 65

Summary

λ-calculus automata status STLC, StrΣ{o := A} → Bool regular languages ✓[Hillebrand,Kanellakis 96] affjne, StrΣ{o := A} ⊸ Bool regular languages ✓[Nguyễn, P. 20] affjne planar, StrΣ{o := A} ⊸ Bool star-free languages ✓[Nguyễn, P. 20] linear, StrΣ{o := A} ⊸ NCBool regular languages ✓ linear planar, StrΣ{o := A} ⊸ NCBool star-free languages ✓ affjne, StrΣ ⊸ o → o → o fmip-fmop monoids ✓ STLC, StrΣ → o → o → o BC(Σ1) ?? λ-calculus transducers status STLC, StrΣ{o := A} → StrΓ variant of CPDA??? ??? affjne, StrΣ{o := A} ⊸ StrΓ regular ✓? planar affjne, StrΣ{o := A} ⊸ StrΓ FO regular ✓? linear with additives, StrΣ{o := A} ⊸ StrΓ regular functions ✓(coming soon) linear with additives, StrΣ{o := A} → StrΓ comparison-free polyregular ?? STLC, StrΣ → StrΓ “extended polynomials” [Zaionc 1987]

  • A more principled description of the variations?
  • What about trees ?

Thanks for your attention! Questions?

19/19

slide-66
SLIDE 66

Summary

λ-calculus automata status STLC, StrΣ{o := A} → Bool regular languages ✓[Hillebrand,Kanellakis 96] affjne, StrΣ{o := A} ⊸ Bool regular languages ✓[Nguyễn, P. 20] affjne planar, StrΣ{o := A} ⊸ Bool star-free languages ✓[Nguyễn, P. 20] linear, StrΣ{o := A} ⊸ NCBool regular languages ✓ linear planar, StrΣ{o := A} ⊸ NCBool star-free languages ✓ affjne, StrΣ ⊸ o → o → o fmip-fmop monoids ✓ STLC, StrΣ → o → o → o BC(Σ1) ?? λ-calculus transducers status STLC, StrΣ{o := A} → StrΓ variant of CPDA??? ??? affjne, StrΣ{o := A} ⊸ StrΓ regular ✓? planar affjne, StrΣ{o := A} ⊸ StrΓ FO regular ✓? linear with additives, StrΣ{o := A} ⊸ StrΓ regular functions ✓(coming soon) linear with additives, StrΣ{o := A} → StrΓ comparison-free polyregular ?? STLC, StrΣ → StrΓ “extended polynomials” [Zaionc 1987]

  • A more principled description of the variations?
  • What about trees ?

Thanks for your attention! Questions?

19/19

slide-67
SLIDE 67

Summary

λ-calculus automata status STLC, StrΣ{o := A} → Bool regular languages ✓[Hillebrand,Kanellakis 96] affjne, StrΣ{o := A} ⊸ Bool regular languages ✓[Nguyễn, P. 20] affjne planar, StrΣ{o := A} ⊸ Bool star-free languages ✓[Nguyễn, P. 20] linear, StrΣ{o := A} ⊸ NCBool regular languages ✓ linear planar, StrΣ{o := A} ⊸ NCBool star-free languages ✓ affjne, StrΣ ⊸ o → o → o fmip-fmop monoids ✓ STLC, StrΣ → o → o → o BC(Σ1) ?? λ-calculus transducers status STLC, StrΣ{o := A} → StrΓ variant of CPDA??? ??? affjne, StrΣ{o := A} ⊸ StrΓ regular ✓? planar affjne, StrΣ{o := A} ⊸ StrΓ FO regular ✓? linear with additives, StrΣ{o := A} ⊸ StrΓ regular functions ✓(coming soon) linear with additives, StrΣ{o := A} → StrΓ comparison-free polyregular ?? STLC, StrΣ → StrΓ “extended polynomials” [Zaionc 1987]

  • A more principled description of the variations?
  • What about trees ?

Thanks for your attention! Questions?

19/19

slide-68
SLIDE 68

Summary

λ-calculus automata status STLC, StrΣ{o := A} → Bool regular languages ✓[Hillebrand,Kanellakis 96] affjne, StrΣ{o := A} ⊸ Bool regular languages ✓[Nguyễn, P. 20] affjne planar, StrΣ{o := A} ⊸ Bool star-free languages ✓[Nguyễn, P. 20] linear, StrΣ{o := A} ⊸ NCBool regular languages ✓ linear planar, StrΣ{o := A} ⊸ NCBool star-free languages ✓ affjne, StrΣ ⊸ o → o → o fmip-fmop monoids ✓ STLC, StrΣ → o → o → o BC(Σ1) ?? λ-calculus transducers status STLC, StrΣ{o := A} → StrΓ variant of CPDA??? ??? affjne, StrΣ{o := A} ⊸ StrΓ regular ✓? planar affjne, StrΣ{o := A} ⊸ StrΓ FO regular ✓? linear with additives, StrΣ{o := A} ⊸ StrΓ regular functions ✓(coming soon) linear with additives, StrΣ{o := A} → StrΓ comparison-free polyregular ?? STLC, StrΣ → StrΓ “extended polynomials” [Zaionc 1987]

  • A more principled description of the variations?
  • What about trees ?

Thanks for your attention! Questions?

19/19