On the efficiency of normal form systems of Boolean functions - - PowerPoint PPT Presentation

on the efficiency of normal form systems of boolean
SMART_READER_LITE
LIVE PREVIEW

On the efficiency of normal form systems of Boolean functions - - PowerPoint PPT Presentation

On the efficiency of normal form systems of Boolean functions Horizons of Logic, Computation and Definability Lauri Hellas 60th birthday Miguel Couceiro Joint work with S. Foldes, E. Lehtonen, P. Mercuriali, R. P echoux, A. Saffidine


slide-1
SLIDE 1

On the efficiency of normal form systems

  • f Boolean functions

Horizons of Logic, Computation and Definability Lauri Hella’s 60th birthday

Miguel Couceiro

Joint work with S. Foldes, E. Lehtonen, P. Mercuriali, R. P´ echoux, A. Saffidine LORIA

slide-2
SLIDE 2

Outline Part I. Clone theory and Normal form systems Part II. Complexity issues: Median normal forms

slide-3
SLIDE 3

Preliminaries

Boolean function: map f : {0, 1}n → {0, 1}, for n ≥ 1 called the arity of f Examples: For a fixed arity n, Projections: (a1, . . . , an) → ai denoted by x1, . . . , xn. Negated projections: ¬x1, . . . , ¬xn Constants: 0-constant and 1-constant functions denoted by 0 and 1, resp. Notation: Ω(n) = {0, 1}{0,1}n and Ω = ∪

n≥1

Ω(n). Example: Ω(1) contains the unary proj.s, negated proj.s and constants Convention: Ω(1) contains proj.s, negated proj.s and constants of any arity

slide-4
SLIDE 4

Preliminaries

Boolean function: map f : {0, 1}n → {0, 1}, for n ≥ 1 called the arity of f Examples: For a fixed arity n, Projections: (a1, . . . , an) → ai denoted by x1, . . . , xn. Negated projections: ¬x1, . . . , ¬xn Constants: 0-constant and 1-constant functions denoted by 0 and 1, resp. Notation: Ω(n) = {0, 1}{0,1}n and Ω = ∪

n≥1

Ω(n). Example: Ω(1) contains the unary proj.s, negated proj.s and constants Convention: Ω(1) contains proj.s, negated proj.s and constants of any arity

slide-5
SLIDE 5

Clones

The composition of an n-ary f with m-ary g1, . . . , gn is given by f (g1, . . . , gn)(a) = f (g1(a), . . . , gn(a)) for every a ∈ {0, 1}m. For K, J ⊆ Ω, the class composition of K with J is defined by K ◦ J = {f (g1, . . . , gn): f n-ary in K, g1, . . . , gn m-ary in J}. A clone is a class C ⊆ Ω that contains all projections and satisfies C ◦ C = C. Known results about (Boolean) clones: Clones constitute an algebraic lattice (E. Post, 1941). Ω is the largest clone while Ic of all projections is the smallest Each clone C is finitely generated: C = [K], for some finite K ⊆ Ω Each C has a dual C d = {f d : f ∈ C}, f d(x1, . . . , xn) = ¬f (¬x1, . . . , ¬xn)

slide-6
SLIDE 6

Clones

The composition of an n-ary f with m-ary g1, . . . , gn is given by f (g1, . . . , gn)(a) = f (g1(a), . . . , gn(a)) for every a ∈ {0, 1}m. For K, J ⊆ Ω, the class composition of K with J is defined by K ◦ J = {f (g1, . . . , gn): f n-ary in K, g1, . . . , gn m-ary in J}. A clone is a class C ⊆ Ω that contains all projections and satisfies C ◦ C = C. Known results about (Boolean) clones: Clones constitute an algebraic lattice (E. Post, 1941). Ω is the largest clone while Ic of all projections is the smallest Each clone C is finitely generated: C = [K], for some finite K ⊆ Ω Each C has a dual C d = {f d : f ∈ C}, f d(x1, . . . , xn) = ¬f (¬x1, . . . , ¬xn)

slide-7
SLIDE 7

Classification of clones: Post’s lattice

Ω T0 T1 M L Ω(1) S SM U2 U3 U∞ McU∞ Λ W2 W3 W∞ McW∞ V Associative and nonassociative Only associative functions

slide-8
SLIDE 8

Examples: essentially unary and minimal clones

Essentially unary clones: clones contained in Ω(1) Ic = [ ], I0 = [0], I1 = [1] and I = [0, 1] I ∗ = [ ¬x ] and Ω(1) = [0, 1, ¬x ] Minimal clones: clones that cover the clone Ic of projections Λc = [∧] of conjunctions and Vc = [∨] of disjunctions Lc = [⊕3] of constant-preserving linear functions SM = [m] of self-dual (f = f d) monotone functions

slide-9
SLIDE 9

Composition of clones and normal forms

Known results about composition of clones: The composition of clones is associative. C1 ◦ C2 of clones is not always a clone: I ∗ ◦ Λ is not a clone Composition of clones completely described by C., Foldes, Lehtonen (2006) Ω can be factorized into a composition of minimal clones Descending Irredundant Factorizations of Ω: D: Ω = Vc ◦ Λc ◦ I ∗ and C: Ω = Λc ◦ Vc ◦ I ∗ P: Ω = Lc ◦ Λc ◦ I and Pd: Ω = Lc ◦ Vc ◦ I M: Ω = SM ◦ Ω(1) NB: Each corresponds to a normal form system (NFS), i.e., a set of terms T(α1 · · · αn) over the connectives α1, . . . , αn taken in this order. Example: D = T(∨ ∧ ¬) and C = T(∧ ∨ ¬)

slide-10
SLIDE 10

Composition of clones and normal forms

Known results about composition of clones: The composition of clones is associative. C1 ◦ C2 of clones is not always a clone: I ∗ ◦ Λ is not a clone Composition of clones completely described by C., Foldes, Lehtonen (2006) Ω can be factorized into a composition of minimal clones Descending Irredundant Factorizations of Ω: D: Ω = Vc ◦ Λc ◦ I ∗ and C: Ω = Λc ◦ Vc ◦ I ∗ P: Ω = Lc ◦ Λc ◦ I and Pd: Ω = Lc ◦ Vc ◦ I M: Ω = SM ◦ Ω(1) NB: Each corresponds to a normal form system (NFS), i.e., a set of terms T(α1 · · · αn) over the connectives α1, . . . , αn taken in this order. Example: D = T(∨ ∧ ¬) and C = T(∧ ∨ ¬)

slide-11
SLIDE 11

Complexity

Let A be an NFS and TA the set of terms of A. The A-complexity of f is CA(f ) := min{|t| : t represents f and t ∈ TA} NB: Members of Ω(1) are not counted in |t| Example: A-terms and A-complexities of m = median M : t = m(x1, x2, x3) and CM(m) = 1 D : t = (x1∧x2)∨(x1∧x3)∨(x2∧x3) and CD(m) = 5 C : t = (x1∨x2)∧(x1∨x3)∧(x2∨x3) and CC(m) = 5 P : t = ⊕3(x1∧x2, x1∧x3, x2∧x3) and CP(m) = 4 Pd : t = ⊕3(x1∨x2, x1∨x3, x2∨x3) and CPd(m) = 4

slide-12
SLIDE 12

Complexity

Let A be an NFS and TA the set of terms of A. The A-complexity of f is CA(f ) := min{|t| : t represents f and t ∈ TA} NB: Members of Ω(1) are not counted in |t| Example: A-terms and A-complexities of m = median M : t = m(x1, x2, x3) and CM(m) = 1 D : t = (x1∧x2)∨(x1∧x3)∨(x2∧x3) and CD(m) = 5 C : t = (x1∨x2)∧(x1∨x3)∧(x2∨x3) and CC(m) = 5 P : t = ⊕3(x1∧x2, x1∧x3, x2∧x3) and CP(m) = 4 Pd : t = ⊕3(x1∨x2, x1∨x3, x2∨x3) and CPd(m) = 4

slide-13
SLIDE 13

Comparison of NFS’s

An NFS A is polynomially as efficient as B, denoted A ⪯ B, if there is a polynomial p with integer coefficients such that CA(f ) ≤ p(CB(f )) for all f ∈ Ω NB: ⪯ is a quasi-ordering of NFSs’ If A ̸⪯ B and B ̸⪯ A holds, then A and B are incomparable If A ⪯ B but B ̸⪯ A, then A is polynomially more efficient than B If A ⪯ B and B ⪯ A, then A and B are equivalently efficient (A ∼ B)

slide-14
SLIDE 14

Comparison of NFS’s

An NFS A is polynomially as efficient as B, denoted A ⪯ B, if there is a polynomial p with integer coefficients such that CA(f ) ≤ p(CB(f )) for all f ∈ Ω NB: ⪯ is a quasi-ordering of NFSs’ If A ̸⪯ B and B ̸⪯ A holds, then A and B are incomparable If A ⪯ B but B ̸⪯ A, then A is polynomially more efficient than B If A ⪯ B and B ⪯ A, then A and B are equivalently efficient (A ∼ B)

slide-15
SLIDE 15

Motivation

Theorem (C., Foldes, Lehtonen)

1

D, C, P, and Pd are incomparable

2

M is polynomially more efficient than D, C, P, Pd Problem 1. Other NFS’s? E.g.: based on other connectives (generators) Problem 2. Classification of NFS’s in terms of efficiency Problem 3. Does the choice of generators within NFSs impact efficiency? E.g.: m3 vs m5? Problem 4. How to obtain optimal (minimal) representations in efficient NFS? E.g.: optimal median normal forms?

slide-16
SLIDE 16

Motivation

Theorem (C., Foldes, Lehtonen)

1

D, C, P, and Pd are incomparable

2

M is polynomially more efficient than D, C, P, Pd Problem 1. Other NFS’s? E.g.: based on other connectives (generators) Problem 2. Classification of NFS’s in terms of efficiency Problem 3. Does the choice of generators within NFSs impact efficiency? E.g.: m3 vs m5? Problem 4. How to obtain optimal (minimal) representations in efficient NFS? E.g.: optimal median normal forms?

slide-17
SLIDE 17

Motivation

Theorem (C., Foldes, Lehtonen)

1

D, C, P, and Pd are incomparable

2

M is polynomially more efficient than D, C, P, Pd Problem 1. Other NFS’s? E.g.: based on other connectives (generators) Problem 2. Classification of NFS’s in terms of efficiency Problem 3. Does the choice of generators within NFSs impact efficiency? E.g.: m3 vs m5? Problem 4. How to obtain optimal (minimal) representations in efficient NFS? E.g.: optimal median normal forms?

slide-18
SLIDE 18

Single vs several connectives

Ω T0 T1 M L Ω(1) S SM U2 U3 U∞ McU∞ Λ W2 W3 W∞ McW∞ V 1 non-trivial connective Several non-trivial connectives

slide-19
SLIDE 19

Locating efficient NFSs...

Ω T0 T1 M L Ω(1) S SM U2 U3 U∞ McU∞ Λ W2 W3 W∞ McW∞ V Efficient representations Non-efficient representations

Result: NFS based on a single nontrivial connective are more efficient Examples: NFS based on Ω = [x ↑ y] and McU∞ = [x ∧ (y ∨ z)]

slide-20
SLIDE 20

Locating efficient NFSs...

Ω T0 T1 M L Ω(1) S SM U2 U3 U∞ McU∞ Λ W2 W3 W∞ McW∞ V Efficient representations Non-efficient representations

Result: NFS based on a single nontrivial connective are more efficient Examples: NFS based on Ω = [x ↑ y] and McU∞ = [x ∧ (y ∨ z)]

slide-21
SLIDE 21

Towards a finer classification of NFSs

Ω T0 T1 M L Ω(1) S SM U2 U3 U∞ TcU∞ MU∞ McU∞ Λ W2 W3 W∞ TcW∞ MW∞ McW∞ V Efficient representations Non-efficient representations

Result I: Black ≺ Blue ⪯ Red Result II: Efficient monotone NFSs are all equivalent to M Result III: The choice of monotone connectives does not impact efficiency

slide-22
SLIDE 22

Main tools: NFS reductions

Consider NFSs A = T(α¬) (or T(α)) and B = T(β¬) (or T(β)). We say that A is linear reducible to B, denoted A ⊒ B, if: ∃t ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ t and ∀j ∈ {1, . . . , ar(α)}, |t|xj = 1 A is universally reducible to B, denoted A ⊒∀ B, if: ∀j ∈ {1, . . . , ar(α)}, ∃tj ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ tj and |tj|xj = 1; A is existentially reducible to B, denoted A ⊒∃ B, if: ∃t ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ t and ∃j ∈ {1, . . . , ar(α)}, |t|xj = 1. Result I: ⊒ ⊂ ⊒∀ ⊂ ⊒∃. Moreover ⊒ ⊂⊒∀ ⊆ ⪰ Result II: Suppose A = T(α¬) ⊒∃ B. If [α] is symmetric, then A ⪰ B.

slide-23
SLIDE 23

Main tools: NFS reductions

Consider NFSs A = T(α¬) (or T(α)) and B = T(β¬) (or T(β)). We say that A is linear reducible to B, denoted A ⊒ B, if: ∃t ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ t and ∀j ∈ {1, . . . , ar(α)}, |t|xj = 1 A is universally reducible to B, denoted A ⊒∀ B, if: ∀j ∈ {1, . . . , ar(α)}, ∃tj ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ tj and |tj|xj = 1; A is existentially reducible to B, denoted A ⊒∃ B, if: ∃t ∈ T(β) s.t. α(x1, . . . , xar(α)) ≡ t and ∃j ∈ {1, . . . , ar(α)}, |t|xj = 1. Result I: ⊒ ⊂ ⊒∀ ⊂ ⊒∃. Moreover ⊒ ⊂⊒∀ ⊆ ⪰ Result II: Suppose A = T(α¬) ⊒∃ B. If [α] is symmetric, then A ⪰ B.

slide-24
SLIDE 24

Examples I

Recall: If A = T(α¬) ⊒∃ B and [α] is symmetric, then A ⪰ B. Let U = T(u¬) be the NFS based on the generator u = x ∧ (y ∨ z) of McU∞ NB: u(x, y, z) ≡ m(m(x, 1, y), 0, z) and m(x, y, z) ≡ u(u(x, 0, y), u(x, y, z), 1) Hence: U ⊒ M and M ⊒∃ U (with m sym.) and thus M ∼ U Let S = T(x ↑ y) be the NFS based on the Sheffer function x ↑ y = ¬(x ∧ y) NB: x ↑ y ≡ m(¬x, 1, ¬y) and m(x, y, z) ≡ (y ↑ z) ↑ (x ↑ ((y ↑ 1) ↑ (z ↑ 1))) Hence: S ⊒ M and M ⊒∃ S (with m sym.) and thus M ∼ S

slide-25
SLIDE 25

Examples I

Recall: If A = T(α¬) ⊒∃ B and [α] is symmetric, then A ⪰ B. Let U = T(u¬) be the NFS based on the generator u = x ∧ (y ∨ z) of McU∞ NB: u(x, y, z) ≡ m(m(x, 1, y), 0, z) and m(x, y, z) ≡ u(u(x, 0, y), u(x, y, z), 1) Hence: U ⊒ M and M ⊒∃ U (with m sym.) and thus M ∼ U Let S = T(x ↑ y) be the NFS based on the Sheffer function x ↑ y = ¬(x ∧ y) NB: x ↑ y ≡ m(¬x, 1, ¬y) and m(x, y, z) ≡ (y ↑ z) ↑ (x ↑ ((y ↑ 1) ↑ (z ↑ 1))) Hence: S ⊒ M and M ⊒∃ S (with m sym.) and thus M ∼ S

slide-26
SLIDE 26

Example II

Median decomposition scheme (MD): f : {0, 1}n → {0, 1} is monotone iff (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} Result: If A = T(α¬) with α monotone, then A ⪰ M. In fact, M ∼ A Example: Let M2n+1 = T(m2n+1 ¬), n ≥ 1. Then M2n+1 ∼ M. Indeed: m(x, y, z) = m2n+1(x, yn, zn)

slide-27
SLIDE 27

Example II

Median decomposition scheme (MD): f : {0, 1}n → {0, 1} is monotone iff (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} Result: If A = T(α¬) with α monotone, then A ⪰ M. In fact, M ∼ A Example: Let M2n+1 = T(m2n+1 ¬), n ≥ 1. Then M2n+1 ∼ M. Indeed: m(x, y, z) = m2n+1(x, yn, zn)

slide-28
SLIDE 28

Example II

Median decomposition scheme (MD): f : {0, 1}n → {0, 1} is monotone iff (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} Result: If A = T(α¬) with α monotone, then A ⪰ M. In fact, M ∼ A Example: Let M2n+1 = T(m2n+1 ¬), n ≥ 1. Then M2n+1 ∼ M. Indeed: m(x, y, z) = m2n+1(x, yn, zn)

slide-29
SLIDE 29

Part II. Complexity issues: Median normal forms

slide-30
SLIDE 30

Median NFS

How to obtain median representations? Naive approach: Based on median decomposition scheme (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} NB: In the case of monotone functions... Problem 1: The expressions thus obtained are not be optimal! Example: m5 would need 1+2+4+8+16= 31 ms but 4 suffice: m5 ≡ m(x1, m(x2, x3, x4), m(x2, x5, m(x3, x4, x5))) Problem 2: There are equivalent median terms with = “size” but ̸= depth Depth of t, denoted d(t), is defined recursively by if t = x or c, then d(t) = 0 if t = m(t1, t2, t3), then d(t) = d(t1) + d(t2) + d(t3) + 1

slide-31
SLIDE 31

Median NFS

How to obtain median representations? Naive approach: Based on median decomposition scheme (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} NB: In the case of monotone functions... Problem 1: The expressions thus obtained are not be optimal! Example: m5 would need 1+2+4+8+16= 31 ms but 4 suffice: m5 ≡ m(x1, m(x2, x3, x4), m(x2, x5, m(x3, x4, x5))) Problem 2: There are equivalent median terms with = “size” but ̸= depth Depth of t, denoted d(t), is defined recursively by if t = x or c, then d(t) = 0 if t = m(t1, t2, t3), then d(t) = d(t1) + d(t2) + d(t3) + 1

slide-32
SLIDE 32

Median NFS

How to obtain median representations? Naive approach: Based on median decomposition scheme (∗) f (x) = m( f (x0

i ) , xi , f (x1 i ) ),

for every i ∈ {1, . . . , n} NB: In the case of monotone functions... Problem 1: The expressions thus obtained are not be optimal! Example: m5 would need 1+2+4+8+16= 31 ms but 4 suffice: m5 ≡ m(x1, m(x2, x3, x4), m(x2, x5, m(x3, x4, x5))) Problem 2: There are equivalent median terms with = “size” but ̸= depth Depth of t, denoted d(t), is defined recursively by if t = x or c, then d(t) = 0 if t = m(t1, t2, t3), then d(t) = d(t1) + d(t2) + d(t3) + 1

slide-33
SLIDE 33

Structural representation of median forms

Structural representation of a median term t of depth d is St = (nd, . . . , n0) where ni is the number of medians at depth ≤ i NB: St is a decreasing sequence and nd = |t| Ex: t = m(x1, m(x2, x3, x4), m(x2, x5, m(x3, x4, x5)))?

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

. m . . . m . . . m . . . x5 . . . x4 . . . x3 . . . x5 . . . x2 . . . m . . . x4 . . . x3 . . . . . x2 . . . . . x1

Define: t1 ≤Str t2 if St1 ≤lex St2 NB: ≤Str prioritizes the size over depth, and “shallowness” over “deepness”

slide-34
SLIDE 34

Structural representation of median forms

Structural representation of a median term t of depth d is St = (nd, . . . , n0) where ni is the number of medians at depth ≤ i NB: St is a decreasing sequence and nd = |t| Ex: t = m(x1, m(x2, x3, x4), m(x2, x5, m(x3, x4, x5)))?

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

. m . . . m . . . m . . . x5 . . . x4 . . . x3 . . . x5 . . . x2 . . . m . . . x4 . . . x3 . . . . . x2 . . . . . x1

Define: t1 ≤Str t2 if St1 ≤lex St2 NB: ≤Str prioritizes the size over depth, and “shallowness” over “deepness”

slide-35
SLIDE 35

Complexity issues

MNF: t is a median normal form (MNF) if it is minimal w.r.t. ≤Str Problem: How difficult is it to find MNF’s? Still eludes us but probably intractable...

SMALLMED:

Input: a median representation t and a decreasing sequence S Output: SUCCESS if there is an equiv. t′ s.t. St′ < S, FAIL if not Result: SMALLMED is in the class ΣP

2

Recall: ΣP

2 class of decision prob.s whose accepting instances are of the form

{x : ∃c1∀c2F(x, c1, c2)} where c1 and c2 are certificates whose lengths are polynomial in |x| and F is computable in polynomial time Few words: Complexity of variant problems and restrictions...

slide-36
SLIDE 36

Complexity issues

MNF: t is a median normal form (MNF) if it is minimal w.r.t. ≤Str Problem: How difficult is it to find MNF’s? Still eludes us but probably intractable...

SMALLMED:

Input: a median representation t and a decreasing sequence S Output: SUCCESS if there is an equiv. t′ s.t. St′ < S, FAIL if not Result: SMALLMED is in the class ΣP

2

Recall: ΣP

2 class of decision prob.s whose accepting instances are of the form

{x : ∃c1∀c2F(x, c1, c2)} where c1 and c2 are certificates whose lengths are polynomial in |x| and F is computable in polynomial time Few words: Complexity of variant problems and restrictions...

slide-37
SLIDE 37

Complexity issues

MNF: t is a median normal form (MNF) if it is minimal w.r.t. ≤Str Problem: How difficult is it to find MNF’s? Still eludes us but probably intractable...

SMALLMED:

Input: a median representation t and a decreasing sequence S Output: SUCCESS if there is an equiv. t′ s.t. St′ < S, FAIL if not Result: SMALLMED is in the class ΣP

2

Recall: ΣP

2 class of decision prob.s whose accepting instances are of the form

{x : ∃c1∀c2F(x, c1, c2)} where c1 and c2 are certificates whose lengths are polynomial in |x| and F is computable in polynomial time Few words: Complexity of variant problems and restrictions...

slide-38
SLIDE 38

Complexity issues

MNF: t is a median normal form (MNF) if it is minimal w.r.t. ≤Str Problem: How difficult is it to find MNF’s? Still eludes us but probably intractable...

SMALLMED:

Input: a median representation t and a decreasing sequence S Output: SUCCESS if there is an equiv. t′ s.t. St′ < S, FAIL if not Result: SMALLMED is in the class ΣP

2

Recall: ΣP

2 class of decision prob.s whose accepting instances are of the form

{x : ∃c1∀c2F(x, c1, c2)} where c1 and c2 are certificates whose lengths are polynomial in |x| and F is computable in polynomial time Few words: Complexity of variant problems and restrictions...

slide-39
SLIDE 39

Open problems and ongoing work

Part II:

1

Better upper bound? Completeness?

2

Variant decision problems and resp. complexity classes Part I:

1

Refinement of NFS classification

2

Analogous results stratified circuits (variable sharing)

slide-40
SLIDE 40

Open problems and ongoing work

Part II:

1

Better upper bound? Completeness?

2

Variant decision problems and resp. complexity classes Part I:

1

Refinement of NFS classification

2

Analogous results stratified circuits (variable sharing)

slide-41
SLIDE 41

Kiitos mielenkiinnostanne! Obrigado pela vossa aten¸ c˜ ao! Thank you for your attention! ...and...

slide-42
SLIDE 42

Happy Birthday! ...and thank you, Lauri, for all that remains unsaid!