James B. Wilson
So premises must be present but their number does not matter.
True for facts
False for scheduling (too many cooks in the kitchen)
True for facts
False for resources
(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\)
+ Weakening & Contraction
Premise leads to conclusion for any reason is enough,
Same as simply replacing actual statements (sequents) with True or False
Never allow "If True then False"
\[\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}\]
Allow
\[\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}\]
Because of implicit context, classical logic seems to allow a meaningless "Formal" implication
If \(x>0\) then \(x^2>0\)
Sentence (i.e. what we can attempt to judge as true)
if list.length > 0 then print list.head
test
task
(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