Remark add_reduce1 :
 forall x1 x2 y : Z, x1 = x2 -> (y + x1 - 1)%Z = (y + x2 - 1)%Z.

(* Specifications: *)
Lemma invariant1_init : sigma_send_table send_init = (sigma_receive_table rec_init + sigma_weight bag_init - 1)%Z.
Lemma invariant1_inductive : forall (c : Config) (t : class_trans c), legal c -> sigma_send_table (st c) = (sigma_receive_table (rt c) + sigma_weight (bm c) - 1)%Z -> sigma_send_table (st (transition c t)) = (sigma_receive_table (rt (transition c t)) + sigma_weight (bm (transition c t)) - 1)%Z.
Lemma invariant1 : forall c : Config, legal c -> sigma_send_table (st c) = (sigma_receive_table (rt c) + sigma_weight (bm c) - 1)%Z.