to-expansion: failure with lal-lan merge
At commit 851fc4e9, theses test cases from to-expansion.py
fail:
d: (⟨x⟩a+⟨y⟩b)*&(⟨z⟩b+⟨x⟩c)* => ⟨ε⟩ ⊕ ε⊙[⟨z⟩ε&b(⟨z⟩b+⟨x⟩c)*⊕⟨x⟩ε&c(⟨z⟩b+⟨x⟩c)*⊕⟨x⟩a(⟨x⟩a+⟨y⟩b)*&ε⊕⟨y⟩b(⟨x⟩a+⟨y⟩b)*&ε] ⊕ b⊙[⟨yz⟩(⟨x⟩a+⟨y⟩b)*&(⟨z⟩b+⟨x⟩c)*]
not ok 1 Unexpected result
../vcsn/to-expansion-test.py:25: fail: Unexpected result
Expected output::
<\e> + b.[<yz>(<x>a+<y>b)*&(<z>b+<x>c)*]
Effective output::
<\e> + \e.[<z>\e&b(<z>b+<x>c)* + <x>\e&c(<z>b+<x>c)* + <x>a(<x>a+<y>b)*&\e + <y>b(<x>a+<y>b)*&\e] + b.[<yz>(<x>a+<y>b)*&(<z>b+<x>c)*]
Diff on output::
--- expected
+++ effective
@@ -1 +1 @@
-<\e> + b.[<yz>(<x>a+<y>b)*&(<z>b+<x>c)*]
+<\e> + \e.[<z>\e&b(<z>b+<x>c)* + <x>\e&c(<z>b+<x>c)* + <x>a(<x>a+<y>b)*&\e + <y>b(<x>a+<y>b)*&\e] + b.[<yz>(<x>a+<y>b)*&(<z>b+<x>c)*]
ok 2
../vcsn/to-expansion-test.py:25: pass:
Traceback (most recent call last):
File "../vcsn/to-expansion-test.py", line 26, in <module>
check('(a*&a*){c}', r'a.[(a*&a*){c}] + b.[\z{c}] + c.[\z{c}]')
File "../vcsn/to-expansion-test.py", line 14, in check
eff = re.expansion()
RuntimeError: expansion: complement: expansion must be normalized: <\e> + \e.[\e&aa* + aa*&\e] + a.[a*&a*]
while computing expansion of: (a*&a*){c}
1..2
PASS: 1
FAIL: 1
The reduced test file: to-expansion-test.py