Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
Created multiplicative disjunction.
I understand the difference between “tensor” and “par” best via game semantics: Imagine we play two parallel games of chess, where I’m playing white in one and you in the other. If we both play the “copycat strategy”, i.e. wait for the other one to open in one game to “copy” their move to the other, then we have a “deadlock”. The solution is that one of us has to play
Chess “tensor” ~Chess,
and the other
Chess “par” ~Chess
(where “Chess” is the game from the perspective of white, and the negation “~Chess” is the perspective of black).
“Par” is in the stronger position because it can play copycat in this situation, i.e. it can wait for the other to move, whereas tensor has to play as soon as it’s their turn in one of the games. Another, stronger interpretation is that in
A “tensor” B
we can not use any information from A to play B, and vice versa, so A and B are played by two non-communicating threads.
So in a sense you can say that linear logic is a type system for concurrent processes that allows to avoid dead-locks.
I meant to add that too, but didn’t have time. Why don’t you do it?
A year and a half later, I added #2 to the page, and also some comments about notation and the disjunctive syllogism.
Given what follows after the section ’In terms of resources’, where it has
a military general who knows that he will be attacked from either the east or the north must divide his forces between both fronts, even if the attack will only come from one direction
this means that even if the attack begins from the east, it might switch to the north and then between fronts?
I think it means that he must commit some of his forces to defend in the east and some to defend in the north: the two fronts are far enough apart that he won’t be able to shift his forces around after the attack begins.
1 to 6 of 6