Server-side processing accepts both infix notation (Peano-Russell notation) and Polish notation (prefix notation). The server itself recognizes which notation you are using. If you are not familiar with different notations, you should use infix notation. This is the system you are used from mathematical formulae of daily life.
Infix Notation
- Propositional variables are upper-case letters, i.e. "A"…"Z", with the exception of "T", "W" and "F". If these twenty-three propositional variables do not suffice, you may use them in combination with an arbitrary natural number as an index, e.g. "P1", "Z24" or "A12".
- Constants indicate constant truth or falsehood. Truth is indicated by either "T", "true", "W", "wahr" (the German word for "true"), "V" or "verum" (the Latin word). Falsehood is indicated by either "F", "false" or "falsch"
- The negation may be expressed by one of the strings "¬", "~", "-", "not", leading to propositions like "~P1", "-Z24" or "not A12".
- The conjunction may be expressed by one of the strings "∧", "&", "^", "and", leading to propositions like "~P1 & Z10", "-(~P1 & Z10) ^ -A" or "-~-A and B".
- The disjunction may be expressed by one of the strings "∨", "v" (the lower-case letter v), "|", "or", leading to propositions like "~P1 v Z10", "-(~P1 & Z10) | -A" or "-~-A or B".
- The conditional may be expressed by one of the strings "→", "->", "=>", leading to propositions like "~P1 -> Z10" or "-(~P1 & Z10) => -A".
- The biconditional may be expressed by one of the strings "↔", "<->", "<=>", "iff", leading to propositions like "~P1 <-> Z10", "-(~P1 & Z10) <=> -A" or "-~-A iff B".
- Brackets, "(" and ")", may be used as needed. Every open bracket must be matched by a closed bracket. Examples: "(P v Q) & R", "P & (Q v R)", "(P v Q) & (Q v R)".
- You may omit brackets in which case the server evaluates (from left to right) negations, conjunctions, disjunctions, conditionals and biconditionals. If you are unsure what this means or if you want to be in total control of everything, you should try to use brackets.
- You should type a space character in front of and after every connective. If you don't, it is much harder for the server to parse your input. In this case the heuristics may sometimes misunderstand your input when you are using the lower-case letter "v" for expressing a disjunction.
Examples:
- P->Q
- P->(Q->R)->(P->Q->(P->R))
- P & Q -> R
- P v Q <-> S
- (P & Q) -> R <-> P -> (Q->R)
- ~P -> ~Q
Polish Notation
- Propositional variables are the lower-case letters, "a"…"z" with the exception of "v" (which here denotes infix disjunction). If these do not suffice, you may use them in combination with an arbitrary natural number as an index, e.g. "p1", "z24" or "a12".
- A negation is expressed by the upper-case letter "N" followed by the proposition to be negated. Examples: "Np1", "Nz24", "Na12"
- A conjunction is expressed by the upper-case letter "K" followed by the first and the second conjunct (in this oder). Examples: "Kpq", "KKpqr", "KpKqr"
- A disjunction is expressed by the upper-case letter "A" followed by the first and the second disjunct. Examples: "Apq", "AKpqr", "ApKqr"
- A conditional is expressed by the upper-case letter "C" followed by the antecedent and the consequent (in this oder). Examples: "Cpq", "CCpCqrCCpqCpr"
- A biconditional is expressed by the upper-case letter "E" followed by the propositions whose equivalence is to be expressed. Examples: "Epq", "ECpqCNqNp"
Examples:
- Cpq
- CCpCqrCCpqCpr
- CKpqr
- EApqs
- ECKpqrCpCqr
- CNpNq