Deterministic Context-Free Languages Are Not Closed Under Concatenation #
The reduction uses the standard DCFL union witnesses. If DCFLs were closed under concatenation, then prefixing one branch by a fresh marker and concatenating with the marker star would let an intersection and a left quotient recover the union of the two witness languages.
theorem
DCFConcatenation.DPDA.is_DCF_optional_marked_union_no_initial_epsilon
{T Q₁ Q₂ S₁ S₂ : Type}
[Fintype T]
[Fintype Q₁]
[Fintype Q₂]
[Fintype S₁]
[Fintype S₂]
(M₁ : DPDA Q₁ T S₁)
(M₂ : DPDA Q₂ T S₂)
(hnoε : M₂.epsilon_transition M₂.initial_state M₂.start_symbol = none)
: