(* [sigd] Signature definition. *)

Inductive term : Set :=
    alice : term
  | bob : term
  | cons : term -> term -> term
  | crypt : term -> term -> term
  | i : term
  | key : term -> term -> term
  | nil : term
  | noncea_current : term -> term -> term
  | noncea_old : term -> term -> term
  | nonceb_current : term -> term -> term -> term
  | nonceb_old : term -> term -> term -> term
  | prv : term
  | pub : term
  | s : term -> term
  | server : term
  | session_current : term -> term -> term -> term
  | session_old : term -> term -> term -> term
  | sym : term
.

(* [modd] Model definition. *)

Inductive auto_alice_key_current : term -> term -> Prop :=
    trans_alice_key_current_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_11 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_12 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_13 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_alice_key_current X1 X2
  | trans_alice_key_current_14 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_alice_key_current X1 X2
with auto__q4 : term -> Prop :=
    trans__q4_key_1 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 (key X1 X2)
  | trans__q4_key_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 (key X1 X2)
  | trans__q4_s_1 : forall X1:term, auto__q4 X1 -> auto__q4 (s X1)
  | trans__q4_s_2 : forall X1:term, auto__q3 X1 -> auto__q4 (s X1)
  | trans__q4_nonceb_current_1 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_4 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_5 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_7 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_8 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_10 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_11 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_12 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_13 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_14 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_15 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_16 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_17 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_nonceb_current_18 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 (nonceb_current X1 X2 X3)
  | trans__q4_crypt_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_crypt_2 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_crypt_3 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_crypt_4 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_crypt_5 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_crypt_6 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 (crypt X1 X2)
  | trans__q4_cons_1 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_cons_2 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_cons_3 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_cons_4 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_cons_5 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_cons_6 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 (cons X1 X2)
  | trans__q4_noncea_current_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_11 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_12 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_noncea_current_13 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 (noncea_current X1 X2)
  | trans__q4_session_current_1 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_5 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_6 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_7 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_9 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_10 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_11 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_12 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_13 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_14 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_15 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_16 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_17 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_18 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_20 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_21 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_22 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_23 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_24 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_25 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_26 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_27 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_28 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_29 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_30 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q4 (session_current X1 X2 X3)
  | trans__q4_session_current_31 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q4 (session_current X1 X2 X3)
with auto__q2 : term -> Prop :=
    trans__q2_key_1 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 (key X1 X2)
  | trans__q2_key_2 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 (key X1 X2)
  | trans__q2_s_1 : forall X1:term, auto__q2 X1 -> auto__q2 (s X1)
  | trans__q2_nonceb_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q2 (nonceb_current X1 X2 X3)
  | trans__q2_nonceb_current_2 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 (nonceb_current X1 X2 X3)
  | trans__q2_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q2 (nonceb_current X1 X2 X3)
  | trans__q2_nonceb_current_4 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q2 (nonceb_current X1 X2 X3)
  | trans__q2_crypt_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 (crypt X1 X2)
  | trans__q2_crypt_2 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 (crypt X1 X2)
  | trans__q2_crypt_3 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 (crypt X1 X2)
  | trans__q2_crypt_4 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 (crypt X1 X2)
  | trans__q2_noncea_old_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_4 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_5 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_6 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_7 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_noncea_old_8 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 (noncea_old X1 X2)
  | trans__q2_nonceb_old_1 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_3 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_4 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_5 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_11 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_12 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_13 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_14 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_15 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_16 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_17 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_18 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_nonceb_old_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q2 (nonceb_old X1 X2 X3)
  | trans__q2_cons_1 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 (cons X1 X2)
  | trans__q2_cons_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 (cons X1 X2)
  | trans__q2_cons_3 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 (cons X1 X2)
  | trans__q2_sym_1 : auto__q2 sym
  | trans__q2_noncea_current_1 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 (noncea_current X1 X2)
  | trans__q2_noncea_current_2 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 (noncea_current X1 X2)
  | trans__q2_noncea_current_3 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 (noncea_current X1 X2)
with auto_knows_old : term -> Prop :=
    trans_knows_old_key_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_2 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_3 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_4 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_5 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_6 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_7 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_8 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_9 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_10 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_key_11 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_old (key X1 X2)
  | trans_knows_old_s_1 : forall X1:term, auto__q1 X1 -> auto_knows_old (s X1)
  | trans_knows_old_nil_1 : auto_knows_old nil
  | trans_knows_old_i_1 : auto_knows_old i
  | trans_knows_old_nonceb_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_2 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_5 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_7 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_8 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_12 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_13 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_14 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_16 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_18 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_20 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_24 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_26 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_29 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_30 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_31 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_32 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_35 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_nonceb_current_36 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_current X1 X2 X3)
  | trans_knows_old_crypt_1 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_knows_old (crypt X1 X2)
  | trans_knows_old_crypt_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_old (crypt X1 X2)
  | trans_knows_old_crypt_3 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_old (crypt X1 X2)
  | trans_knows_old_crypt_4 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_old (crypt X1 X2)
  | trans_knows_old_server_1 : auto_knows_old server
  | trans_knows_old_noncea_old_1 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_2 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_3 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_4 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_5 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_6 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_7 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_noncea_old_8 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_knows_old (noncea_old X1 X2)
  | trans_knows_old_nonceb_old_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_8 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_9 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_12 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_13 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_14 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_16 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_17 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_18 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_19 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_20 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_24 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_25 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_26 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_28 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_29 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_30 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_31 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_32 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_35 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_36 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_37 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_38 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_39 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_40 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_41 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_42 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_43 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_44 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_nonceb_old_45 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_old (nonceb_old X1 X2 X3)
  | trans_knows_old_cons_1 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_old (cons X1 X2)
  | trans_knows_old_prv_1 : auto_knows_old prv
  | trans_knows_old_pub_1 : auto_knows_old pub
  | trans_knows_old_bob_1 : auto_knows_old bob
  | trans_knows_old_alice_1 : auto_knows_old alice
  | trans_knows_old_session_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_2 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_9 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_old (session_current X1 X2 X3)
  | trans_knows_old_session_current_10 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_old (session_current X1 X2 X3)
with auto_knows_current : term -> Prop :=
    trans_knows_current_key_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_2 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_3 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_4 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_5 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_6 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_7 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_8 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_9 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_10 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_11 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_12 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_key_13 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_current (key X1 X2)
  | trans_knows_current_s_1 : forall X1:term, auto__q2 X1 -> auto_knows_current (s X1)
  | trans_knows_current_s_2 : forall X1:term, auto__q1 X1 -> auto_knows_current (s X1)
  | trans_knows_current_nil_1 : auto_knows_current nil
  | trans_knows_current_i_1 : auto_knows_current i
  | trans_knows_current_nonceb_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_2 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_5 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_7 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_8 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_12 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_13 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_14 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_16 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_18 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_20 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_24 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_26 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_27 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_29 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_30 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_31 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_32 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_35 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_36 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_37 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_38 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_39 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_nonceb_current_40 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_current X1 X2 X3)
  | trans_knows_current_crypt_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_2 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_3 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_4 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_5 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_6 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_7 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_crypt_8 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_current (crypt X1 X2)
  | trans_knows_current_server_1 : auto_knows_current server
  | trans_knows_current_noncea_old_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_11 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_12 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_13 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_14 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_15 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_noncea_old_16 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_current (noncea_old X1 X2)
  | trans_knows_current_nonceb_old_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_3 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_6 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_7 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_9 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_10 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_12 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_13 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_14 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_15 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_16 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_18 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_19 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_20 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_21 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_22 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_23 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_24 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_26 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_29 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_30 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_31 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_32 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_35 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_36 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_37 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_38 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_39 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_40 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_41 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_42 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_43 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_44 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_45 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_46 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_47 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_48 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_49 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_50 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_51 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_52 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_53 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_54 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_55 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_56 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_57 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_58 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_59 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_60 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_61 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_62 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_63 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_nonceb_old_64 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_knows_current (nonceb_old X1 X2 X3)
  | trans_knows_current_cons_1 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_knows_current (cons X1 X2)
  | trans_knows_current_cons_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_current (cons X1 X2)
  | trans_knows_current_cons_3 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_current (cons X1 X2)
  | trans_knows_current_cons_4 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_current (cons X1 X2)
  | trans_knows_current_prv_1 : auto_knows_current prv
  | trans_knows_current_pub_1 : auto_knows_current pub
  | trans_knows_current_bob_1 : auto_knows_current bob
  | trans_knows_current_sym_1 : auto_knows_current sym
  | trans_knows_current_noncea_current_1 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_knows_current (noncea_current X1 X2)
  | trans_knows_current_noncea_current_2 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_knows_current (noncea_current X1 X2)
  | trans_knows_current_noncea_current_3 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_knows_current (noncea_current X1 X2)
  | trans_knows_current_alice_1 : auto_knows_current alice
  | trans_knows_current_session_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_2 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_9 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_knows_current (session_current X1 X2 X3)
  | trans_knows_current_session_current_10 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_knows_current (session_current X1 X2 X3)
with auto_alice_key_old : term -> term -> Prop :=
    trans_alice_key_old_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_11 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_12 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_13 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_14 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_15 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_alice_key_old X1 X2
  | trans_alice_key_old_16 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_alice_key_old X1 X2
with auto__q3 : term -> Prop :=
    trans__q3_key_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 (key X1 X2)
  | trans__q3_nonceb_current_1 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_nonceb_current_2 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_nonceb_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_nonceb_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_nonceb_current_5 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_nonceb_current_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (nonceb_current X1 X2 X3)
  | trans__q3_session_old_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_3 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_6 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_7 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_9 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_10 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_12 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_13 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_14 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_15 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_16 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_18 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_19 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_20 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_21 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_22 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_23 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_24 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_26 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_29 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_30 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_31 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_32 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_35 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_36 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_37 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_38 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_39 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_40 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_41 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_42 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_43 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_44 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_45 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_46 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_47 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_48 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_49 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_50 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_51 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_52 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_53 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_54 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_55 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_56 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_57 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_58 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_59 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_60 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_61 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_62 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_63 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_session_old_64 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_old X1 X2 X3)
  | trans__q3_crypt_1 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q3 (crypt X1 X2)
  | trans__q3_crypt_2 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 (crypt X1 X2)
  | trans__q3_cons_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_cons_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_cons_3 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_cons_4 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_cons_5 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_cons_6 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 (cons X1 X2)
  | trans__q3_session_current_1 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_2 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_3 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_4 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_5 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_6 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_7 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_8 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_9 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_12 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_13 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_14 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_15 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_16 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_17 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_18 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_19 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_20 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_21 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_22 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
  | trans__q3_session_current_23 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q3 (session_current X1 X2 X3)
with auto_agent : term -> Prop :=
    trans_agent_key_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_2 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_3 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_4 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_5 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_6 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_7 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_8 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_9 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_10 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_agent (key X1 X2)
  | trans_agent_key_11 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_agent (key X1 X2)
  | trans_agent_s_1 : forall X1:term, auto__q1 X1 -> auto_agent (s X1)
  | trans_agent_nil_1 : auto_agent nil
  | trans_agent_i_1 : auto_agent i
  | trans_agent_nonceb_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_2 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_5 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_7 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_8 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_12 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_13 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_14 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_16 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_18 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_20 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_24 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_26 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_29 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_30 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_31 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_32 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_35 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_nonceb_current_36 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_agent (nonceb_current X1 X2 X3)
  | trans_agent_crypt_1 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_agent (crypt X1 X2)
  | trans_agent_crypt_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_agent (crypt X1 X2)
  | trans_agent_crypt_3 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_agent (crypt X1 X2)
  | trans_agent_crypt_4 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_agent (crypt X1 X2)
  | trans_agent_server_1 : auto_agent server
  | trans_agent_noncea_old_1 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_2 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_3 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_4 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_5 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_6 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_7 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_noncea_old_8 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_agent (noncea_old X1 X2)
  | trans_agent_nonceb_old_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_8 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_9 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_12 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_13 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_14 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_16 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_17 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_18 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_19 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_20 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_24 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_25 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_26 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_28 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_29 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_30 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_31 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_32 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_35 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_36 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_37 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_38 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_39 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_40 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_41 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_42 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_43 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_44 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_nonceb_old_45 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto_agent (nonceb_old X1 X2 X3)
  | trans_agent_cons_1 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_agent (cons X1 X2)
  | trans_agent_prv_1 : auto_agent prv
  | trans_agent_pub_1 : auto_agent pub
  | trans_agent_bob_1 : auto_agent bob
  | trans_agent_alice_1 : auto_agent alice
  | trans_agent_session_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_2 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_9 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto_agent (session_current X1 X2 X3)
  | trans_agent_session_current_10 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto_agent (session_current X1 X2 X3)
with auto_bob_key_old : term -> term -> Prop :=
    trans_bob_key_old_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_11 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_12 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_13 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_14 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_15 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_bob_key_old X1 X2
  | trans_bob_key_old_16 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_bob_key_old X1 X2
with auto_bob_key_current : term -> term -> Prop :=
    trans_bob_key_current_1 : forall X1 X2:term, auto__q2 X1 -> auto__q4 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_2 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_3 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_4 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_5 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_6 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_7 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_8 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_9 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_10 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_11 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_12 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_13 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_14 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_15 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto_bob_key_current X1 X2
  | trans_bob_key_current_16 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto_bob_key_current X1 X2
with auto__q1 : term -> Prop :=
    trans__q1_key_1 : forall X1 X2:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_2 : forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_3 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_4 : forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_5 : forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_6 : forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_7 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_8 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_9 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_10 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 (key X1 X2)
  | trans__q1_key_11 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 (key X1 X2)
  | trans__q1_s_1 : forall X1:term, auto__q1 X1 -> auto__q1 (s X1)
  | trans__q1_nil_1 : auto__q1 nil
  | trans__q1_i_1 : auto__q1 i
  | trans__q1_nonceb_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_2 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_3 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_4 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_5 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_7 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_8 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_9 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_12 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_13 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_14 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_16 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_17 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_18 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_19 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_20 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_24 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_25 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_26 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_28 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_29 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_30 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_31 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_32 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_35 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_nonceb_current_36 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q1 (nonceb_current X1 X2 X3)
  | trans__q1_crypt_1 : forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 (crypt X1 X2)
  | trans__q1_crypt_2 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 (crypt X1 X2)
  | trans__q1_crypt_3 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 (crypt X1 X2)
  | trans__q1_crypt_4 : forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 (crypt X1 X2)
  | trans__q1_server_1 : auto__q1 server
  | trans__q1_noncea_old_1 : forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_2 : forall X1 X2:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_3 : forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_4 : forall X1 X2:term, auto__q2 X1 -> auto__q2 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_5 : forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_6 : forall X1 X2:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_7 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_noncea_old_8 : forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 (noncea_old X1 X2)
  | trans__q1_nonceb_old_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_2 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_6 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_8 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_9 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_10 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_11 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_12 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_13 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_14 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_15 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_16 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_17 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_18 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_19 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_20 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_21 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_22 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_23 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_24 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_25 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_26 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_27 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_28 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_29 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_30 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_31 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_32 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_33 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_34 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_35 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_36 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_37 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_38 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_39 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_40 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_41 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_42 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_43 : forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_44 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_nonceb_old_45 : forall X1 X2 X3:term, auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 (nonceb_old X1 X2 X3)
  | trans__q1_cons_1 : forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q1 (cons X1 X2)
  | trans__q1_prv_1 : auto__q1 prv
  | trans__q1_pub_1 : auto__q1 pub
  | trans__q1_bob_1 : auto__q1 bob
  | trans__q1_alice_1 : auto__q1 alice
  | trans__q1_session_current_1 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_2 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_3 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_4 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_5 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_6 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_7 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_8 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_9 : forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> auto__q1 (session_current X1 X2 X3)
  | trans__q1_session_current_10 : forall X1 X2 X3:term, auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> auto__q1 (session_current X1 X2 X3)
with auto___query__intruder_knows_session_key_as_seen_by_alice : Prop :=
with auto___query__intruder_knows_session_key_generated_by_server : Prop :=
.

(* [defp] Proofs that all definitions hold. *)


(* [appp] Proofs that all approximation clauses hold. *)


Inductive or_0 : Prop :=
.

Remark rem_1 : auto__q2 alice -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_2 : forall X1:term, auto__q2 alice -> auto__q4 X1 -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Eliminate negative atom. *)
Proof.
  intros X1. intro H. intros.
  elim (rem_1 H);  intros.
Qed.

Remark rem_3 : auto__q4 alice -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_4 : forall X1:term, auto__q3 X1 -> auto__q4 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Eliminate negative atom. *)
Proof.
  intros X1. intros H1. intro H. intros.
  elim (rem_3 H);  intros.
Qed.

Remark rem_5 : forall X1:term, auto__q4 alice -> auto__q3 X1 -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Prove equivalent, normalized clause. *)
Proof.
   intros X1.
  cut (auto__q3 X1 -> auto__q4 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice). tauto. exact (rem_4 X1).
Qed.

Remark rem_6 : auto__q3 alice -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_7 : forall X1:term, auto__q3 X1 -> auto__q3 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Eliminate negative atom. *)
Proof.
  intros X1. intros H1. intro H. intros.
  elim (rem_6 H);  intros.
Qed.

Remark rem_8 : forall X1:term, auto__q3 alice -> auto__q3 X1 -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Prove equivalent, normalized clause. *)
Proof.
   intros X1.
  cut (auto__q3 X1 -> auto__q3 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice). tauto. exact (rem_7 X1).
Qed.

Remark rem_9 : forall X1:term, auto__q1 X1 -> auto__q3 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Eliminate negative atom. *)
Proof.
  intros X1. intros H1. intro H. intros.
  elim (rem_6 H);  intros.
Qed.

Remark rem_10 : forall X1:term, auto__q3 alice -> auto__q1 X1 -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice. (* Prove equivalent, normalized clause. *)
Proof.
   intros X1.
  cut (auto__q1 X1 -> auto__q3 alice -> auto_knows_current X1 -> auto___query__intruder_knows_session_key_as_seen_by_alice). tauto. exact (rem_9 X1).
Qed.

Remark rem_11 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_12 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_11 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Inductive or_1(H1:Prop) : Prop :=
    or_1_intro_1 : H1 -> (or_1 H1)
.

Remark rem_13 : forall X1 X2:term, auto__q3 (key X1 X2) -> or_1
    (auto__q2 X1 /\ auto__q4 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_1_intro_1; tauto.
Qed.

Remark rem_14 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_12 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_15 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q2 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intros X1.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_16 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_15 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_17 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_16 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Inductive or_2(H1 H2:Prop) : Prop :=
    or_2_intro_1 : H1 -> (or_2 H1 H2)
  | or_2_intro_2 : H2 -> (or_2 H1 H2)
.

Remark rem_18 : forall X1 X2:term, auto__q2 (key X1 X2) -> or_2
    (auto__q3 X1 /\ auto__q1 X2)
    (auto__q4 X1 /\ auto__q1 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_2_intro_1; tauto.
  intros. apply or_2_intro_2; tauto.
Qed.

Remark rem_19 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q2 (key X1 X2) -> auto__q3 (key X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_18 X1 X2 H);  intros.
  apply (rem_14 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_17 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_20 : forall X1:term, auto__q3 (s X1) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_21 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 (s X1) -> auto__q2 X1 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_20 X1 H);  intros.
Defined.

Remark rem_22 : forall X1:term, auto__q2 (s X1) -> or_1
    (auto__q2 X1).
Proof.
  intros. inversion H.
  intros. apply or_1_intro_1; tauto.
Qed.

Remark rem_23 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 (s X1) -> auto__q3 (s X1) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_22 X1 H);  intros.
  apply (rem_21 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1);  tauto.
Defined.

Remark rem_24 : (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_11 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_25 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q2 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X1.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_26 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_27 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_28 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_29 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_30 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_31 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_32 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_33 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_34 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_35 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q2 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X1.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_36 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_37 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_38 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_39 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_40 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_41 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_42 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_43 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_44 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_45 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_46 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_47 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_48 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_49 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Inductive or_11(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11:Prop) : Prop :=
    or_11_intro_1 : H1 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_2 : H2 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_3 : H3 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_4 : H4 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_5 : H5 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_6 : H6 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_7 : H7 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_8 : H8 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_9 : H9 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_10 : H10 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
  | or_11_intro_11 : H11 -> (or_11 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)
.

Remark rem_50 : forall X1 X2:term, auto__q1 (key X1 X2) -> or_11
    (auto__q4 X1 /\ auto__q3 X2)
    (auto__q3 X1 /\ auto__q3 X2)
    (auto__q1 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q3 X2)
    (auto__q4 X1 /\ auto__q4 X2)
    (auto__q2 X1 /\ auto__q3 X2)
    (auto__q1 X1 /\ auto__q1 X2)
    (auto__q4 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q2 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_11_intro_1; tauto.
  intros. apply or_11_intro_2; tauto.
  intros. apply or_11_intro_3; tauto.
  intros. apply or_11_intro_4; tauto.
  intros. apply or_11_intro_5; tauto.
  intros. apply or_11_intro_6; tauto.
  intros. apply or_11_intro_7; tauto.
  intros. apply or_11_intro_8; tauto.
  intros. apply or_11_intro_9; tauto.
  intros. apply or_11_intro_10; tauto.
  intros. apply or_11_intro_11; tauto.
Qed.

Remark rem_51 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (key X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_50 X1 X2 H);  intros.
  apply (rem_36 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_38 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_40 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_41 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_42 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_43 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_44 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_46 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_47 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_48 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_49 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_52 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q1 (key X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_51 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_53 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_54 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_55 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X1.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_56 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_57 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_58 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_59 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_60 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_61 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_62 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_63 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_64 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_65 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_66 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_67 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_68 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_69 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_70 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_71 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_72 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_73 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_74 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_75 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_76 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_77 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_78 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_79 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_80 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_81 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_82 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_83 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_84 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_85 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_86 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_87 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_88 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_89 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_90 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_58 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Inductive or_36(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36:Prop) : Prop :=
    or_36_intro_1 : H1 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_2 : H2 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_3 : H3 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_4 : H4 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_5 : H5 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_6 : H6 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_7 : H7 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_8 : H8 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_9 : H9 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_10 : H10 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_11 : H11 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_12 : H12 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_13 : H13 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_14 : H14 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_15 : H15 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_16 : H16 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_17 : H17 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_18 : H18 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_19 : H19 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_20 : H20 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_21 : H21 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_22 : H22 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_23 : H23 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_24 : H24 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_25 : H25 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_26 : H26 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_27 : H27 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_28 : H28 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_29 : H29 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_30 : H30 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_31 : H31 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_32 : H32 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_33 : H33 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_34 : H34 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_35 : H35 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
  | or_36_intro_36 : H36 -> (or_36 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36)
.

Remark rem_91 : forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> or_36
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_36_intro_1; tauto.
  intros. apply or_36_intro_2; tauto.
  intros. apply or_36_intro_3; tauto.
  intros. apply or_36_intro_4; tauto.
  intros. apply or_36_intro_5; tauto.
  intros. apply or_36_intro_6; tauto.
  intros. apply or_36_intro_7; tauto.
  intros. apply or_36_intro_8; tauto.
  intros. apply or_36_intro_9; tauto.
  intros. apply or_36_intro_10; tauto.
  intros. apply or_36_intro_11; tauto.
  intros. apply or_36_intro_12; tauto.
  intros. apply or_36_intro_13; tauto.
  intros. apply or_36_intro_14; tauto.
  intros. apply or_36_intro_15; tauto.
  intros. apply or_36_intro_16; tauto.
  intros. apply or_36_intro_17; tauto.
  intros. apply or_36_intro_18; tauto.
  intros. apply or_36_intro_19; tauto.
  intros. apply or_36_intro_20; tauto.
  intros. apply or_36_intro_21; tauto.
  intros. apply or_36_intro_22; tauto.
  intros. apply or_36_intro_23; tauto.
  intros. apply or_36_intro_24; tauto.
  intros. apply or_36_intro_25; tauto.
  intros. apply or_36_intro_26; tauto.
  intros. apply or_36_intro_27; tauto.
  intros. apply or_36_intro_28; tauto.
  intros. apply or_36_intro_29; tauto.
  intros. apply or_36_intro_30; tauto.
  intros. apply or_36_intro_31; tauto.
  intros. apply or_36_intro_32; tauto.
  intros. apply or_36_intro_33; tauto.
  intros. apply or_36_intro_34; tauto.
  intros. apply or_36_intro_35; tauto.
  intros. apply or_36_intro_36; tauto.
Qed.

Remark rem_92 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_53 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_54 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_56 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_57 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_59 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_60 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_61 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_62 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_63 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_64 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_65 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_66 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_67 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_68 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_69 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_70 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_71 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_72 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_73 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_74 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_75 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_76 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_77 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_78 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_79 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_80 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_81 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_82 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_83 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_84 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_85 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_86 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_87 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_88 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_89 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_90 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_93 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_94 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_95 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_96 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_97 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_98 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_99 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_100 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_101 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_102 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_103 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q2 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_104 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_105 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_106 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q2 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_107 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_108 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_109 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_110 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_111 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_112 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_113 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_114 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_115 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_116 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_117 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_118 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_119 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_120 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_121 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_122 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_123 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_124 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_125 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_126 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_127 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_128 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_129 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_130 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_131 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_132 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_133 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_134 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_135 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_93 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_94 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_96 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_97 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_99 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_100 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_102 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_104 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_107 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_108 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_109 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_111 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_112 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_113 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_114 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_116 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_117 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_119 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_120 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_122 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_123 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_125 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_126 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_127 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_128 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_129 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_130 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_131 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_132 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_133 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_134 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_136 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_137 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_138 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_139 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_140 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_141 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_142 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_143 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_144 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_145 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_146 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_147 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_148 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_149 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_150 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_151 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_152 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_153 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_154 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_155 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_154 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_156 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_157 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_158 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_159 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_160 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_161 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_162 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_163 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_164 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_165 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_166 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_167 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_168 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_169 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_170 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_171 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_172 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_173 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_137 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_138 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_139 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_140 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_141 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_142 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_143 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_144 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_146 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_147 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_148 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_149 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_150 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_151 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_152 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_153 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_155 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_156 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_157 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_158 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_159 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_160 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_161 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_162 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_163 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_164 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_165 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_166 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_167 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_168 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_169 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_170 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_171 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_172 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_174 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_175 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_176 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_177 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_178 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_179 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_180 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_181 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_182 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_183 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_184 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_183 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_185 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_186 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_187 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_188 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_189 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_190 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_191 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_192 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_193 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_194 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_195 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_196 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_197 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_198 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_45 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_199 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_200 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_201 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_202 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_203 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_204 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_205 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_174 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_175 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_177 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_178 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_179 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_181 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_120 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_182 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_184 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_185 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_186 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_187 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_133 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_188 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_191 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_192 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_193 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_194 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_195 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_196 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_197 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_198 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_199 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_200 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_201 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_109 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_202 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_127 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_128 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_203 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_204 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_206 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_207 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_208 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_209 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_210 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_211 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_212 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_213 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_214 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_215 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_216 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_217 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_218 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_219 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_220 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_221 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_95 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_222 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_223 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_224 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_225 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_226 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_227 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_228 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_229 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_206 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_207 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_208 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_209 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_210 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_97 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_211 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_212 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_126 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_113 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_213 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_214 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_170 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_215 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_216 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_117 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_217 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_218 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_219 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_114 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_220 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_94 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_221 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_142 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_222 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_223 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_224 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_225 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_226 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_227 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_228 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_166 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_168 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_230 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_231 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_232 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_231 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_233 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_234 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q3 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_235 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_236 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_237 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_238 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_239 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_240 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_241 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_242 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_243 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_244 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_245 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_246 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_247 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_248 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_249 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_250 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_251 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_252 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_253 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_254 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_154 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_255 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_256 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_257 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_258 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_259 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_260 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_261 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_262 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_230 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_232 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_233 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_235 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_236 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_237 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_238 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_239 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_240 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_241 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_242 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_243 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_244 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_172 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_245 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_246 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_247 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_138 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_162 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_248 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_249 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_251 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_252 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_254 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_255 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_256 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_257 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_258 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_148 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_259 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_156 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_168 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_260 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Inductive or_6(H1 H2 H3 H4 H5 H6:Prop) : Prop :=
    or_6_intro_1 : H1 -> (or_6 H1 H2 H3 H4 H5 H6)
  | or_6_intro_2 : H2 -> (or_6 H1 H2 H3 H4 H5 H6)
  | or_6_intro_3 : H3 -> (or_6 H1 H2 H3 H4 H5 H6)
  | or_6_intro_4 : H4 -> (or_6 H1 H2 H3 H4 H5 H6)
  | or_6_intro_5 : H5 -> (or_6 H1 H2 H3 H4 H5 H6)
  | or_6_intro_6 : H6 -> (or_6 H1 H2 H3 H4 H5 H6)
.

Remark rem_263 : forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> or_6
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_6_intro_1; tauto.
  intros. apply or_6_intro_2; tauto.
  intros. apply or_6_intro_3; tauto.
  intros. apply or_6_intro_4; tauto.
  intros. apply or_6_intro_5; tauto.
  intros. apply or_6_intro_6; tauto.
Qed.

Remark rem_264 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q1 (nonceb_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_92 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_135 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_173 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_205 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_229 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_262 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_265 : forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_266 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_267 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_268 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_269 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_270 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_271 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_272 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_273 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_274 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_275 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_276 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_277 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_278 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_279 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_280 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_281 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_282 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_283 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_284 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_285 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_286 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_287 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_288 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_289 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_290 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_291 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_292 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_293 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_294 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_295 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_296 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_297 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_298 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_299 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_300 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_301 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_302 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_303 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_304 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_305 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_306 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_307 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_308 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_309 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_310 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_311 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_312 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_313 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_314 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_315 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_316 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_317 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_318 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_319 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_320 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_321 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_322 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_323 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_324 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_325 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_326 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_327 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_328 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_329 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Inductive or_64(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64:Prop) : Prop :=
    or_64_intro_1 : H1 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_2 : H2 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_3 : H3 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_4 : H4 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_5 : H5 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_6 : H6 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_7 : H7 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_8 : H8 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_9 : H9 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_10 : H10 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_11 : H11 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_12 : H12 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_13 : H13 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_14 : H14 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_15 : H15 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_16 : H16 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_17 : H17 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_18 : H18 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_19 : H19 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_20 : H20 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_21 : H21 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_22 : H22 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_23 : H23 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_24 : H24 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_25 : H25 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_26 : H26 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_27 : H27 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_28 : H28 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_29 : H29 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_30 : H30 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_31 : H31 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_32 : H32 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_33 : H33 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_34 : H34 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_35 : H35 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_36 : H36 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_37 : H37 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_38 : H38 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_39 : H39 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_40 : H40 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_41 : H41 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_42 : H42 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_43 : H43 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_44 : H44 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_45 : H45 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_46 : H46 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_47 : H47 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_48 : H48 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_49 : H49 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_50 : H50 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_51 : H51 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_52 : H52 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_53 : H53 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_54 : H54 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_55 : H55 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_56 : H56 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_57 : H57 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_58 : H58 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_59 : H59 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_60 : H60 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_61 : H61 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_62 : H62 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_63 : H63 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
  | or_64_intro_64 : H64 -> (or_64 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H58 H59 H60 H61 H62 H63 H64)
.

Remark rem_330 : forall X1 X2 X3:term, auto__q3 (session_old X1 X2 X3) -> or_64
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_64_intro_1; tauto.
  intros. apply or_64_intro_2; tauto.
  intros. apply or_64_intro_3; tauto.
  intros. apply or_64_intro_4; tauto.
  intros. apply or_64_intro_5; tauto.
  intros. apply or_64_intro_6; tauto.
  intros. apply or_64_intro_7; tauto.
  intros. apply or_64_intro_8; tauto.
  intros. apply or_64_intro_9; tauto.
  intros. apply or_64_intro_10; tauto.
  intros. apply or_64_intro_11; tauto.
  intros. apply or_64_intro_12; tauto.
  intros. apply or_64_intro_13; tauto.
  intros. apply or_64_intro_14; tauto.
  intros. apply or_64_intro_15; tauto.
  intros. apply or_64_intro_16; tauto.
  intros. apply or_64_intro_17; tauto.
  intros. apply or_64_intro_18; tauto.
  intros. apply or_64_intro_19; tauto.
  intros. apply or_64_intro_20; tauto.
  intros. apply or_64_intro_21; tauto.
  intros. apply or_64_intro_22; tauto.
  intros. apply or_64_intro_23; tauto.
  intros. apply or_64_intro_24; tauto.
  intros. apply or_64_intro_25; tauto.
  intros. apply or_64_intro_26; tauto.
  intros. apply or_64_intro_27; tauto.
  intros. apply or_64_intro_28; tauto.
  intros. apply or_64_intro_29; tauto.
  intros. apply or_64_intro_30; tauto.
  intros. apply or_64_intro_31; tauto.
  intros. apply or_64_intro_32; tauto.
  intros. apply or_64_intro_33; tauto.
  intros. apply or_64_intro_34; tauto.
  intros. apply or_64_intro_35; tauto.
  intros. apply or_64_intro_36; tauto.
  intros. apply or_64_intro_37; tauto.
  intros. apply or_64_intro_38; tauto.
  intros. apply or_64_intro_39; tauto.
  intros. apply or_64_intro_40; tauto.
  intros. apply or_64_intro_41; tauto.
  intros. apply or_64_intro_42; tauto.
  intros. apply or_64_intro_43; tauto.
  intros. apply or_64_intro_44; tauto.
  intros. apply or_64_intro_45; tauto.
  intros. apply or_64_intro_46; tauto.
  intros. apply or_64_intro_47; tauto.
  intros. apply or_64_intro_48; tauto.
  intros. apply or_64_intro_49; tauto.
  intros. apply or_64_intro_50; tauto.
  intros. apply or_64_intro_51; tauto.
  intros. apply or_64_intro_52; tauto.
  intros. apply or_64_intro_53; tauto.
  intros. apply or_64_intro_54; tauto.
  intros. apply or_64_intro_55; tauto.
  intros. apply or_64_intro_56; tauto.
  intros. apply or_64_intro_57; tauto.
  intros. apply or_64_intro_58; tauto.
  intros. apply or_64_intro_59; tauto.
  intros. apply or_64_intro_60; tauto.
  intros. apply or_64_intro_61; tauto.
  intros. apply or_64_intro_62; tauto.
  intros. apply or_64_intro_63; tauto.
  intros. apply or_64_intro_64; tauto.
Qed.

Remark rem_331 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_old X1 X2 X3) -> auto__q1 (session_old X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_330 X1 X2 X3 H);  intros.
  apply (rem_266 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_267 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_268 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_269 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_270 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_272 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_273 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_274 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_275 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_276 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_277 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_278 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_279 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_281 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_284 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_285 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_286 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_287 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_289 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_290 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_291 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_292 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_293 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_294 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_295 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_296 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_297 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_298 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_299 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_300 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_301 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_302 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_303 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_304 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_305 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_306 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_307 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_308 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_309 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_310 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_311 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_312 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_313 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_314 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_315 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_316 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_317 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_318 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_320 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_321 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_325 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_327 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_328 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_329 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_332 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_333 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_334 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_335 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Inductive or_4(H1 H2 H3 H4:Prop) : Prop :=
    or_4_intro_1 : H1 -> (or_4 H1 H2 H3 H4)
  | or_4_intro_2 : H2 -> (or_4 H1 H2 H3 H4)
  | or_4_intro_3 : H3 -> (or_4 H1 H2 H3 H4)
  | or_4_intro_4 : H4 -> (or_4 H1 H2 H3 H4)
.

Remark rem_336 : forall X1 X2:term, auto__q1 (crypt X1 X2) -> or_4
    (auto__q1 X1 /\ auto__q4 X2)
    (auto__q2 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q1 X2)
    (auto__q1 X1 /\ auto__q2 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_4_intro_1; tauto.
  intros. apply or_4_intro_2; tauto.
  intros. apply or_4_intro_3; tauto.
  intros. apply or_4_intro_4; tauto.
Qed.

Remark rem_337 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_332 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_333 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_334 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_335 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_338 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_339 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_340 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_341 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_342 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_338 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_339 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_340 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_341 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_343 : forall X1 X2:term, auto__q3 (crypt X1 X2) -> or_2
    (auto__q3 X1 /\ auto__q1 X2)
    (auto__q4 X1 /\ auto__q1 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_2_intro_1; tauto.
  intros. apply or_2_intro_2; tauto.
Qed.

Remark rem_344 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q1 (crypt X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_337 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_342 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_345 : forall X1 X2:term, auto__q1 (cons X1 X2) -> or_1
    (auto__q1 X1 /\ auto__q1 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_1_intro_1; tauto.
Qed.

Remark rem_346 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_47 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_347 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_348 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_347 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_349 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_350 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q1 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_349 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_351 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_332 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_352 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_338 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_353 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_341 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_354 : forall X1 X2:term, auto__q3 (cons X1 X2) -> or_6
    (auto__q2 X1 /\ auto__q4 X2)
    (auto__q4 X1 /\ auto__q3 X2)
    (auto__q1 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q4 X2)
    (auto__q4 X1 /\ auto__q4 X2)
    (auto__q4 X1 /\ auto__q2 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_6_intro_1; tauto.
  intros. apply or_6_intro_2; tauto.
  intros. apply or_6_intro_3; tauto.
  intros. apply or_6_intro_4; tauto.
  intros. apply or_6_intro_5; tauto.
  intros. apply or_6_intro_6; tauto.
Qed.

Remark rem_355 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q1 (cons X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_348 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_350 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_351 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_352 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_353 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_356 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Inductive or_10(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10:Prop) : Prop :=
    or_10_intro_1 : H1 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_2 : H2 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_3 : H3 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_4 : H4 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_5 : H5 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_6 : H6 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_7 : H7 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_8 : H8 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_9 : H9 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
  | or_10_intro_10 : H10 -> (or_10 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)
.

Remark rem_357 : forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> or_10
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q4 X2 /\ auto__q1 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_10_intro_1; tauto.
  intros. apply or_10_intro_2; tauto.
  intros. apply or_10_intro_3; tauto.
  intros. apply or_10_intro_4; tauto.
  intros. apply or_10_intro_5; tauto.
  intros. apply or_10_intro_6; tauto.
  intros. apply or_10_intro_7; tauto.
  intros. apply or_10_intro_8; tauto.
  intros. apply or_10_intro_9; tauto.
  intros. apply or_10_intro_10; tauto.
Qed.

Remark rem_358 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_53 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_56 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_57 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_61 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_356 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_63 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_70 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_71 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_72 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_82 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_359 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_360 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_361 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_362 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_363 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_364 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_365 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_366 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_367 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_359 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_360 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_361 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_362 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_99 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_363 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_364 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_365 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_119 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_366 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_368 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_369 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_370 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_371 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_372 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_373 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_374 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_375 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_376 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_377 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_368 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_369 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_370 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_371 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_100 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_372 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_373 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_374 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_375 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_376 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_378 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_379 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_380 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_381 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_382 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_383 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_384 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_385 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_386 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_387 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_388 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_378 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_379 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_380 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_381 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_382 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_383 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_384 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_385 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_386 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_387 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_389 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_390 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_391 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_392 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_393 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_394 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_395 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_396 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_397 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_398 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_389 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_390 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_391 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_392 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_374 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_394 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_395 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_396 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_399 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_400 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_401 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_402 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_403 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_404 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_405 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_199 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_399 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_185 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_107 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_400 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_402 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_403 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_404 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_406 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_407 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_408 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_183 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_409 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_410 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_411 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_412 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_413 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_406 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_407 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_108 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_409 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_410 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_412 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_414 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_415 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_416 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_417 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_418 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_419 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_420 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_421 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_414 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_416 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_360 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_417 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_418 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_243 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_419 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_420 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_422 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_423 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_174 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_177 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_178 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_181 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_422 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_182 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_199 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_424 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_425 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_426 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_427 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_428 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_429 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_424 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_425 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_198 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_120 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_426 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_427 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_428 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_402 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_430 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_431 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_432 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_433 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_434 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_182 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_430 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_431 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_188 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_432 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_409 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_426 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_433 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_400 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_435 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_436 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_437 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_438 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_439 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_440 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_441 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_442 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_443 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_435 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_436 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_437 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_438 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_439 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_440 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_240 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_441 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_442 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_444 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_445 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_446 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_447 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_448 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_449 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_39 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_450 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_451 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_425 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_444 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_445 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_446 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_125 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_447 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_448 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_449 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_450 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_452 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_453 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_454 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_455 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_456 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_457 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_458 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_459 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_460 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_452 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_453 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_366 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_454 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_127 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_455 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_456 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_457 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_458 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_459 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_461 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_462 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_463 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_464 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_465 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_466 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_467 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_461 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_462 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_368 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_463 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_464 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_376 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_465 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_466 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_63 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_468 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_469 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_470 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_471 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_472 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_473 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_474 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_468 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_469 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_389 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_470 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_471 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_465 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_472 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_473 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_71 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_475 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_476 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_477 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_478 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_479 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_480 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_481 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_475 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_476 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_477 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_478 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_479 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_368 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_480 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_389 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_100 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_57 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_482 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_483 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_484 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_485 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_486 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_487 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_57 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_482 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_480 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_483 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_484 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_376 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_485 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_486 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_70 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_488 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_489 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_224 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_209 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_99 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_132 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_213 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_488 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_166 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_129 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_223 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_490 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_491 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_492 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_493 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_494 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_495 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_496 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_497 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_498 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_490 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_491 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_492 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_484 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_493 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_73 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_494 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_495 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_496 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_497 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_499 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_500 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_501 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_502 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_503 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_504 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_37 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_505 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_55 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_506 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_499 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_386 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_500 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_501 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_502 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_503 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_504 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_505 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_495 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_507 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_508 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_509 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_510 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_511 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_258 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_507 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_236 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_508 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_134 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_243 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_509 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_260 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_510 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_257 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_512 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_513 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_514 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_515 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_516 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_517 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_518 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_519 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_98 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_520 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_35 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_521 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_365 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_512 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_513 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_514 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_515 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_516 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_517 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_518 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_519 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_520 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Inductive or_23(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23:Prop) : Prop :=
    or_23_intro_1 : H1 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_2 : H2 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_3 : H3 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_4 : H4 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_5 : H5 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_6 : H6 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_7 : H7 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_8 : H8 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_9 : H9 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_10 : H10 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_11 : H11 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_12 : H12 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_13 : H13 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_14 : H14 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_15 : H15 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_16 : H16 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_17 : H17 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_18 : H18 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_19 : H19 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_20 : H20 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_21 : H21 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_22 : H22 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
  | or_23_intro_23 : H23 -> (or_23 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23)
.

Remark rem_522 : forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> or_23
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_23_intro_1; tauto.
  intros. apply or_23_intro_2; tauto.
  intros. apply or_23_intro_3; tauto.
  intros. apply or_23_intro_4; tauto.
  intros. apply or_23_intro_5; tauto.
  intros. apply or_23_intro_6; tauto.
  intros. apply or_23_intro_7; tauto.
  intros. apply or_23_intro_8; tauto.
  intros. apply or_23_intro_9; tauto.
  intros. apply or_23_intro_10; tauto.
  intros. apply or_23_intro_11; tauto.
  intros. apply or_23_intro_12; tauto.
  intros. apply or_23_intro_13; tauto.
  intros. apply or_23_intro_14; tauto.
  intros. apply or_23_intro_15; tauto.
  intros. apply or_23_intro_16; tauto.
  intros. apply or_23_intro_17; tauto.
  intros. apply or_23_intro_18; tauto.
  intros. apply or_23_intro_19; tauto.
  intros. apply or_23_intro_20; tauto.
  intros. apply or_23_intro_21; tauto.
  intros. apply or_23_intro_22; tauto.
  intros. apply or_23_intro_23; tauto.
Qed.

Remark rem_523 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 (session_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_358 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_367 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_377 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_388 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_398 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_405 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_413 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_421 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_423 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_429 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_434 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_443 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_451 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_467 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_474 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_481 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_487 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_489 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_498 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_506 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_511 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_521 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_524 : auto__q3 nil -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_525 : auto__q3 i -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_526 : auto__q3 server -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_527 : forall X1 X2:term, auto__q3 (noncea_old X1 X2) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_528 : forall X1 X2 X3:term, auto__q3 (nonceb_old X1 X2 X3) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_529 : auto__q3 prv -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_530 : auto__q3 pub -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_531 : auto__q3 bob -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_532 : auto__q3 sym -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_533 : forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_534 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q3 X2 -> auto__q1 X2 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_355 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_52 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_264 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_523 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_535 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_536 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_537 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_538 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_539 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (key X1 X2) -> auto__q2 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_50 X1 X2 H);  intros.
  apply (rem_26 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_28 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_30 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_31 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_32 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_33 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_34 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_535 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_536 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_537 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_538 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_540 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_541 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_542 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_543 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_544 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_545 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_546 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_547 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_548 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_549 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_550 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_551 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (key X1 X2) -> auto__q2 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_50 X1 X2 H);  intros.
  apply (rem_540 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_541 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_542 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_543 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_544 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_545 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_546 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_548 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_538 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_549 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_550 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_552 : forall X1 X2:term, auto__q4 (key X1 X2) -> or_2
    (auto__q2 X1 /\ auto__q1 X2)
    (auto__q2 X1 /\ auto__q2 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_2_intro_1; tauto.
  intros. apply or_2_intro_2; tauto.
Qed.

Remark rem_553 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (key X1 X2) -> auto__q1 (key X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_552 X1 X2 H);  intros.
  apply (rem_539 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_551 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_554 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_555 : forall X1:term, auto__q1 (s X1) -> or_1
    (auto__q1 X1).
Proof.
  intros. inversion H.
  intros. apply or_1_intro_1; tauto.
Qed.

Remark rem_556 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q1 (s X1) -> auto__q4 X1 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_555 X1 H);  intros.
  apply (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1);  tauto.
Defined.

Remark rem_557 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 X1 -> auto__q1 X1 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_355 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_52 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_264 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_523 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_558 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q1 (s X1) -> auto__q3 X1 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_555 X1 H);  intros.
  apply (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1);  tauto.
Defined.

Remark rem_559 : forall X1:term, auto__q4 (s X1) -> or_2
    (auto__q4 X1)    (auto__q3 X1).
Proof.
  intros. inversion H.
  intros. apply or_2_intro_1; tauto.
  intros. apply or_2_intro_2; tauto.
Qed.

Remark rem_560 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 (s X1) -> auto__q1 (s X1) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_559 X1 H);  intros.
  apply (rem_556 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1);  tauto.
  apply (rem_558 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1);  tauto.
Defined.

Remark rem_561 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_562 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_563 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_564 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_565 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_566 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_567 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_568 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_569 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_570 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_571 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_572 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_573 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_574 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_575 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_576 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_577 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_578 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_579 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_580 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_581 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_582 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_583 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_584 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_585 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_586 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_587 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_588 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_589 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_590 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_591 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_592 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_593 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_594 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_595 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_596 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_597 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_598 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_562 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_563 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_566 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_567 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_569 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_570 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_571 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_572 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_573 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_574 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_575 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_576 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_577 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_579 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_580 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_581 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_582 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_583 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_584 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_585 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_586 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_587 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_588 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_589 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_590 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_591 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_593 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_594 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_595 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_596 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_597 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_599 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_600 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_601 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_602 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_603 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_604 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_605 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_606 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_607 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_608 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_609 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_610 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_611 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_612 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_613 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_614 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_615 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_616 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_617 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_618 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_619 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_620 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_621 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_622 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_623 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_624 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_625 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_626 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_627 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_628 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_629 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_630 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_631 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_632 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_633 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_634 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_599 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_600 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_601 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_602 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_604 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_605 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_606 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_607 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_608 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_609 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_610 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_611 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_612 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_613 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_614 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_616 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_591 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_618 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_619 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_620 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_621 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_622 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_624 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_625 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_626 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_627 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_628 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_629 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_630 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_631 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_632 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_633 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_635 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_636 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_637 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_638 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_639 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_640 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_641 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_642 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_643 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_644 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_643 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_645 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_646 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q2 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_647 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_648 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_649 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_650 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_651 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_652 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_653 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_654 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_655 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q3 X3 -> auto__q1 X3 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_355 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_52 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_264 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_523 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_656 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_657 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_658 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_659 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_660 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_661 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_662 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_663 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_664 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_665 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_666 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_667 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_668 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_669 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_670 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_671 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_672 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_673 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_674 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_675 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_635 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_636 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_638 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_639 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_640 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_641 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_642 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_644 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_645 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_647 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_648 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_649 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_650 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_651 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_652 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_653 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_654 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_656 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_657 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_658 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_659 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_660 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_661 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_662 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_663 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_664 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_665 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_666 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_667 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_668 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_669 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_670 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_671 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_672 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_673 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_674 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_676 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_677 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_678 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_679 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_680 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_681 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_682 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_683 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_684 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_685 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_686 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_687 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_688 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_689 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_690 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_691 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_692 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_693 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_694 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_695 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_696 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_697 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_698 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_699 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_676 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_677 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_678 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_679 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_680 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_681 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_682 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_683 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_622 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_611 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_684 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_685 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_686 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_687 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_689 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_593 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_690 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_691 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_600 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_692 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_585 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_693 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_694 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_591 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_629 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_695 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_696 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_595 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_697 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_633 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_698 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_700 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_701 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_702 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_703 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_704 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_705 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_706 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_707 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_708 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_709 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_710 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_711 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_712 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_713 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_714 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_715 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_716 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_717 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_718 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_719 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_720 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_721 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_722 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_723 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_700 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_701 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_702 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_703 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_704 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_705 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_706 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_707 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_708 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_628 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_695 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_709 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_710 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_711 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_712 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_713 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_714 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_595 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_715 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_606 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_616 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_716 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_717 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_689 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_718 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_719 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_630 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_631 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_720 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_697 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_721 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_722 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_612 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_685 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_724 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_725 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_726 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_727 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_728 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_729 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_730 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_731 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_732 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_733 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_734 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_735 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_736 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_737 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_738 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_739 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_740 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_741 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_742 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_743 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_744 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_745 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_746 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_747 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_748 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_749 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_687 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_724 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_725 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_726 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_727 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_728 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_694 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_729 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_730 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_583 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_588 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_731 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_732 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_733 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_734 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_735 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_736 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_737 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_738 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_597 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_739 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_740 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_742 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_745 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_596 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_633 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_698 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_575 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_685 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_747 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_748 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_750 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_751 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_752 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_753 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_754 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_753 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_755 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_756 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_757 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_758 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_759 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_760 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_761 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_762 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_763 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_764 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_765 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_766 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_767 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_768 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_769 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_770 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_771 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_772 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_773 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_774 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_775 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_776 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_777 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_778 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_779 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_780 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_781 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_735 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_734 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_751 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_752 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_754 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_755 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_756 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_757 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_759 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_760 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_739 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_761 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_762 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_763 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_764 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_765 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_767 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_768 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_769 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_770 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_694 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_588 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_771 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_772 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_774 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_775 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_776 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_727 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_777 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_779 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_780 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_782 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_783 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_784 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_785 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_786 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_787 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_786 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_788 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_789 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_790 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_791 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_792 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_793 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_794 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_795 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_796 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_797 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_798 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_799 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_800 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_801 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_802 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_803 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_804 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_805 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_806 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_807 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_808 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_809 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_810 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_811 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_812 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_813 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_814 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_815 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_816 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_817 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_818 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_783 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_784 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_785 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_787 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_788 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_789 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_792 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_794 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_795 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_796 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_797 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_798 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_659 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_800 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_802 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_803 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_804 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_806 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_807 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_808 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_809 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_810 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_811 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_812 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_813 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_814 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_815 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_816 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_817 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_819 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_820 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_821 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_786 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_822 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_823 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_824 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_825 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_826 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_827 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_828 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_829 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_830 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_831 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_832 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_833 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_834 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_835 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_836 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_837 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_838 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_839 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_840 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_841 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_842 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_843 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_844 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_845 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_846 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_847 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_848 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_849 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_850 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_851 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_852 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_853 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_854 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_855 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_856 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_857 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_820 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_822 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_823 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_824 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_826 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_827 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_828 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_829 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_830 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_831 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_832 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_833 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_834 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_837 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_838 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_839 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_840 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_841 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_842 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_843 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_844 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_846 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_847 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_848 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_850 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_851 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_852 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_853 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_854 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_855 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_856 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_858 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_859 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_860 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_861 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_862 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_863 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_864 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_865 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_866 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_867 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_868 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_869 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_870 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_871 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_587 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_858 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_690 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_859 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_686 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_737 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_860 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_584 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_576 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_861 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_862 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_863 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_864 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_730 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_866 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_574 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_867 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_678 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_563 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_869 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_734 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_570 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_573 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_611 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_870 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_684 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_695 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_731 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_732 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_872 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_873 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_874 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_875 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_876 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_877 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_878 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_879 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_880 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_881 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_882 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_883 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_884 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_885 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_886 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_887 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_888 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_889 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_890 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_891 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_892 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_580 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_872 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_715 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_873 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_710 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_874 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_875 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_876 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_641 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_877 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_870 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_878 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_879 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_880 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_881 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_882 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_883 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_884 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_885 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_886 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_579 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_866 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_765 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_887 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_888 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_628 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_889 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_695 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_890 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_720 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_891 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_893 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_894 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_895 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_896 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_897 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_898 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_899 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_900 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_901 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_902 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_903 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_904 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_905 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_906 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_775 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_893 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_624 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_894 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_895 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_896 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_897 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_731 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_898 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_770 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_899 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_885 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_881 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_596 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_760 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_900 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_901 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_691 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_583 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_730 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_769 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_902 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_903 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_632 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_891 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_633 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_904 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_612 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_905 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_747 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_907 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_908 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_909 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_910 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_911 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_912 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_913 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_914 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_915 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_916 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_917 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_918 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_601 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_686 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_907 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_908 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_909 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_910 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_718 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_911 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_609 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_912 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_618 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_690 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_913 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_914 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_710 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_872 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_566 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_915 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_624 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_613 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_682 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_755 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_614 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_916 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_602 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_715 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_680 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_917 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_703 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_775 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_727 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_919 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_920 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_921 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_922 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_923 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_924 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_925 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_926 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_927 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_928 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_929 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_930 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_931 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_932 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_933 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_934 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_614 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_577 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_576 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_914 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_919 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_920 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_912 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_921 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_922 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_923 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_924 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_925 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_582 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_777 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_926 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_927 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_641 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_880 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_928 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_788 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_929 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_572 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_864 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_759 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_930 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_931 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_916 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_932 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_566 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_933 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_917 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_774 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_767 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_935 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_936 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_937 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_938 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_939 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_940 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_941 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_942 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_943 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_944 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_945 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_946 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_947 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_948 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_949 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_950 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_951 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_952 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_953 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_954 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_955 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_956 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_957 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_958 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_959 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_960 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_935 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_936 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_664 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_937 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_938 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_880 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_639 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_939 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_940 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_666 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_653 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_942 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_943 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_944 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_945 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_946 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_657 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_947 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_948 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_800 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_654 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_645 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_949 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_636 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_950 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_951 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_952 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_953 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_954 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_955 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_853 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_956 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_957 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_958 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_959 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_961 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_962 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_963 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_964 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_965 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_966 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_967 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_968 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_969 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_970 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_971 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_972 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_973 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_974 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_975 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_976 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_719 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_961 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_579 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_711 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_917 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_962 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_708 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_963 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_887 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_964 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_965 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_888 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_966 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_641 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_967 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_968 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_969 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_970 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_594 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_932 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_971 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_876 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_717 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_972 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_580 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_921 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_973 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_974 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_630 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_890 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_595 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_975 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_721 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_904 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_575 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_977 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_978 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_979 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_980 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_981 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_982 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_983 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_984 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_27 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_985 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_712 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_977 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_737 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_979 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_718 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_980 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_881 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_971 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_921 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_891 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_981 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_765 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_982 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_983 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_874 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_984 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_575 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_776 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_894 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_885 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_683 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_569 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_738 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_756 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_968 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_904 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_612 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_878 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_685 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_966 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_709 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_898 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_733 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_986 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_987 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_988 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_989 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_990 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q2 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_991 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_992 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_993 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_994 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_995 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_996 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_997 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_998 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_999 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1000 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1001 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1002 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1003 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_753 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1004 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1005 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1006 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1007 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1008 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1009 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1010 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1011 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1012 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1013 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1014 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1015 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1016 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_986 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_987 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_988 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_989 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_991 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_768 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_992 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_993 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_803 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_808 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_995 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_996 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_997 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_998 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_999 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1000 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1001 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1002 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_817 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1003 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1004 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1005 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1006 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1007 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1008 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1009 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_816 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1010 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1011 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1012 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_796 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1013 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1014 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1015 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Inductive or_18(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18:Prop) : Prop :=
    or_18_intro_1 : H1 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_2 : H2 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_3 : H3 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_4 : H4 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_5 : H5 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_6 : H6 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_7 : H7 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_8 : H8 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_9 : H9 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_10 : H10 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_11 : H11 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_12 : H12 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_13 : H13 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_14 : H14 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_15 : H15 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_16 : H16 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_17 : H17 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
  | or_18_intro_18 : H18 -> (or_18 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18)
.

Remark rem_1017 : forall X1 X2 X3:term, auto__q4 (nonceb_current X1 X2 X3) -> or_18
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_18_intro_1; tauto.
  intros. apply or_18_intro_2; tauto.
  intros. apply or_18_intro_3; tauto.
  intros. apply or_18_intro_4; tauto.
  intros. apply or_18_intro_5; tauto.
  intros. apply or_18_intro_6; tauto.
  intros. apply or_18_intro_7; tauto.
  intros. apply or_18_intro_8; tauto.
  intros. apply or_18_intro_9; tauto.
  intros. apply or_18_intro_10; tauto.
  intros. apply or_18_intro_11; tauto.
  intros. apply or_18_intro_12; tauto.
  intros. apply or_18_intro_13; tauto.
  intros. apply or_18_intro_14; tauto.
  intros. apply or_18_intro_15; tauto.
  intros. apply or_18_intro_16; tauto.
  intros. apply or_18_intro_17; tauto.
  intros. apply or_18_intro_18; tauto.
Qed.

Remark rem_1018 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 (nonceb_current X1 X2 X3) -> auto__q1 (nonceb_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_1017 X1 X2 X3 H);  intros.
  apply (rem_598 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_634 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_675 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_699 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_723 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_749 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_781 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_818 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_857 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_871 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_892 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_906 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_918 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_934 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_976 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_985 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1016 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1019 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1020 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1021 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1019 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1020 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_30 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_542 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1022 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1023 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1024 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1025 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1022 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_541 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1023 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1024 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1026 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1027 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1028 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1029 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1026 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_543 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1027 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1028 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1030 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1031 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1032 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1028 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_544 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1030 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1031 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1033 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1034 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1035 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1036 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1033 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_545 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1034 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1035 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1037 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1038 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1037 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_548 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_33 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_545 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1039 : forall X1 X2:term, auto__q4 (crypt X1 X2) -> or_6
    (auto__q2 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q3 X2)
    (auto__q3 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q3 X2)
    (auto__q2 X1 /\ auto__q3 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_6_intro_1; tauto.
  intros. apply or_6_intro_2; tauto.
  intros. apply or_6_intro_3; tauto.
  intros. apply or_6_intro_4; tauto.
  intros. apply or_6_intro_5; tauto.
  intros. apply or_6_intro_6; tauto.
Qed.

Remark rem_1040 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (crypt X1 X2) -> auto__q1 (crypt X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1039 X1 X2 H);  intros.
  apply (rem_1021 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1025 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1029 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1032 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1036 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1038 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1041 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1023 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1042 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1043 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1042 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1044 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1030 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1045 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1034 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1046 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1047 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1046 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1048 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_33 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1049 : forall X1 X2:term, auto__q4 (cons X1 X2) -> or_6
    (auto__q3 X1 /\ auto__q3 X2)
    (auto__q3 X1 /\ auto__q1 X2)
    (auto__q3 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q3 X2)
    (auto__q4 X1 /\ auto__q1 X2)
    (auto__q2 X1 /\ auto__q3 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_6_intro_1; tauto.
  intros. apply or_6_intro_2; tauto.
  intros. apply or_6_intro_3; tauto.
  intros. apply or_6_intro_4; tauto.
  intros. apply or_6_intro_5; tauto.
  intros. apply or_6_intro_6; tauto.
Qed.

Remark rem_1050 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (cons X1 X2) -> auto__q1 (cons X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1049 X1 X2 H);  intros.
  apply (rem_1041 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1043 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1044 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1045 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1047 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1048 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1051 : forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1052 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1053 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1054 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1055 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1056 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q1 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1057 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1058 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1059 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1060 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1061 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1062 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1063 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Remark rem_1064 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1051 X1 X2 H);  intros.
Defined.

Inductive or_13(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13:Prop) : Prop :=
    or_13_intro_1 : H1 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_2 : H2 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_3 : H3 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_4 : H4 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_5 : H5 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_6 : H6 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_7 : H7 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_8 : H8 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_9 : H9 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_10 : H10 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_11 : H11 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_12 : H12 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
  | or_13_intro_13 : H13 -> (or_13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13)
.

Remark rem_1065 : forall X1 X2:term, auto__q4 (noncea_current X1 X2) -> or_13
    (auto__q2 X1 /\ auto__q4 X2)
    (auto__q4 X1 /\ auto__q3 X2)
    (auto__q3 X1 /\ auto__q3 X2)
    (auto__q3 X1 /\ auto__q1 X2)
    (auto__q1 X1 /\ auto__q4 X2)
    (auto__q3 X1 /\ auto__q4 X2)
    (auto__q2 X1 /\ auto__q1 X2)
    (auto__q3 X1 /\ auto__q2 X2)
    (auto__q1 X1 /\ auto__q3 X2)
    (auto__q4 X1 /\ auto__q4 X2)
    (auto__q4 X1 /\ auto__q1 X2)
    (auto__q2 X1 /\ auto__q3 X2)
    (auto__q4 X1 /\ auto__q2 X2)
.
Proof.
  intros. inversion H.
  intros. apply or_13_intro_1; tauto.
  intros. apply or_13_intro_2; tauto.
  intros. apply or_13_intro_3; tauto.
  intros. apply or_13_intro_4; tauto.
  intros. apply or_13_intro_5; tauto.
  intros. apply or_13_intro_6; tauto.
  intros. apply or_13_intro_7; tauto.
  intros. apply or_13_intro_8; tauto.
  intros. apply or_13_intro_9; tauto.
  intros. apply or_13_intro_10; tauto.
  intros. apply or_13_intro_11; tauto.
  intros. apply or_13_intro_12; tauto.
  intros. apply or_13_intro_13; tauto.
Qed.

Remark rem_1066 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (noncea_current X1 X2) -> auto__q1 (noncea_current X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1065 X1 X2 H);  intros.
  apply (rem_1052 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1053 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1054 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1055 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1056 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1057 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1058 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1059 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1060 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1061 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1062 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1063 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1064 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1067 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_563 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_717 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_570 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_577 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_579 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_589 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1068 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1069 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_599 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_600 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_601 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_605 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1068 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_607 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_614 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_616 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_625 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1070 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1071 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1072 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1073 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1074 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1075 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_848 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1070 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_830 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_949 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1071 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1072 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1073 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_664 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1074 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1076 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_786 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1077 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_635 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_638 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_639 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_642 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1076 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_645 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_653 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_654 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_656 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_666 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1078 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_676 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_678 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_679 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_682 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_716 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_687 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1079 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1080 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1081 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1082 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1083 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1084 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1085 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1086 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_753 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1087 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1079 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1081 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1082 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1083 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1084 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_951 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1085 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1086 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_654 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1088 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1089 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_700 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_702 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_705 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1088 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_711 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_712 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_713 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_719 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1090 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1091 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1092 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1093 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1094 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1095 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1096 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1097 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1098 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1090 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1091 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1092 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1081 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1093 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1094 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1095 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1096 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1097 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_946 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1099 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1100 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1101 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1102 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1103 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1104 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1105 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1106 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1107 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1108 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1099 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1100 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1102 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1104 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1107 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1109 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_784 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_785 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_789 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_640 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_798 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_659 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_809 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1110 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1111 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1112 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1113 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1114 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1115 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1116 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1117 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1118 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1119 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1111 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1112 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1113 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1114 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1116 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1117 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_958 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1120 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1121 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1122 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1123 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1124 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1125 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1126 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1127 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1128 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1129 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1130 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1120 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1122 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1123 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1125 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1126 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1127 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1128 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1129 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1131 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1132 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1133 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1134 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1135 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1136 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1137 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1131 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_837 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1132 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1133 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1134 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1135 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_937 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1090 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_935 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1138 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1139 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1140 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1141 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1142 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1143 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1144 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1135 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1138 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1139 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1140 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1141 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1142 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1094 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1143 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_940 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1145 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1146 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1147 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1148 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1149 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1150 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1146 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_670 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1147 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_783 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1148 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_650 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1149 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1151 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1152 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1153 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1154 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1155 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1156 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1157 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1158 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1151 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1152 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1153 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1154 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1155 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1156 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1157 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1159 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1160 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1161 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1162 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1163 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1164 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1159 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1160 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_826 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1161 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1162 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_842 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_830 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_841 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1163 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_829 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1165 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1166 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1167 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1168 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1169 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1170 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1171 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_829 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1165 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_830 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1166 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_662 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1167 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1168 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1169 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_638 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1170 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1172 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1173 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1174 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1175 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1176 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1177 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1178 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1179 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1180 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1172 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1173 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1174 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1122 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1140 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1175 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1177 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1178 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1179 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1181 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1182 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_820 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_822 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_823 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_826 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1181 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_828 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_837 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_848 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1183 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_858 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_686 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_860 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_864 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_730 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_570 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1184 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1185 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1186 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1187 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1188 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_643 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1189 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1190 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1191 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1192 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1184 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1185 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1186 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1187 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1081 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1177 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1188 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1191 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1193 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_872 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_710 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_713 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_875 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_880 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_881 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_882 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_887 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1194 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_753 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1195 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1196 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1197 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1198 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1199 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1200 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_841 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1194 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_847 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1195 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1196 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1197 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1198 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1199 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1169 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1201 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1202 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1203 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1204 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1205 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1206 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1207 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1208 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1201 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1202 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1203 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1204 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1205 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1099 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1206 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1207 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1209 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1210 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1211 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1212 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1213 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1214 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1215 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1209 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1210 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1211 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1154 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1212 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1213 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_800 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1214 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1216 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1217 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1218 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1219 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1220 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1221 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1216 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1217 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_847 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_827 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1218 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1219 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1220 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1091 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1073 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1222 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1223 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1224 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1225 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1226 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_850 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1222 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_824 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1223 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1224 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_831 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1146 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_855 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1225 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1227 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1228 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_954 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_650 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_938 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_640 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_672 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1227 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_958 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_669 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_953 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1229 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_29 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1230 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_935 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_664 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_937 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_639 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1229 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_940 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_945 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_946 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_657 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_952 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1231 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1232 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1233 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1234 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1235 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1236 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_25 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1237 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1206 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1231 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_986 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1232 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1233 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1235 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1236 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Inductive or_31(H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31:Prop) : Prop :=
    or_31_intro_1 : H1 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_2 : H2 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_3 : H3 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_4 : H4 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_5 : H5 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_6 : H6 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_7 : H7 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_8 : H8 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_9 : H9 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_10 : H10 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_11 : H11 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_12 : H12 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_13 : H13 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_14 : H14 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_15 : H15 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_16 : H16 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_17 : H17 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_18 : H18 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_19 : H19 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_20 : H20 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_21 : H21 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_22 : H22 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_23 : H23 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_24 : H24 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_25 : H25 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_26 : H26 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_27 : H27 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_28 : H28 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_29 : H29 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_30 : H30 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
  | or_31_intro_31 : H31 -> (or_31 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H26 H27 H28 H29 H30 H31)
.

Remark rem_1238 : forall X1 X2 X3:term, auto__q4 (session_current X1 X2 X3) -> or_31
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q2 X3)
    (auto__q1 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q4 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q3 X1 /\ auto__q1 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q3 X2 /\ auto__q2 X3)
    (auto__q3 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q1 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q3 X3)
    (auto__q2 X1 /\ auto__q1 X2 /\ auto__q2 X3)
    (auto__q4 X1 /\ auto__q1 X2 /\ auto__q4 X3)
    (auto__q4 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q2 X1 /\ auto__q2 X2 /\ auto__q1 X3)
    (auto__q4 X1 /\ auto__q4 X2 /\ auto__q2 X3)
.
Proof.
  intros. inversion H.
  intros. apply or_31_intro_1; tauto.
  intros. apply or_31_intro_2; tauto.
  intros. apply or_31_intro_3; tauto.
  intros. apply or_31_intro_4; tauto.
  intros. apply or_31_intro_5; tauto.
  intros. apply or_31_intro_6; tauto.
  intros. apply or_31_intro_7; tauto.
  intros. apply or_31_intro_8; tauto.
  intros. apply or_31_intro_9; tauto.
  intros. apply or_31_intro_10; tauto.
  intros. apply or_31_intro_11; tauto.
  intros. apply or_31_intro_12; tauto.
  intros. apply or_31_intro_13; tauto.
  intros. apply or_31_intro_14; tauto.
  intros. apply or_31_intro_15; tauto.
  intros. apply or_31_intro_16; tauto.
  intros. apply or_31_intro_17; tauto.
  intros. apply or_31_intro_18; tauto.
  intros. apply or_31_intro_19; tauto.
  intros. apply or_31_intro_20; tauto.
  intros. apply or_31_intro_21; tauto.
  intros. apply or_31_intro_22; tauto.
  intros. apply or_31_intro_23; tauto.
  intros. apply or_31_intro_24; tauto.
  intros. apply or_31_intro_25; tauto.
  intros. apply or_31_intro_26; tauto.
  intros. apply or_31_intro_27; tauto.
  intros. apply or_31_intro_28; tauto.
  intros. apply or_31_intro_29; tauto.
  intros. apply or_31_intro_30; tauto.
  intros. apply or_31_intro_31; tauto.
Qed.

Remark rem_1239 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 (session_current X1 X2 X3) -> auto__q1 (session_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_1238 X1 X2 X3 H);  intros.
  apply (rem_1067 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1069 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1075 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1077 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1078 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1087 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1089 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1098 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1108 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1109 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1119 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1130 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1137 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1144 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1150 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1158 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1164 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1171 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1182 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1183 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1192 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1193 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1200 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1208 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1215 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1221 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1226 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1228 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1230 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1237 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1240 : auto__q4 nil -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1241 : auto__q4 i -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1242 : forall X1 X2 X3:term, auto__q4 (session_old X1 X2 X3) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1243 : auto__q4 server -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1244 : forall X1 X2:term, auto__q4 (noncea_old X1 X2) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1245 : forall X1 X2 X3:term, auto__q4 (nonceb_old X1 X2 X3) -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1246 : auto__q4 prv -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1247 : auto__q4 pub -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1248 : auto__q4 bob -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1249 : auto__q4 sym -> or_0.
Proof.
  intros. inversion H.
Qed.

Remark rem_1250 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q1 X2 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q4_m_q1 1.
  intro X. case X.
   intro H. elim (rem_3  H).
   intro H. elim (rem_1248  H).
  intros X1 X2;  exact (rem_1050 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1040 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1241  H).
  intros X1 X2;  exact (rem_553 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1240  H).
  intros X1 X2;  exact (rem_1066 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2. intro H. elim (rem_1244 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1245 X1 X2 X3 H).
   intro H. elim (rem_1246  H).
   intro H. elim (rem_1247  H).
  intros X1;  exact (rem_560 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
   intro H. elim (rem_1243  H).
  intros X1 X2 X3;  exact (rem_1239 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1242 X1 X2 X3 H).
   intro H. elim (rem_1249  H).
Defined.

Remark rem_1251 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1252 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q2 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_1251 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1253 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q2 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1254 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1255 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q2 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_1254 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1256 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (key X1 X2) -> auto__q3 (key X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_552 X1 X2 H);  intros.
  apply (rem_1252 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1255 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1257 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 (s X1) -> auto__q4 X1 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_20 X1 H);  intros.
Defined.

Remark rem_1258 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 (s X1) -> auto__q3 X1 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_20 X1 H);  intros.
Defined.

Remark rem_1259 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 (s X1) -> auto__q3 (s X1) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1. intro H. intros.
  elim (rem_559 X1 H);  intros.
  apply (rem_1257 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1);  tauto.
  apply (rem_1258 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1);  tauto.
Defined.

Remark rem_1260 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1261 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q2 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X1.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1262 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1263 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1264 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1265 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1266 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1267 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1268 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1269 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1270 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1271 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1272 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1273 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1274 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1275 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1276 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (key X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_50 X1 X2 H);  intros.
  apply (rem_1262 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1264 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1266 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1267 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1268 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1269 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1270 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1272 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1273 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1274 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1275 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1277 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (key X1 X2) -> auto__q1 (key X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_13 X1 X2 H);  intros.
  apply (rem_1276 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1278 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1279 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1280 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X1.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1281 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1282 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1283 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1284 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1285 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1286 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1287 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1288 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1289 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1290 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1291 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1292 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1293 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1294 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1295 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1296 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1297 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1298 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1299 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1300 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1301 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1302 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1303 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1304 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1305 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1306 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1307 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1308 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1309 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1310 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1311 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1312 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1313 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1314 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1315 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1316 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1278 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1279 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1281 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1284 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1285 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1286 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1287 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1289 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1290 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1291 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1292 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1293 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1294 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1295 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1296 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1297 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1298 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1299 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1300 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1301 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1302 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1303 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1304 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1305 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1306 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1307 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1308 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1309 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1310 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1311 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1312 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1313 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1314 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1315 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1317 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1318 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1319 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1320 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1321 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1322 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q1 X1 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q4_m_q1 1.
  intro X. case X.
   intro H. elim (rem_3  H).
   intro H. elim (rem_1248  H).
  intros X1 X2;  exact (rem_1050 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1040 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1241  H).
  intros X1 X2;  exact (rem_553 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1240  H).
  intros X1 X2;  exact (rem_1066 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2. intro H. elim (rem_1244 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1245 X1 X2 X3 H).
   intro H. elim (rem_1246  H).
   intro H. elim (rem_1247  H).
  intros X1;  exact (rem_560 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
   intro H. elim (rem_1243  H).
  intros X1 X2 X3;  exact (rem_1239 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1242 X1 X2 X3 H).
   intro H. elim (rem_1249  H).
Defined.

Remark rem_1323 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q1 X1 -> False. (* Cut history. *)
Proof.  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2).
Defined.

Remark rem_1324 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1325 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1326 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1327 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1328 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q2 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1329 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1328 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1330 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1331 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q2 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1332 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1333 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1334 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1335 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1336 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1337 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1338 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1339 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1340 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1341 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1340 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1342 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1343 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1344 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1345 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1346 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1347 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1348 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1349 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1350 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1351 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1352 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1353 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1354 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1355 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1356 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1357 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1358 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1359 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1360 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1317 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1318 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1320 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1321 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1325 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1327 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1329 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1330 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1332 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1333 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1334 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1335 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1336 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1337 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1338 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1339 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1341 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1342 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1343 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1345 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1347 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1348 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1349 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1350 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1351 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1352 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1353 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1354 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1355 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1356 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1357 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1358 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1359 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1361 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1362 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1363 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1364 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1365 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1366 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1367 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1368 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1369 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1370 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1371 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1372 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1373 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1374 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1375 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1376 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1377 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1378 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1379 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1380 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1379 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1381 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1382 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1383 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1384 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1385 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1386 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1387 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1388 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1389 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1390 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1391 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1392 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1393 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1394 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1395 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1396 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1397 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1398 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1361 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1362 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1363 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1364 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1365 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1366 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1367 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1368 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1369 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1370 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1371 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1372 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1373 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1374 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1375 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1376 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1377 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1378 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1380 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1381 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1382 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1383 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1384 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1385 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1386 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1387 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1388 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1389 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1390 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1391 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1392 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1394 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1395 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1396 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1399 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1400 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1401 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q1 X2 -> False. (* Cut history. *)
Proof.  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2).
Defined.

Remark rem_1402 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1403 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1404 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1405 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1406 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1407 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1408 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q1 X3 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q4_m_q1 1.
  intro X. case X.
   intro H. elim (rem_3  H).
   intro H. elim (rem_1248  H).
  intros X1 X2;  exact (rem_1050 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1040 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1241  H).
  intros X1 X2;  exact (rem_553 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1240  H).
  intros X1 X2;  exact (rem_1066 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2. intro H. elim (rem_1244 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1245 X1 X2 X3 H).
   intro H. elim (rem_1246  H).
   intro H. elim (rem_1247  H).
  intros X1;  exact (rem_560 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1).
   intro H. elim (rem_1243  H).
  intros X1 X2 X3;  exact (rem_1239 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1242 X1 X2 X3 H).
   intro H. elim (rem_1249  H).
Defined.

Remark rem_1409 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q1 X3 -> False. (* Cut history. *)
Proof.  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2).
Defined.

Remark rem_1410 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1409 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1411 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1412 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1413 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1414 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1415 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1416 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1417 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1418 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1419 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1328 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1420 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1340 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1421 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1422 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1423 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1424 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1425 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1426 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1427 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1428 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1429 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1430 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1431 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1399 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1400 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1402 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1403 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1404 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1405 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1406 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1345 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1407 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1410 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1412 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1413 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1358 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1414 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1416 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1330 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1417 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1418 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1419 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1420 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1421 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1422 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1423 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1424 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1425 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1426 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1427 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1334 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1428 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1352 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1353 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1429 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1430 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1432 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1433 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1434 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1435 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1436 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1437 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1438 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1439 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1440 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1441 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1442 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1443 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1340 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1444 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1445 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1446 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1447 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1448 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1449 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1450 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1451 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1452 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1453 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1454 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1455 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1432 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1433 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1349 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1434 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1435 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1436 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1321 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1437 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1438 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1351 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1338 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1439 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1440 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1395 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1441 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1442 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1361 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1342 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1443 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1444 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1445 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1339 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1330 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1446 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1318 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1447 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1367 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1448 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1449 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1450 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1451 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1452 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1453 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1454 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1391 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1456 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1457 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1458 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1457 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1459 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1460 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q3 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1461 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1462 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1463 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1464 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1465 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1466 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1467 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1468 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1469 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1470 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1471 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1472 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1473 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1474 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1475 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1476 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1477 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1478 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1479 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1480 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1379 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1481 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1482 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1483 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1484 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1485 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1486 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1487 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1488 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_91 X1 X2 X3 H);  intros.
  apply (rem_1456 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1458 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1459 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1461 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1462 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1463 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1464 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1465 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1466 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1467 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1468 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1469 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1470 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1471 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1472 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1473 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1363 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1387 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1474 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1475 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1476 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1477 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1478 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1479 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1480 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1481 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1482 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1483 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1484 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1373 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1485 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1381 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1486 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1487 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1489 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q1 (nonceb_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1316 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1360 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1398 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1431 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1455 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1488 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1490 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1491 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1492 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1493 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1494 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1495 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1496 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1497 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1498 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1499 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1500 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1501 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1502 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1503 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1504 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1505 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1506 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1507 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1508 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1509 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1510 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1511 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1512 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1513 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1514 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1515 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1516 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1517 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1518 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1519 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1520 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1521 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1522 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1523 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1524 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1525 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1526 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1527 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1528 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1529 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1530 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1531 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1532 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1533 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1534 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1535 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1536 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1537 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1538 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1539 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1540 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1541 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1542 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1543 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1544 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1545 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1546 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1547 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1548 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1549 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1550 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1551 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1552 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1553 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_old X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_265 X1 X2 X3 H);  intros.
Defined.

Remark rem_1554 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_old X1 X2 X3) -> auto__q1 (session_old X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_330 X1 X2 X3 H);  intros.
  apply (rem_1490 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1491 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1492 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1493 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1494 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1495 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1496 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1497 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1498 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1499 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1500 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1501 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1502 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1503 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1504 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1505 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1506 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1507 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1508 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1509 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1510 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1511 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1512 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1513 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1514 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1515 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1516 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1517 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1518 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1519 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1520 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1521 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1522 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1523 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1524 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1525 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1526 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1527 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1528 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1529 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1530 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1531 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1532 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1533 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1534 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1535 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1536 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1537 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1538 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1539 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1540 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1541 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1542 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1543 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1544 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1545 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1546 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1547 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1548 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1549 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1550 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1551 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1552 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1553 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1555 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1556 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1557 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1558 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1559 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1555 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1556 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1557 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1558 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1560 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1561 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1562 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1563 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1564 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (crypt X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_336 X1 X2 H);  intros.
  apply (rem_1560 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1561 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1562 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1563 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1565 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q1 (crypt X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1559 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1564 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1566 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1273 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1567 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1568 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1567 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1569 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1570 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q1 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1569 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1571 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1555 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1572 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1560 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1573 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 (cons X1 X2) -> auto__q4 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_345 X1 X2 H);  intros.
  apply (rem_1563 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1574 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q1 (cons X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1566 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1568 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1570 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1571 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1572 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1573 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1575 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1576 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1278 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1281 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1286 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1575 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1295 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1296 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1297 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1307 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1577 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1578 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1579 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1580 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1581 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1582 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1583 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1584 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1585 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1577 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1579 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1580 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1581 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1582 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1583 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1584 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1586 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1587 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1588 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1589 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1590 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1591 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1592 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1593 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1594 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1595 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1586 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1587 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1588 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1589 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1325 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1590 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1591 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1593 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1594 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1596 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1597 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1598 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1599 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1600 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1601 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1602 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1603 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1604 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1605 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1606 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1596 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1597 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1598 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1599 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1600 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1601 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1602 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1603 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1604 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1605 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1607 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1608 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1609 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1610 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1611 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1612 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1613 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1614 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1615 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1616 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1607 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1608 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1609 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1610 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1611 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1592 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1612 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1613 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1614 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1617 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1618 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1619 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1620 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1621 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1622 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1623 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1425 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1617 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1332 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1618 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1619 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1620 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1621 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1622 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1624 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1625 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1626 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1409 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1627 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1628 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1629 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1630 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1631 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1624 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1625 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1626 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1333 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1627 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1628 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1629 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1630 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1619 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1632 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1633 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1634 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1635 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1636 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1637 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1638 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1639 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1632 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1633 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1634 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1578 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1335 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1635 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1636 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1469 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1637 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1638 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1640 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1641 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1399 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1402 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1403 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1406 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1640 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1407 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1416 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1425 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1642 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1643 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1644 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1645 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1646 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1647 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1416 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1642 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1643 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1424 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1345 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1644 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1629 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1645 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1646 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1620 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1648 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1649 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1650 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1651 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1652 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1407 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1648 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1649 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1414 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1650 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1627 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1644 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1651 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1618 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1653 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1654 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1655 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1656 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1657 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1658 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1659 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1660 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1661 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1653 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1654 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1655 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1656 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1349 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1657 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1658 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1466 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1659 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1660 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1662 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1460 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1663 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1664 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1328 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1665 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1666 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1667 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1668 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1669 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1643 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1662 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1663 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1664 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1350 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1665 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1666 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1667 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1668 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1629 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1670 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1671 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1672 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1673 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1674 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1675 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1676 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1677 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1678 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1670 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1671 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1584 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1672 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1352 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1673 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1674 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1675 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1676 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1677 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1679 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1680 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1681 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1682 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1683 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1684 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1685 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1679 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1680 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1586 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1405 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1681 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1682 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1594 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1683 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1684 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1686 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1687 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1688 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1689 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1690 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1691 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1692 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1686 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1687 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1607 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1688 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1689 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1683 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1690 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1691 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1296 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1693 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1694 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1695 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1696 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1697 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1698 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1699 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1693 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1694 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1695 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1696 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1697 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1586 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1698 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1607 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1325 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1700 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1701 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1702 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1703 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1704 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1705 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1700 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1698 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1701 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1702 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1594 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1703 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1615 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1704 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1295 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1706 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1707 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1450 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1335 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1435 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1357 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1439 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1706 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1391 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1354 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1449 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1708 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1709 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1710 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1711 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1712 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1713 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1714 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1715 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1716 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1708 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1709 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1710 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1702 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1711 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1298 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1712 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1713 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1714 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1715 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1717 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1718 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1719 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1720 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1721 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1722 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1723 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1724 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1717 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1604 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1718 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1611 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1719 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1720 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1721 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1722 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1723 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1713 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1725 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1726 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1727 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1728 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1729 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1484 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1725 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1462 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1726 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1359 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1469 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1727 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1486 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1728 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1483 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1730 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1731 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1732 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1733 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1734 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1735 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1736 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1737 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1738 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. tauto.
  exact (rem_1261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1739 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_357 X1 X2 X3 H);  intros.
  apply (rem_1583 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1730 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1731 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1732 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1733 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1734 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1735 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1736 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1737 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1738 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1740 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q3 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 (session_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1576 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1585 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1595 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1606 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1616 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1623 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1631 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1639 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1641 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1647 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1652 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1661 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1669 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1678 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1685 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1692 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1699 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1705 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1707 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1716 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1724 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1729 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1739 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1741 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q3 X1 -> auto__q1 X1 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_1574 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_1277 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1489 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_1740 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_1554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_1742 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1743 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1744 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1745 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1746 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1747 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1748 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1260 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1742 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1745 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1747 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1749 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1750 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1751 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1752 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1753 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1754 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1755 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1749 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1751 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1752 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1753 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1754 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1756 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1757 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1758 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q2 X1 -> auto__q1 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1759 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1760 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1761 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1762 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1763 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1756 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1757 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1759 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1760 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1761 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1762 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1764 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1765 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1766 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1767 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1768 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1769 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1770 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1764 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1765 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1767 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1768 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1769 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1771 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1772 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1773 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1774 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1775 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1771 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1772 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1774 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1776 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1777 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1778 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1779 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1780 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1781 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1776 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1777 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1779 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1780 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1782 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q4 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1783 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1784 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1785 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1786 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1787 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1788 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1789 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1783 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1784 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1785 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1786 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1787 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1788 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1790 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q3 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X1.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1791 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1792 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1793 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q2 X1 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X1.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). tauto. exact (Hrec X1).
Defined.

Remark rem_1794 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1795 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1796 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1797 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1798 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1792 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1794 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1795 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1796 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1797 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1799 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1800 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1801 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q1 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1802 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1803 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1804 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1805 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q2 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro H. clear H. intro Hrec. intros X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1806 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1807 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1800 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1802 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1803 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1804 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1806 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1808 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1809 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1810 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1811 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1812 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1813 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1814 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1808 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1809 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1810 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1811 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1812 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1813 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1815 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1816 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1817 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1818 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1819 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1820 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1815 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1816 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1817 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1818 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1819 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1810 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1821 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q1 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro Hrec. intro H. clear H. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1822 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1823 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1824 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1825 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1826 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1827 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1822 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1823 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1824 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1751 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1826 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1828 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1829 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1830 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1831 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1832 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1833 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1828 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1829 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1787 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1830 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1831 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1832 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1834 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1835 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1836 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1837 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1838 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1839 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1840 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1834 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1837 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1838 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1839 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1841 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1842 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1843 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1844 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1845 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1846 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1841 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1761 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1842 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1843 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1844 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1845 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1847 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1848 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1849 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1850 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1851 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1852 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1847 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1848 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1850 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1851 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1853 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1854 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1855 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1856 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1853 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1854 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1855 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1823 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1857 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1858 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1859 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1860 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1861 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1862 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1863 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (nonceb_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_263 X1 X2 X3 H);  intros.
  apply (rem_1857 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1858 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1859 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1860 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1861 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1862 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1864 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 (nonceb_current X1 X2 X3) -> auto__q3 (nonceb_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_1017 X1 X2 X3 H);  intros.
  apply (rem_1748 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1755 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1763 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1770 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1775 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1781 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1789 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1798 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1807 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1814 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1820 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1827 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1833 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1840 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1846 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1852 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1856 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1863 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1865 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1866 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1867 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1866 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1868 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q3 X2 -> auto__q1 X2 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_1574 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_1277 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1489 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_1740 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_1554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_1869 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1870 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1871 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1869 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1870 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1872 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1873 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1874 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1872 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1873 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1875 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1876 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1877 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1875 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1876 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1878 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1879 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1880 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1878 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1879 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1881 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1882 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1883 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (crypt X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_343 X1 X2 H);  intros.
  apply (rem_1881 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1882 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1884 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (crypt X1 X2) -> auto__q3 (crypt X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1039 X1 X2 H);  intros.
  apply (rem_1867 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1871 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1874 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1877 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1880 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1883 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1885 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1886 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1887 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1888 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1889 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1890 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1891 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1885 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1886 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1887 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1888 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1889 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1890 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1892 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1893 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1865 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1870 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1892 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1872 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1873 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1876 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1894 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1895 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1896 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1897 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1898 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1899 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1894 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1890 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1895 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1896 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1897 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1898 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1900 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1901 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1902 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1903 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1904 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1905 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1900 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1901 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1902 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1887 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1903 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1904 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1906 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1907 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1908 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1909 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1910 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1866 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1906 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1907 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1873 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1908 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1909 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1911 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1912 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1913 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1914 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1915 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (cons X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_354 X1 X2 H);  intros.
  apply (rem_1911 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1912 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1900 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1885 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1913 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1914 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1916 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (cons X1 X2) -> auto__q3 (cons X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1049 X1 X2 H);  intros.
  apply (rem_1891 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1893 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1899 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1905 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1910 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1915 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1917 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1918 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1919 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1920 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1921 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q1 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1922 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1923 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1924 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q3 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1925 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q1 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1926 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q4 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1927 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q1 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1928 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q2 X1 -> auto__q3 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1929 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q3 (noncea_current X1 X2) -> auto__q4 X1 -> auto__q2 X2 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_533 X1 X2 H);  intros.
Defined.

Remark rem_1930 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2:term, auto__q4 (noncea_current X1 X2) -> auto__q3 (noncea_current X1 X2) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2. intro H. intros.
  elim (rem_1065 X1 X2 H);  intros.
  apply (rem_1917 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1918 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1919 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1920 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1921 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1922 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1923 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1924 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1925 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1926 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1927 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1928 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
  apply (rem_1929 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2);  tauto.
Defined.

Remark rem_1931 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1932 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1933 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1934 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1935 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1936 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1937 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1938 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1939 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1940 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1941 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1942 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1943 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1944 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1945 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1946 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1947 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1948 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1949 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1950 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1260 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1931 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1932 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1933 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1934 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1935 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1936 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1937 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1745 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1938 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1939 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1940 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1942 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1808 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1776 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1943 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1944 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1945 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1946 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1947 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1948 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1949 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1951 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1952 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1953 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1954 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1955 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1956 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1957 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1958 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1959 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1960 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q4 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro Hrec. intro H. clear H. intro H. clear H. intros X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_1961 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1962 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1963 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1964 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1965 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1966 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1967 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1968 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1749 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1951 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1952 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1953 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1954 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1955 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1837 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1956 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1752 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1825 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1957 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1958 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1786 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1959 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1961 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1962 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1963 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1828 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1964 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1771 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1965 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1966 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1967 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1969 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1970 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1971 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1972 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1973 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1974 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1975 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1976 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1977 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1978 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q3 X3 -> auto__q1 X3 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q3_m_q1 1.
  intro X. case X.
   intro H. elim (rem_6  H).
   intro H. elim (rem_531  H).
  intros X1 X2;  exact (rem_1574 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1565 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_525  H).
  intros X1 X2;  exact (rem_1277 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_524  H).
  intros X1 X2. intro H. elim (rem_533 X1 X2 H).
  intros X1 X2. intro H. elim (rem_527 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1489 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_528 X1 X2 X3 H).
   intro H. elim (rem_529  H).
   intro H. elim (rem_530  H).
  intros X1. intro H. elim (rem_20 X1 H).
   intro H. elim (rem_526  H).
  intros X1 X2 X3;  exact (rem_1740 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3;  exact (rem_1554 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q3_m_q1 epsilon_m_q4_m_q2 X1 X2 X3).
   intro H. elim (rem_532  H).
Defined.

Remark rem_1979 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_1980 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1981 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1982 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1983 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1984 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1985 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1986 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1987 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1988 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1989 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1969 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1970 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1971 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1747 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1839 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1972 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1973 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1974 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1975 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1976 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1977 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1979 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1980 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1981 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1982 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1983 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1984 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1985 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1986 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1987 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1988 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1797 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_1990 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1991 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1992 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1993 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1994 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X2:term, auto__q2 X2 -> auto__q3 X2 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X2.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). tauto. exact (Hrec X2).
Defined.

Remark rem_1995 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1996 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_1997 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1998 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_1999 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2000 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2001 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2002 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2003 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2004 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2005 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2006 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2007 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2008 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2009 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2010 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1756 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1792 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1991 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1992 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1993 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1995 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1996 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1760 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1997 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1998 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1999 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2000 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2001 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2002 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2003 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2004 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2005 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2006 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2007 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2008 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2009 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2011 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2012 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2013 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2014 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2015 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2016 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2017 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2018 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2019 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2020 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2021 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2022 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2023 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2024 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2025 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2026 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2027 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1764 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2011 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2012 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2013 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2014 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1745 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2015 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2016 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1767 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1779 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1811 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2017 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2019 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2020 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1953 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2021 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1943 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2022 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2023 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2024 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2025 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2026 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2028 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2029 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2030 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2031 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2032 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2033 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2034 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2035 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2036 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2037 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2038 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2039 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2040 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2041 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2042 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2043 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2044 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2003 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1858 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2028 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2029 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2030 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1997 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2000 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2031 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2032 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2033 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2034 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2035 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2036 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2037 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2038 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2039 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1784 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1992 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2040 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2007 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2041 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2042 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2043 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2045 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2046 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2047 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2048 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2049 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2050 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2051 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2052 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2053 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2054 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2055 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2056 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2057 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2058 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1771 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2045 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2046 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2024 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2047 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1850 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1835 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2048 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1750 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1823 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1818 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1812 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1784 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2049 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2050 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1965 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2051 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2052 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2053 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2054 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2055 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2056 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2057 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2059 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2060 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2061 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2062 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2063 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2064 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2065 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2066 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2067 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2068 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2069 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2070 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2071 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2072 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2073 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2059 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1861 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2060 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1785 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2061 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2062 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2063 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2064 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2065 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2066 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2067 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2068 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2069 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2070 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1824 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1787 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2071 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1855 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2072 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1859 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2074 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2075 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2076 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2077 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2078 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2079 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2080 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2081 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2082 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2083 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2084 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2085 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2086 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2087 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2088 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2089 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2090 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2091 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2092 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2093 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2094 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2095 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2096 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2097 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2074 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2075 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2076 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2077 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2078 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2079 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2081 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2082 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2083 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2084 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2085 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2086 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2087 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2088 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2089 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2090 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2091 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2092 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2093 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2094 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2095 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2096 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2098 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2099 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2100 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2101 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2102 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2103 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2104 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2105 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2106 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2107 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2108 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2109 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2110 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2111 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2112 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2113 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2114 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2115 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1791 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2098 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2099 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1949 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2100 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2101 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2102 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2103 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1795 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2104 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2105 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2106 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2107 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2091 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1857 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2108 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2109 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2111 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2112 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2113 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2114 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2116 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2117 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2118 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2119 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2120 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2121 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2122 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2123 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2124 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2125 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2126 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2127 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2128 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2129 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2130 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2131 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2132 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2116 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2117 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2119 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2120 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2037 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2009 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2122 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2123 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2063 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2043 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2125 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2094 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2126 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2057 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2112 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2127 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2128 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2129 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2130 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2131 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2133 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2134 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2135 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2136 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2137 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2138 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2139 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2140 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2141 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2142 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2143 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2144 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2145 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X3:term, auto__q2 X3 -> auto__q3 X3 -> False. (* Use induction hypothesis. *)
Proof.
   intro H. clear H. intro H. clear H. intro Hrec. intro H. clear H. intros X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). tauto. exact (Hrec X3).
Defined.

Remark rem_2146 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_2145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2147 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2148 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2149 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2150 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2151 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2152 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2153 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2154 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2133 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2134 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2135 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2137 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2138 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2139 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2140 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2141 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2142 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2143 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2144 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2146 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2147 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2148 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2149 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2150 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2151 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2028 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2152 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2153 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2155 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2156 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2157 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2158 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2159 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2160 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2161 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2162 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2163 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2164 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2165 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2166 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2167 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2168 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2155 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2156 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2157 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1787 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1843 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2158 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2159 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2160 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2064 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2161 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2162 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2163 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2164 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2165 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1751 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1831 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1838 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2166 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1851 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1773 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2167 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1861 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2169 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2170 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2171 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2172 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2173 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2174 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2175 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2176 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2177 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2178 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2179 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2180 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2181 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2182 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2183 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2184 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2169 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2170 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2171 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1810 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2060 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2172 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2173 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2174 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2161 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2066 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2175 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2176 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2177 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2178 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2179 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2070 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2157 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2181 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2182 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1817 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2063 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2183 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2185 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2186 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2187 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2188 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2189 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2190 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2191 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2192 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2193 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2194 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2195 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2196 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2197 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2198 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2199 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2200 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2201 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2202 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1942 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2185 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2186 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1948 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1949 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2187 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2188 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2189 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2191 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2192 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1974 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2193 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2194 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2195 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2196 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1931 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2197 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2198 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2199 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2200 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2201 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2113 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2203 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2204 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2205 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2206 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2207 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2208 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2209 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2210 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2211 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2212 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2213 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2214 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2215 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2216 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2217 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_2145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2218 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2091 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2203 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2204 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2205 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2206 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2080 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2207 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2208 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2209 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2086 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2210 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2211 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2153 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2212 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2076 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2078 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2213 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2099 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2214 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2215 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2216 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2217 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2219 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2220 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2221 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2222 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2223 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2224 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2225 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2226 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2227 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2228 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2229 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2230 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2231 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2232 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2233 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2234 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1745 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2219 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2220 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2221 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2222 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2223 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2224 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2225 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2226 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2227 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2228 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2229 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1811 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1779 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2230 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2015 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2231 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1742 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1777 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2232 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2233 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2235 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2236 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2237 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2238 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2239 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2240 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2241 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2242 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2243 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2244 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2245 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2246 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2247 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2248 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1935 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2235 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2236 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2237 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2238 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2239 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2240 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2222 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2241 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2242 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2243 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2244 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2187 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1939 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1938 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2015 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1936 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2245 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2246 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1991 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2247 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2193 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2249 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2250 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2251 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2252 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2253 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2254 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2255 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2256 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2257 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2258 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2259 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2260 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2261 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2262 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2263 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2264 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2265 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2266 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2267 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2268 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2249 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2251 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2252 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2254 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2255 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2211 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2256 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2257 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2258 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2259 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2260 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2261 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2262 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2264 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2265 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2170 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2060 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2266 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2267 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2269 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2270 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2271 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2272 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2273 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2274 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2275 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2276 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2277 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2278 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2279 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2280 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2281 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2282 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1799 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2269 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2270 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1769 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1832 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1975 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2271 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2272 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1803 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2273 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2274 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2275 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2276 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2277 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1958 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1754 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2278 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1984 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2279 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1746 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1766 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2280 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2281 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2283 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2284 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2285 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_2145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2286 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2287 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2288 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2289 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2290 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2291 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2292 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2293 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2294 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2295 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2296 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q1 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1808 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2284 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2285 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2286 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1939 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2236 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2287 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1811 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2289 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2290 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2195 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2291 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2292 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2012 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1932 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2048 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2293 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2294 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2295 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2205 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2297 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2298 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2299 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2300 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2301 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2302 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2303 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2304 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2305 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2306 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2307 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2308 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2309 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2310 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2311 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q3 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2297 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2298 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1788 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2299 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2300 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2301 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2266 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2302 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2303 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2257 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2304 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2305 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2306 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2263 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2307 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2308 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2309 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1861 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1785 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1862 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2310 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2312 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2313 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2314 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2315 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2316 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2317 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2318 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2319 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2320 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2321 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2322 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1978 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2323 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_2145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2324 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2325 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q3 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1815 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2312 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2313 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2294 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2314 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2002 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1990 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2315 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1818 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2038 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2316 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2317 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2028 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2093 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2318 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2319 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2046 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2320 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2321 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2323 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2326 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2327 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2328 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2329 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2330 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2331 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2332 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2333 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1741 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2334 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2335 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2336 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2337 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q1 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1938 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2233 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2136 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2326 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2327 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2241 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2244 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2328 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2226 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2329 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2330 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2331 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2332 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2191 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2288 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2333 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2018 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1941 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2334 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1991 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2029 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2335 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2336 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2338 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2339 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2340 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2341 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2342 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2343 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2344 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2345 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2346 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2347 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2348 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2349 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2350 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2351 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2352 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1959 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2338 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2090 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1966 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1967 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2339 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1795 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2340 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2341 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2342 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2082 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2343 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1860 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2344 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2345 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2346 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1951 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2347 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2348 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2049 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2349 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2350 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2351 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2353 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2354 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2355 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2356 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2357 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2358 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2359 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2360 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2361 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2362 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2363 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2364 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2365 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2366 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q3 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2093 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2214 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2353 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2324 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2118 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2354 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2355 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2356 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2357 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2124 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2358 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2174 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2359 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2360 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2361 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2094 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2312 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2215 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2362 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2363 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2364 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2121 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2365 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2367 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2368 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2369 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2370 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_2145 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2371 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2372 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2373 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q3 X1 -> auto__q2 X3 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2374 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2375 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q1 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1983 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2281 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2252 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1780 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1788 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1976 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1980 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2367 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2273 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2368 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2369 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2370 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2371 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2372 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2373 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1826 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1832 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1839 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2167 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1778 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2374 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1862 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2376 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2377 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q3 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1960 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2378 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2379 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2380 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X1 -> auto__q4 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2381 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2382 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2383 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q2 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1805 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2384 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q3 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1868 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2385 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q1 X2 -> auto__q4 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2019 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2376 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2283 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2025 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2026 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2190 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2235 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2377 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2378 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2379 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2380 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2272 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2233 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2381 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1956 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1966 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2011 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1931 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2382 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1945 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2056 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2383 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2384 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2386 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2387 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2388 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2389 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2390 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2391 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2392 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2393 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2394 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2395 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2396 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1994 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2397 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2386 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2110 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2215 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2200 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2112 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2001 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2387 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2388 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2389 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2037 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2354 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2390 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2009 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2391 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2093 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2116 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2392 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2111 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2393 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2394 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2128 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2395 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2396 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2398 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2399 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1758 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2400 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q1 X3 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1801 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2401 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2402 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q3 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2403 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q1 X3 -> auto__q4 X1 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2404 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1743 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2405 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q1 X2 -> auto__q2 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2406 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q2 X1 -> auto__q2 X2 -> auto__q1 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_1841 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1796 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2180 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1744 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1836 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2398 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2399 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2390 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1843 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2061 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2172 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2400 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2062 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2401 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2169 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2059 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1838 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2402 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2403 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2404 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1849 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2405 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1794 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2407 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2408 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2409 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2410 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2411 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2412 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> auto__q2 X1 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q2 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1793 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2413 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X1 -> auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q1 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1322 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2414 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q1 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q2 X3 -> auto__q1 X3 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1821 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X3).
Defined.

Remark rem_2415 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X1 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X1 -> auto__q3 X1 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1790 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
Defined.

Remark rem_2416 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 X3 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q2 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1253 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2417 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> auto__q1 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q1 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1250 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2418 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 X2 -> auto__q2 X3 -> auto__q4 X1 -> auto__q4 X2 -> False. (* Split. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3.
  cut (auto__q4 X2 -> auto__q3 X2 -> False). clear  epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. tauto.
  exact (rem_1782 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X2).
Defined.

Remark rem_2419 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q3 (session_current X1 X2 X3) -> auto__q4 X1 -> auto__q4 X2 -> auto__q2 X3 -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_522 X1 X2 X3 H);  intros.
  apply (rem_2407 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2351 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2078 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2408 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2409 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2410 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2104 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2095 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2342 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2411 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2083 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2412 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2413 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2414 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2089 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2415 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1967 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1857 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2416 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2116 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2126 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2417 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2418 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

Remark rem_2420 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1 X2 X3:term, auto__q4 (session_current X1 X2 X3) -> auto__q3 (session_current X1 X2 X3) -> False. (* Eliminate negative atom. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. intros X1 X2 X3. intro H. intros.
  elim (rem_1238 X1 X2 X3 H);  intros.
  apply (rem_1950 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1968 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_1989 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2010 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2027 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2044 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2058 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2073 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2097 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2115 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2132 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2154 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2168 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2184 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2202 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2218 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2234 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2248 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2268 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2282 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2296 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2311 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2325 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2337 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2352 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2366 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2375 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2385 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2397 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2406 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
  apply (rem_2419 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3);  tauto.
Defined.

  (*
Remark rem_2421 : (forall X:term, auto__q2 X -> auto__q1 X -> False)
    -> (forall X:term, auto__q2 X -> auto__q3 X -> False)
    -> (forall X:term, auto__q4 X -> auto__q2 X -> False)
    -> forall X1:term, auto__q4 X1 -> auto__q3 X1 -> False. (* Induct. *)
Proof.
  intros epsilon_m_q2_m_q1 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2. fix epsilon_m_q4_m_q3 1.
  intro X. case X.
   intro H. elim (rem_3  H).
   intro H. elim (rem_1248  H).
  intros X1 X2;  exact (rem_1916 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2;  exact (rem_1884 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1241  H).
  intros X1 X2;  exact (rem_1256 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2).
   intro H. elim (rem_1240  H).
  intros X1 X2;  exact (rem_1930 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2).
  intros X1 X2. intro H. elim (rem_1244 X1 X2 H).
  intros X1 X2 X3;  exact (rem_1864 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1245 X1 X2 X3 H).
   intro H. elim (rem_1246  H).
   intro H. elim (rem_1247  H).
  intros X1;  exact (rem_1259 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1).
   intro H. elim (rem_1243  H).
  intros X1 X2 X3;  exact (rem_2420 epsilon_m_q2_m_q1 epsilon_m_q4_m_q3 epsilon_m_q2_m_q3 epsilon_m_q4_m_q2 X1 X2 X3).
  intros X1 X2 X3. intro H. elim (rem_1242 X1 X2 X3 H).
   intro H. elim (rem_1249  H).
Defined.

   *)
  
