Section g_eill_complete.
Variable (Σ : list eill_cmd) (Γ : list eill_vars).
Notation vars := (flat_map eill_cmd_vars Σ ++ Γ).
Let vv := nat_sort vars.
Let Hvv1 : list_injective vv.
Variables (x : eill_vars)
(Hvalid : forall n s, @ill_sequent_tps n s (map (fun c => !⦑c⦒) Σ ++ map £ Γ) (£ x) vec_zero).
End g_eill_complete.
From Undecidability.ILL Require Import CLL ill_cll schellinx.
Fact eill_no_bot c : ~ ill_has_bot ⦑ c ⦒.
Tactic Notation "solve" "with" int(i) int(j) :=
let H := fresh in split; [ intro; now do i apply G_eill_correct
| intros H; now do j apply G_eill_correct in H ].
(* The reduction is correct for the cut-free (!,&,-o) fragment of ILL *)

Theorem G_eill_S_cll : Σ; Γ ⊦ u <-> S_cll (Σc++Γc) (uc::nil).