
James B. Wilson
Implication with Resources
If -- then --
(I)NTRODUCTION\[\frac{\Gamma, P\vdash Q}{\Gamma \vdash P\Rightarrow Q}\qquad (I_{\Rightarrow})\]
(naive version)
(E)LIMINATION \[\begin{array}{rl} \Gamma & \vdash P\Rightarrow Q\\ \Gamma & \vdash P \\ \hline \Gamma & \vdash Q\end{array}\qquad (E_{\Rightarrow})\]
(Modus Ponens)
(L)ANGUAGE.
\(\langle imp\rangle ::= \langle term\rangle \Longrightarrow \langle term\rangle\)
If --- then --- .....what else is there to say?!
Resource Implication
If you have an egg you can make cookies.
If you have an egg you can make brownies.
With an egg you can make
cookies and brownies.
\[\frac{\begin{array}{rl} \Gamma,E & \vdash C\\ \Gamma,E & \vdash B\\ \hline \Gamma,E & \vdash (B\wedge C)\end{array} (I_{\wedge})}{\Gamma\vdash E \Rightarrow (B\wedge C)}(I_{\Rightarrow})\]
Recall \(\frac{\Gamma\vdash P,Q}{\Gamma \vdash P\wedge Q}(I_{\wedge})\)
Recall \(\frac{\Gamma,P\vdash Q}{\Gamma \vdash P\Rightarrow Q}(I_{\Rightarrow})\)
Logic is not a match for the situation!
Resource Implication
If you have an egg you can make cookies.
If you have an egg you can make brownies.
With an eggs you can make
cookies and brownies.
\[\frac{\begin{array}{rl} \Gamma,E & \vdash C\\ \Gamma,E & \vdash B\\ \hline \Gamma,E & \vdash (B\wedge C)\end{array} (I_{\wedge})}{\Gamma\vdash E \Rightarrow (B\wedge C)}(I_{\Rightarrow})\]
\[\frac{\begin{array}{rl} \Gamma,E & \vdash C\\ \Gamma,E & \vdash B\\ \hline \Gamma,E,E & \vdash (B\wedge C)\end{array}}{\Gamma\vdash E,E \Rightarrow (B\wedge C)}\]
Suggested Alternative
Drop
If -- then --
(I)NTRODUCTION
\[\frac{\Gamma, \overbrace{P,\ldots,P}^n\vdash Q}{\Gamma \vdash \underbrace{P,\ldots,P}_n\Rightarrow Q}\qquad (I_{\Rightarrow})\]
(E)LIMINATION
\[\begin{array}{rl} \Gamma & \vdash \overbrace{P,\ldots,P}^n\Rightarrow Q\\ \Gamma & \vdash \overbrace{P,\ldots,P}^n \\ \hline \Gamma & \vdash Q\end{array}\qquad (E_{\Rightarrow})\]
(L)ANGUAGE \(\langle imp\rangle ::= \langle term\rangle \Longrightarrow \langle term\rangle\)
\(!^n P := \overbrace{P,\ldots,P}^n\)
"exactly \(n\) P"
\(! P \) "unique P"
If -- then --
(I)NTRODUCTION
\[\frac{\Gamma, !^n P\vdash Q}{\Gamma \vdash !^n P\Rightarrow Q}\qquad (I_{\Rightarrow})\]
(E)LIMINATION
\[\begin{array}{rl} \Gamma & \vdash !^n P\Rightarrow Q\\ \Gamma & \vdash !^nP \\ \hline \Gamma & \vdash Q\end{array}\qquad (E_{\Rightarrow})\]
(L)ANGUAGE \(\langle imp\rangle ::= \langle term\rangle \Longrightarrow \langle term\rangle\)
Summary
Some implications cannot be viewed independent of each other.
- Can a resource be shared, or is it consumed?
- Is the resource scheduled in time?
To keep track of use be strict on the number of premises.
For a full account look into Linear Logic.
Classical Logical Alchemy: Turn False into True.
Optional logical rules
Weakening \[\frac{A \vdash B}{A,C\vdash B}\]
Contraction \[\frac{A,A \vdash B}{A\vdash B}\]
With implication \[\frac{\Gamma,P,\ldots,P \vdash Q}{\Gamma,P\vdash Q}\]
With implication \[\frac{\Gamma,P \vdash Q}{\Gamma,P,\ldots,P\vdash Q}\]
True for facts
False for scheduling (too many cooks in the kitchen)
True for facts
False for resources
If -- then -- (Incidence based)
(classical implication)
Never allow "If True then False"
but allow
- "If True then True"
- "If False then False"
- "If False then True"
\[\begin{array}{|cc|c|} \hline P & Q & P\Rightarrow Q\\ \hline\hline \top & \top & \top\\ \top & \bot & \bot\\ \bot & \top & \top \\ \bot & \bot & \top\\ \hline \end{array}\]
Use this if you cannot explain a process but the data matches.
Because of implicit context, classical logic allows a meaningless "Formal" implication
If --- then --- (Process based)
If --- then --- (Incidence based)
If -- then --
If \(x>0\) then \(x^2>0\)
- Issue 1: what is the context? What is \(>\) and \(x^2\) and 0?
-
Issue 2: what is this saying?
- Is it a process that takes evidence for \(x>0\) to evidence for \(x^2>0\)?
- Is it an observation that \(x>0\) always precedes \(x^2>0\)?
Sentence (i.e. what we can attempt to judge as true)
If -- then -- (Programs)
if list.length > 0 then print list.head
test
task
If -- then -- (Process based)
(L)ANGUAGE <imp> ::= if <term> then <term>
<imp> ::= <term> => <term>
\(\langle imp\rangle ::= \langle term\rangle \Longrightarrow \langle term\rangle\)
\[\frac{P\vdash Q}{P\Rightarrow Q}\qquad (I_{\Rightarrow})\]
(I)NTRODUCTION
\[\begin{array}{rl} & P\Rightarrow Q\\ & P \\ \hline & Q\end{array}\]
(E)LIMINATION
Implications with Resources
By James Wilson
Implications with Resources
Some implications involve resources which might not be available. So we cannot always discharge an implication without keeping track of how many times we have the necessary premises. When this happens we simply modify our rules of implication to include counting.
- 92