anchor.diff:  adjacent(_) -> [].
   
   prop_tcp() ->
  -  eqc:dont_print_counterexample(
  +  eqc_statem:show_states(
  +  %eqc:dont_print_counterexample(
     with_parameter(default_process, worker,
     with_parameter(color, true,
     ?FORALL(Cmds, commands(?MODULE),
  
positive.code: 
  
  close_callouts(S, [_]) ->
    ?APPLY(sent_fin, []),
    case S#state.tcp_state of
      close_wait ->
        ?SET(tcp_state, last_ack),
        ?BLOCK(close);
      established ->
        ?SET(tcp_state, fin_wait_1),
        ?BLOCK(close)
    end.
  
  
negative.code: %% --- close ---
  
  close_pre(S) ->
    in_tcp_state(S, [established, close_wait, listen]) andalso
    lists:member(S#state.socket_type, [accept, connect]).
  
  
  close_args(S) ->
    [S#state.socket].
  