intuition.
unfold Oi in *.
fcf_simp_in_support.
destruct x.
fcf_simp_in_support.
trivial.
Qed.

(* Specifications: *)
(* The relational specification on O1_count and (Oi q).  As usual, I arrived at this by attempting some of the theorems below and then factoring out this theorem. *)
Theorem O1_count_Oi_eq_until_bad :
forall s s_A,
comp_spec (fun a b => ((snd (snd a) > q) <-> (snd (snd b) > q)) /\ ((snd (snd a) <= q)%nat -> (fst a = fst b /\ fst (snd a) = fst (snd b))))
((A1 s_A) _ _ O1_count (s, 0)%nat)
((A1 s_A) _ _ (Oi q) (s, 0)%nat).