Construct Edit Line Export / Import Reference
Premises Conclusion
⊢
Dependencies: Formula: Lines: Rule:

Goal formula:
Edit Line: Dependencies: Formula: Lines: Rule:
Check the whole proof before exporting:
Plain Pretty Print LaTexify
 
[+] Syntax

NOTE: formulas with a binary connective as their main connective should be enclosed by parentheses, as in the sample wffs below, but the program will accept such formulas without parentheses as well. The program will accept any lowercase letter as an individual constant or variable, so one could e.g. have '(Ea)Fa' or '(Fx>Gy)', but in practice it's best to notationally distinguish them as per the guidelines below. Note also that 'v' is reserved for disjunction, so it can't be used as a variable. See here for some (importable) sample proofs.

Logical Symbols
Negation~
Conjunction&
Disjunctionv
Conditional>
Biconditional<>
Existential QuantifierE
Universal QuantifierA
Identity Relation=
Absurdity#
Non-Logical Symbols
Individual Constantsa,b,c,d,e,f
Individual Variablesu,w,x,y,z
Propositional ConstantsA ... Z
Predicate Constants (any arity)A ... Z
Sample Wffs
P
((GvH)>F)
(#>P)
Fa
(Fa & Rab)
(Ex)Rxb
(Ex)(Ay)(Rxy <> Ryx)
(Ax)((Fx & (Ey)Rxy) > (Ey)(Fy v Ryx))
((Ax)(Fx > (Ey)Rxy) > (Ey)Gy)
[+] Rules for Sentential Logic


NOTE: the order in which rule lines are cited is important for multi-line rules. For example, in an application of conditional elimination with citation "j,k →E", the line j must be the conditional, and the line k must be its antecedent, even if line k actually precedes line j in the proof. The only multi-line rules which are set up so that order doesn't matter are &I and Df.

Rule of Premises/Assumptions
 (j)pPremise
  ___or___
 (j)pAssumption
Rule of &I
a1..an(j) p
:
b1..bu(k)q
:
a1..an,b1..bu(m)p&qj,k &I
Rule of &E
a1..an(j)p&q
:
a1..an(k) p (or q)j &E
Rule of →I
j(j)pAssumption
:
a1,..,an(k)q
:
{a1..an}/j(m)p→qj,k →I
Rule of →E
a1..an (j) p→q
:
b1..bu(k)p
:
a1..an,b1..bu(m) qj,k →E
Rule of ~I
j(j)pAssumption
:
a1..an(k)⊥
:
{a1..an}/j(m)~pj,k ~I
Rule of ~E
a1..an(j)~q
:
b1..bu(k)q
:
a1..an,b1..bu(m)⊥j,k ~E
Rule of DN
a1..an(j)~~p
:
a1..an(k)pj DN
Rule of vI
a1..an(j)p
:
a1..an(k)pvqvI j
___or___
a1..an(k)qvpj vI
Rule of vE
a1..an(g)pvq
:
h(h)pAssumption
:
b1..bu(i)r
:
j(j)qAssumption
:
c1..cw(k)r
:
X(m)rg,h,i,j,k vE
Where X =
{a1..an}U{b1..bu}/hU{c1..cw}/j
Rule of Df
a1..an(j)(p→q)&(q→p)
:
a1..an(k)p↔qj Df
 
__or__
 
a1..an(j)p↔q
:
a1..an(k)(p→q)&(q→p)j Df
Rule of EFQ
a1..an(j)⊥
:
a1..an(k)pj EFQ
[+] Rules for Quantificational Logic

Rule of ∀I
a1..an(j)φt
:
a1..an(k)(Av)φvj ∀I
where t is not in any of the formulae on lines a1..an and φv is obtained from φt by replacing every occurrence of t in φt with v, a variable not already in φt.
Rule of ∀E
a1..an(j)(∀v)φv
:
a1..an(k)φtj ∀E
where φt is obtained from φv by replacing every occurrence of v in φv with t.
Rule of ∃I
a1..an(j)φt
:
a1..an(k)(∀v)φvj ∃I
where φv is obtained from φt by replacing at least one occurrence of t in φt with v, a variable not already in φt.
Rule of ∃E
a1..an(i)(∃v)φv
:
j(j)φtAssumption
:
b1..bu(k)ψ
:
X(m)ψi,j,k ∃E
Where X = {a1..an}U{b1..bn}/j and t is not in (i) (∃v)φv, (ii) ψ, or (iii) any of the formulae at lines b1..bu other than j
Rule of =I
(j)t=t=I
where t is any individual constant
Rule of =E
a1..an(j)t1=t2
:
b1..bu(k)φt1
:
a1..an,b1..bu(m)φt2j,k =E
where φt2 is obtained from φt1 by replacing at least one occurrence of t1 in φt1 with t2.


(C) 2014, Michael Rieppel