Program Instance TR : TraceRelation step_failure :=
    {
      init := step_failure_init;
      T := in_output_trace client id out ;
      T_dec := in_output_trace_dec ;
      R := fun s => let (_, net) := s in
                    output_correct client id out (applied_entries (nwState net))
    }.

Theorem output_correct : forall failed net tr, step_failure_star step_failure_init (failed, net) tr -> in_output_trace client id out tr -> output_correct client id out (applied_entries (nwState net)).