SLIDE 1 From multiplicity awareness to computation correlation
Jacques Sakarovitch
LTCI – CNRS/ENST
SLIDE 2 The results presented in this talk are taken from a joint work with Marie-Pierre B´ eal and Sylvain Lombardy, IGM, Universit´ e Paris-Est, Marne-la-Vall´ ee, published in On the equivalence and conjugacy of weighted automata. in Proc. of CSR’06, LNCS 3967. The complete journal version is still in preparation. Some of the results have been included in the chapter Rational and recognizable series
- f the Handbook of Weighted Automata, Springer, 2009.
SLIDE 3
Part I An introductory result
SLIDE 4
The Rational Bijection Theorem Proposition
If two regular languages have the same growth function, then there exists a letter-to-letter rational bijection that maps one language onto the other.
SLIDE 5
An example: a first language
K = (c + d c + d d)∗ \ {c c (c + d)∗ ∪ 1B∗}
SLIDE 6 An example: a first language
K = (c + d c + d d)∗ \ {c c (c + d)∗ ∪ 1B∗}
r s t u
B
c d d c + d d c
SLIDE 7 An example: a first language
K = (c + d c + d d)∗ \ {c c (c + d)∗ ∪ 1B∗}
r s t u
B
c d d c + d d c
c cdc cdcc dcdd cdd cddc ddcc dc dcc dccc dddc dd ddc dcdc dddd
SLIDE 8 An example: a first language
K = (c + d c + d d)∗ \ {c c (c + d)∗ ∪ 1B∗}
r s t u
B
c d d c + d d c
c cdc cdcc dcdd cdd cddc ddcc dc dcc dccc dddc dd ddc dcdc dddd ∀n ∈ N gK (n) = Card (K ∩ {c, d}n) = 2n−1
SLIDE 9
An example: a second language
L = a(a + b)∗
SLIDE 10 An example: a second language
L = a(a + b)∗
p q
A
a a b
SLIDE 11 An example: a second language
L = a(a + b)∗
p q
A
a a b
a aaa aaaa abaa aab aaab abab aa aba aaba abba ab abb aabb abbb
SLIDE 12 An example: a second language
L = a(a + b)∗
p q
A
a a b
a aaa aaaa abaa aab aaab abab aa aba aaba abba ab abb aabb abbb ∀n ∈ N gL (n) = Card (L ∩ {a, b}n) = 2n−1
SLIDE 13 An example: the rational bijection
L = a(a+b)∗ K = (c+d c+d d)∗\{c c (c + d)∗ ∪ 1B∗}
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c
a aaa aaaa abaa c cdc cdcc dcdd aab aaab abab cdd cddc ddcc aa aba aaba abba dc dcc dccc dddc ab abb aabb abbb dd ddc dcdc dddd
SLIDE 14 An example: the rational bijection
L = a(a+b)∗ K = (c+d c+d d)∗\{c c (c + d)∗ ∪ 1B∗}
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c a|c a|c
a aaa aaaa abaa c cdc cdcc dcdd aab aaab abab cdd cddc ddcc aa aba aaba abba dc dcc dccc dddc ab abb aabb abbb dd ddc dcdc dddd
SLIDE 15 An example: the rational bijection
L = a(a+b)∗ K = (c+d c+d d)∗\{c c (c + d)∗ ∪ 1B∗}
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c a|d b|d a|d b|d
a aaa aaaa abaa c cdc cdcc dcdd aab aaab abab cdd cddc ddcc aa aba aaba abba dc dcc dccc dddc ab abb aabb abbb dd ddc dcdc dddd
SLIDE 16 An example: the rational bijection
L = a(a+b)∗ K = (c+d c+d d)∗\{c c (c + d)∗ ∪ 1B∗}
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c a|c b|d b|d a|c b|d b|d
a aaa aaaa abaa c cdc cdcc dcdd aab aaab abab cdd cddc ddcc aa aba aaba abba dc dcc dccc dddc ab abb aabb abbb dd ddc dcdc dddd
SLIDE 17 An example: the rational bijection
L = a(a+b)∗ K = (c+d c+d d)∗\{c c (c + d)∗ ∪ 1B∗}
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c a|d b|c a|d b|c a|d b|c a|d b|c
a aaa aaaa abaa c cdc cdcc dcdd aab aaab abab cdd cddc ddcc aa aba aaba abba dc dcc dccc dddc ab abb aabb abbb dd ddc dcdc dddd
SLIDE 18 The result on this example: how to construct the transducer
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c
from the automata
p q
A
a a + b
r s t u
B
c d d c + d d c
and
SLIDE 19
Part II The link between growth functions and automata
SLIDE 20
The generating function
A language K = (c +d c +d d)∗ \{c c (c + d)∗ ∪ 1B∗} that is,
SLIDE 21 The generating function
A language K = (c +d c +d d)∗ \{c c (c + d)∗ ∪ 1B∗} that is, an unambiguous automaton
r s t u
B
c d d c + d d c
SLIDE 22 The generating function
A language K = (c +d c +d d)∗ \{c c (c + d)∗ ∪ 1B∗} that is, an unambiguous automaton
r s t u
B
c d d c + d d c
is transformed into an automaton over {z}∗ with weight in N
r s t u
B′
1z 1z 1z 2z 1z 1z
SLIDE 23 The generating function
A language K = (c +d c +d d)∗ \{c c (c + d)∗ ∪ 1B∗} that is, an unambiguous automaton
r s t u
B
c d d c + d d c
is transformed into an automaton over {z}∗ with weight in N
r s t u
B′
1z 1z 1z 2z 1z 1z
which realises the generating function GK (z) =
gK (n) zn
SLIDE 24 Two regular languages with equal growth functions
p q
A
a a + b
r s t u
B
c d d c + d d c
(i) Two finite automata A and B , preferably unambiguous,
SLIDE 25 Two regular languages with equal growth functions
p q
A
a a + b
r s t u
B
c d d c + d d c
(i) Two finite automata A and B , preferably unambiguous, (ii) transformed into A′ and B′ , over {z}∗ with multiplicity in N, which realise the generating functions GL (z) and GK (z) : GL (z) =
gL (n) zn and GK (z) =
gK (n) zn ,
SLIDE 26 Two regular languages with equal growth functions
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
(i) Two finite automata A and B , preferably unambiguous, (ii) transformed into A′ and B′ , over {z}∗ with multiplicity in N, which realise the generating functions GL (z) and GK (z) : GL (z) =
gL (n) zn and GK (z) =
gK (n) zn ,
SLIDE 27 Two regular languages with equal growth functions
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
(i) Two finite automata A and B , preferably unambiguous, (ii) transformed into A′ and B′ , over {z}∗ with multiplicity in N, which realise the generating functions GL (z) and GK (z) : GL (z) =
gL (n) zn and GK (z) =
gK (n) zn , (iii) and whose equivalence is decidable (Sch¨ utzenberger 1961, Eilenberg 1974).
SLIDE 28
Two regular languages with equal growth functions
Generating functions are realised by weighted automata
SLIDE 29 Weighted automata, a first look
p q b a b 2a 2b p
b
− − →p
a
− − → p
b
− − → q p
b
− − →q
2a
− − → q
2b
− − → q b ab − → 5 ∀w ∈ A∗ w − → w2 s : A∗ − → N s : w − →
<s, w>
s ∈ N A∗
- s = b + ab + 2b a + 3b b + aab
+ 2ab a + 3ab b + 4b aa + 5b ab + . . .
SLIDE 30
Series play the role of languages K A∗ plays the role of P(A∗)
SLIDE 31 Richness of the model of weighted automata
◮
B ‘classic’ automata
◮
N ‘usual’ counting
◮
Z , Q , R numerical multiplicity
◮
M = N, min, + Min-plus automata
◮
P(B∗) = B B∗
◮
N B∗
◮
P(F(B)) pushdown automata
SLIDE 32
Equivalence of weighted automata
The equivalence of weighted automata with weights in
SLIDE 33
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B is decidable
SLIDE 34
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a field is decidable
SLIDE 35
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field is decidable
SLIDE 36
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field decidable (Z, min, +) is undecidable
SLIDE 37
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field decidable (Z, min, +) undecidable Rat B∗ is undecidable The equivalence of transducers is undecidable
SLIDE 38
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field decidable (Z, min, +) undecidable Rat B∗ undecidable NRat B∗ is decidable The equivalence of transducers undecidable transducers with multiplicity in N is decidable
SLIDE 39
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field decidable (Z, min, +) undecidable Rat B∗ undecidable NRat B∗ decidable The equivalence of transducers undecidable transducers with multiplicity in N decidable functional transducers is decidable
SLIDE 40
Equivalence of weighted automata
The equivalence of weighted automata with weights in the Boolean semiring B decidable a subsemiring of a field decidable (Z, min, +) undecidable Rat B∗ undecidable NRat B∗ decidable The equivalence of transducers undecidable transducers with multiplicity in N decidable functional transducers decidable (Z, min, +)-unambiguous automata is decidable
SLIDE 41
Part III Proof of the Rational Bijection Theorem
SLIDE 42
The Rational Bijection Theorem Proposition
If two regular languages have the same growth function, then there exists a letter-to-letter rational bijection that maps one language onto the other.
SLIDE 43 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
SLIDE 44 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
Theorem (BLS)
Two N-automata are equivalent if, and only if they are conjugate to a same third N-automaton.
SLIDE 45 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
A confession Automata are matrices
SLIDE 46 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
A confession Automata are matrices
A′ = I, E, T =
, z 2z
1
SLIDE 47 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
A confession Automata are matrices
A′ = I, E, T =
, z 2z
1
| |A′| | | = I E ∗ T
SLIDE 48 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
Theorem (BLS)
Two N-automata are equivalent if, and only if they are conjugate to a same third N-automaton.
SLIDE 49 The Conjugacy Theorem Theorem (BLS)
Two N-automata are equivalent if, and only if they are conjugate to a same third N-automaton.
Definition
Let A = I, E, T and B = J, F, U be two K-automata. A is conjugate to B if there exists a K-matrix X such that : I X = J, E X = X F, and T = X U . This is denoted as A
X
= ⇒ B .
SLIDE 50 The Conjugacy Theorem Theorem (BLS)
Two N-automata are equivalent if, and only if they are conjugate to a same third N-automaton.
Definition
Let A = I, E, T and B = J, F, U be two K-automata. A is conjugate to B if there exists a K-matrix X such that : I X = J, E X = X F, and T = X U . This is denoted as A
X
= ⇒ B . Conjugacy is a preorder (transitive and reflexive, but not symmetric).
SLIDE 51 The Conjugacy Theorem Theorem (BLS)
Two N-automata are equivalent if, and only if they are conjugate to a same third N-automaton.
Definition
Let A = I, E, T and B = J, F, U be two K-automata. A is conjugate to B if there exists a K-matrix X such that : I X = J, E X = X F, and T = X U . This is denoted as A
X
= ⇒ B . A
X
= ⇒ B implies that A and B are equivalent. I E E T= I E E X U= I E X F U= I X F F U= J F F U and then I E ∗ T = J F ∗ U
SLIDE 52 The Conjugacy Theorem
p q
A′
1z 2z
r s t u
B′
1z 1z 1z 2z 1z 1z
Theorem (BLS)
Two N-automata A and B are equivalent if, and only if, there exist an N-automaton C (and N-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B .
SLIDE 53 The Conjugacy Theorem
p q
A′
1z 2z
X
⇐ =
x y z
C′
2 1z 1z 2z
Y
= ⇒
r s t u
B′
1z 1z 1z 2z 1z 1z
Theorem (BLS)
Two N-automata A and B are equivalent if, and only if, there exist an N-automaton C (and N-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B .
SLIDE 54 The Conjugacy Theorem
p q
A′
1z 2z
X
⇐ =
x y z
C′
2 1z 1z 2z
Y
= ⇒
r s t u
B′
1z 1z 1z 2z 1z 1z
Theorem (BLS)
Two N-automata A and B are equivalent if, and only if, there exist an N-automaton C (and N-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B . with X =
1 1 2
and Y =
1 1 1 1 2
SLIDE 55 The Conjugacy Theorem
p q
A′
1z 2z 1 1 2
⇐ =
x y z
C′
2 1z 1z 2z
Y
= ⇒
r s t u
B′
1z 1z 1z 2z 1z 1z
C′ =
, z z 2z , 1 2
, z 2z
1
SLIDE 56 The Conjugacy Theorem
p q
A′
1z 2z 1 1 2
⇐ =
x y z
C′
2 1z 1z 2z
Y
= ⇒
r s t u
B′
1z 1z 1z 2z 1z 1z
C′ =
, z z 2z , 1 2
, z 2z
1
· 1 1 2 =
, z z 2z · 1 1 2 = 1 1 2 · z 2z
1 2 = 1 1 2 · 1
SLIDE 57 A′
X
⇐ =
C′
Y
= ⇒
B′
SLIDE 58 The Finite Equivalence Theorem for automata
A′
X
⇐ =
C′
Y
= ⇒
B′
SLIDE 59 The Finite Equivalence Theorem for automata
A′
X
⇐ =
C′
Y
= ⇒
B′
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 60 The Finite Equivalence Theorem for automata
A′
X
⇐ =
C′
Y
= ⇒
B′ D′ E′
quotient quotient co-quotient co-quotient
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 61 The Finite Equivalence Theorem for automata
p q
A′
1z 2z
X
⇐ =
x y z
C′
2 1z 1z 2z
Y
= ⇒
r s t u
B′
1z 1z 1z 2z 1z 1z
D′ E′
quotient quotient co-quotient co-quotient
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 62 The Finite Equivalence Theorem for automata
p q
A′
2 X
⇐ =
x y z
C′
2 2
Y
= ⇒
r s t u
B′
2
D′ E′
quotient quotient co-quotient co-quotient
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 63 The Finite Equivalence Theorem for automata
p q
A′
2 X
⇐ =
x y z
C′
2 2
Y
= ⇒
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
quotient quotient co-quotient co-quotient
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 64 The Finite Equivalence Theorem for automata
p q
A′
2 X
⇐ =
x y z
C′
2 2
Y
= ⇒
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
A structural interpretation of conjugacy Theorem (BLS)
Let A and B be two conjugate N-automata. Then, there exist an N-automaton D such that A is a co-quotient of D and B is an quotient of D . Moreover, D is effectively computable from A and B .
SLIDE 65 p q
A′
2
x y z
C′
2 2
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
SLIDE 66 A technical proposition
p q
A′
2
x y z
C′
2 2
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
SLIDE 67 A technical proposition
x y z
C′
2 2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
SLIDE 68 A technical proposition
x y z
C′
2 2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 69 The harvest
p q
A′
2
x y z
C′
2 2
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 70 The harvest
p q
A′
2
r s t u
B′
2
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 71 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D′
2 2
rx sy ty tz uz1 uz2
E′
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 72 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D
a a b a + b a + b
rx sy ty tz uz1 uz2
E
c d d c d c d d d c c
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 73 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D
a a b a + b a + b
rx sy ty tz uz1 uz2
E
c d d c d c d d d c c
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
SLIDE 74 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D
a a b a + b a + b
rx sy ty tz uz1 uz2
E
c d d c d c d d d c c
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
a d
SLIDE 75 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D
a a b a + b a + b
rx sy ty tz uz1 uz2
E
c d d c d c d d d c c
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T ′
a|d a d
SLIDE 76 The harvest
p q
A
a a + b
r s t u
B
c d d c + d d c
px qy qz1 qz2
D
a a b a + b a + b
rx sy ty tz uz1 uz2
E
c d d c d c d d d c c
prx qsy qty qtz2 quz21 quz22 qtz1 quz12 quz11
T
a|c a|d a|d b|d a|c b|c a|d b|d b|c b|c b|d a|d b|d b|d a|d b|d a|c a|c a|c a|c
SLIDE 77
Part IV The foundations
SLIDE 78 The conjugacy theorems Theorem
Let K be B , N , Z , or any (skew) fields. Two K-automata A and B are equivalent if, and only if, there exist a K-automaton C (and K-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B .
SLIDE 79 The conjugacy theorems Theorem
Let K be B , N , Z , or any (skew) fields. Two K-automata A and B are equivalent if, and only if, there exist a K-automaton C (and K-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B .
Theorem
Two functional transducers A and B are equivalent if, and only if, there exist a functional transducer C (and word-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B .
SLIDE 80 The conjugacy theorems Theorem
Let K be B , N , Z , or any (skew) fields. Two K-automata A and B are equivalent if, and only if, there exist a K-automaton C (and K-matrices X and Y ) such that A
X
⇐ = C
Y
= ⇒ B Moreover, C is effectively computable from A and B . The path to the theorem:
◮ understanding reduction ◮ understanding reduction as a conjugacy ◮ performing joint reduction
SLIDE 81
Finite Equivalence Theorems for weighted automata The Finite Equivalence Theorem
A standard result in symbolic dynamics
Theorem
Two irreducible sofic shifts are finitely equivalent if, and only if, they have the same entropy.
SLIDE 82 Finite Equivalence Theorems for weighted automata Theorem
Let K = B or N , A and B two trim K-automata. Then A
X
= ⇒ B if, and only if, there exists a K-automaton C which is a co-K-covering of A and a K-covering of B .
SLIDE 83 Finite Equivalence Theorems for weighted automata Theorem
Let K = B or N , A and B two trim K-automata. Then A
X
= ⇒ B if, and only if, there exists a K-automaton C which is a co-K-covering of A and a K-covering of B .
Definition
C is a K-covering of B if C
Hϕ
= ⇒ B where Hϕ is the matrix of a surjective map. C is a co-K-covering of A if Ct is a K-covering of At that is, if A
Ht
ψ
= ⇒ C where Hψ is the matrix of a surjective map.
SLIDE 84 Finite Equivalence Theorems for weighted automata Theorem
Let K = B or N , A and B two trim K-automata. Then A
X
= ⇒ B if, and only if, there exists a K-automaton C which is a co-K-covering of A and a K-covering of B .
Theorem
Let K = Z or a field F , A and B two K-automata. Then A
X
= ⇒ B if, and only if, ∃ K-automata C and D and a circulation matrix D C co-K-covering of A , D K-covering of B , and C
D
= ⇒ D .