Definition FT0b0(i: Z): int := GF_ops_LL.times2 (Znth i FSb).
Definition FT0b1(i: Z): int := Znth i FSb.
Definition FT0b2(i: Z): int := Znth i FSb.
Definition FT0b3(i: Z): int := GF_ops_LL.times3 (Znth i FSb).
(* Note: according to calc_FT0, it should FT0b3 is (Int.and (Int.xor (GF_ops_LL.times2 (Znth i FSb)) (Znth i FSb)) (Int.repr 255)) but we prefer to use an equivalent "medium-level" formulation *)

Lemma xor_assoc_5: forall i0 i1 i2 i3 i4,
Int.xor (Int.xor (Int.xor (Int.xor i4 i0) i1) i2) i3 =
Int.xor (Int.xor (Int.xor (Int.xor i0 i1) i2) i3) i4.