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