Supponiamo di avere un'azione "a". Allora
a-negato è il
complementare di "a".
In altre parole, (esempio stupido) se io ti stringo la mano (chiamiamo questa azione "a"

tu
ti fai stringere la mano, e quindi fai ¬a (con ¬a indico
a negato).
In realtà la situazione è un po' diversa in CCS: (esempio meno stupido)
supponiamo di avere due termini CCS, A e B.
Supponiamo di avere un'azione "a", e che la situazione sia:
a.A | ¬a.B
cioè A compie "a" e B compie "¬a", in parallelo.
Allora puoi avere 3 situazioni:
1) A compie "a": a.A | ¬a.B --> A | ¬a.B
2) B compie "¬a": a.A | ¬a.B --> a.A | B
3) A compie "a" e B compie "¬a"
contemporaneamente: allora si dice che i due processi si
stringono la mano (si parla in effetti di
handshaking), e compiono un
tau. Il punto 3 quindi diventa: a.A | ¬a.B --> A | B.
Spero di essere stato chiaro e soprattutto di non aver fatto errori.
Se ci sono errori ditelo, senò magari li rifaccio al compito!
[size=2]PS: quello che ho scritto è trattato a pag. 60 delle dispense di Pettorossi "Elements of concurrent programming".[/size]