(**************************************************************)
(*   Copyright Dominique Larchey-Wendling [*]                 *)
(*                                                            *)
(*                             [*] Affiliation LORIA -- CNRS  *)
(**************************************************************)
(*      This file is distributed under the terms of the       *)
(*         CeCILL v2 FREE SOFTWARE LICENSE AGREEMENT          *)
(**************************************************************)
From Undecidability.MinskyMachines
From Undecidability.ILL
From Undecidability.Shared.Libs.DLW
From Undecidability.Synthetic
Set Implicit Arguments.
Local Infix "~p" := (@Permutation _) (at level 70).
Local Notation "X ⊆ Y" := (forall a, X a -> Y a : Prop) (at level 70).
Local Infix "∊" := In (at level 70).
Local Reserved Notation "'⟦' A '⟧'" (at level 1, format "⟦ A ⟧").
Local Fact pair_plus x1 y1 x2 y2 :
vec_plus (x1##y1##vec_nil) (x2##y2##vec_nil)
= (x1+x2)##(y1+y2)##vec_nil.
Notation "Γ ⊢ A" := (S_imsell bang_le U Γ A) (at level 70).
Notation "Σ // a ⊕ b ⊦ p" := (ndmm2_accept Σ a b p) (at level 70, no associativity).

Theorem ndmm2_imsell_sound Σ x y p : Σ // x ⊕ y ⊦ p -> ndmm2_imsell_ctx Σ x y ⊢ £(2+p) .