paid : Bool[3] chan : Bool[3] said : Bool[3] init_cond = ((neg paid[0]) /\ (neg paid[1]) /\ (neg paid[2])) \/ ((paid[0]) /\ (neg paid[1]) /\ (neg paid[2])) \/ ((neg paid[0]) /\ (paid[1]) /\ (neg paid[2])) \/ ((neg paid[0]) /\ (neg paid[1]) /\ (paid[2])) -- Agents are numbered in the order they appear. agent C1 "dc_agent_protocol" (paid[0], chan[0], chan[1], said) agent C2 "dc_agent_protocol" (paid[1], chan[1], chan[2], said) agent C3 "dc_agent_protocol" (paid[2], chan[2], chan[0], said) -- This talks about the knowledge of the first agent. spec_spr_xn = X 6 (neg paid[0]) => ((Knows C1 (neg paid[0]) /\ (neg paid[1]) /\ (neg paid[2])) \/ ((Knows C1 (paid[1] \/ paid[2])) /\ (neg (Knows C1 paid[1])) /\ (neg (Knows C1 paid[2]))))