Notation no_invG :=
  (fun s : S_Ck SG =>
   match s with
   | (sg, z) =>
       sg = Lowering /\ ~ lt_Ck z kg1 \/ sg = Raising /\ ~ lt_Ck z kg3
   end) (only parsing).

Lemma INV_TCG_general : forall s : StGlobal, (fun s : StGlobal => match s with | (st_x, (sc_y, sg_z)) => InvT st_x /\ InvC sc_y /\ InvG sg_z end) s -> ForAll TrGlobal s (fun s : StGlobal => match s with | (st_x, (sc_y, sg_z)) => InvT st_x /\ InvC sc_y /\ InvG sg_z end).