fact: Definition is_F_bisimulation (S1 S2:F_coalgebra) (R:S1.(states) -> S2.(states) -> Prop) := { gamma : {s1s2 : states S1 * states S2 | R (fst s1s2) (snd s1s2)} -> F_ {s1s2 : states S1 * states S2 | R (fst s1s2) (snd s1s2)} | forall (s1s2_h:{s1s2 : states S1 * states S2 | R (fst s1s2) (snd s1s2)}), lift_F_ _ _ (fun z : { z : states _ * states _ | _ } =>fst(proj1_sig z)) (gamma s1s2_h)=S1.(transition) (fst(proj1_sig s1s2_h)) /\ lift_F_ _ _ (fun z : { z : states _ * states _ | _ } =>snd(proj1_sig z)) (gamma s1s2_h)=S2.(transition) (snd(proj1_sig s1s2_h))}.
imports: ExtensionalFunctor Setoid