
An Inference Engine using Propositional Calculus
Table of Contents
System Information
Definition Index
-
LISP-INFERENCE
- INFERENCE
No documentation provided.-
EXTERNAL SPECIAL-VARIABLE *MAX-PROPOSITIONS*
Max number of propositions to generate truth table, more than this will generate a program-error.
-
EXTERNAL SPECIAL-VARIABLE *OUTPUT-STREAM*
Default stream to write the results
-
EXTERNAL SPECIAL-VARIABLE *VALID-OPERATORS*
No documentation provided. -
EXTERNAL FUNCTION ->
- P
- Q
Notation alias for conditional
-
EXTERNAL FUNCTION <->
- P
- Q
Notation alias for biconditional
-
EXTERNAL FUNCTION <=>
- P
- Q
Biconditional binary operator
-
EXTERNAL FUNCTION =>
- P
- Q
Conditional binary operator
-
EXTERNAL FUNCTION ABSORPTION
- EXP
Absorption inference rule :: (=> p q) => (=> p (^ p q))
-
EXTERNAL FUNCTION ADDITION
- EXP
- P
Addition in inference rule :: p => (v p q)
-
EXTERNAL FUNCTION BICONDITIONALP
- EXP
Verify if the expression is a biconditional
-
EXTERNAL FUNCTION BINARY-OPERATIONP
- EXP
No documentation provided. -
EXTERNAL FUNCTION CONJUNCTION
- EXP
- P
Conjunction inference rule :: p => (^ p q)
-
EXTERNAL FUNCTION CONJUNCTIONP
- EXP
Verify if the expression is a conjunction
-
EXTERNAL FUNCTION DE-MORGAN
- EXP
De Morgan equivalence rule :: (~ (^ p q)) <=> (v (~ p) (~ q)) (^ p q) <=> (~ (v (~ p) (~ q))) (~ (v p q)) <=> (^ (~ p) (~ q)) (v p q) <=> (~ (^ (~ p) (~ q)))
-
EXTERNAL FUNCTION DISJUNCTIONP
- EXP
Verify if the expression is a disjunction
-
EXTERNAL FUNCTION DOUBLE-NEGATION
- EXP
Double negation equivalence rule :: (~ (~ p)) <=> p
-
EXTERNAL FUNCTION EQUAL-EXPRESSION
- EXP1
- EXP2
Check if the two expressions have the same truth tables. The result is the same as check if (exp1 <=> exp2) results in a tautology.
-
EXTERNAL FUNCTION EVAL-EXPRESSION
- EXP
Return the boolean values of EXP Ex.: (eval-expression (=> p q)) 'TFTT'
-
EXTERNAL FUNCTION IMPLICATION
- EXP
Implication equivalence :: (=> p q) <=> (v (~ p) q)
-
EXTERNAL FUNCTION IMPLICATIONP
- EXP
Verify if the expression is an implication
-
EXTERNAL FUNCTION INFIX-TO-PREFIX
- EXP
INFIX-TO-PREFIX translate a infix expression to a prefix expression. This function assumes that exp it is not ambiguous. In that case, use a completly 'parenthesed' expression Returns a new prefixed list.
-
EXTERNAL FUNCTION MAIN
No documentation provided. -
EXTERNAL FUNCTION MAKE-BICONDITIONAL
- P
- Q
No documentation provided. -
EXTERNAL FUNCTION MAKE-CONJUNCTION
- P
- Q
No documentation provided. -
EXTERNAL FUNCTION MAKE-DISJUNCTION
- P
- Q
No documentation provided. -
EXTERNAL FUNCTION MAKE-IMPLICATION
- P
- Q
No documentation provided. -
EXTERNAL FUNCTION MAKE-NEGATION
- P
No documentation provided. -
EXTERNAL FUNCTION MODUS-PONENS
- EXP
Modus Ponens inference rule :: (^ (=> p q) p) => q
-
EXTERNAL FUNCTION MODUS-TOLLENS
- EXP
Modus Tollens inference rule :: (^ (=> p q) (~ p)) => (~ q)
-
EXTERNAL FUNCTION NEGATIONP
- EXP
Verify if the expression is a negation
-
EXTERNAL FUNCTION OPERATIONP
- EXP
- OP
Based a 'op that can be a symbol, verify if the list can be a operation of 'op
-
EXTERNAL FUNCTION PARSE-LOGIC
- INPUT
PARSE-LOGIC receive a INPUT as string and use a pratt parser to convert in infix notation
-
EXTERNAL FUNCTION PREFIX-TO-INFIX
- EXP
No documentation provided. -
EXTERNAL FUNCTION PRINT-TRUTH-TABLE
- EXP
Given a EXP with prefixed notation generate a pretty truth-table for each grouped case.
-
EXTERNAL FUNCTION PROPOSITIONP
- SYMBOL
Check if the given SYMBOL can be a proposition (letters)
-
EXTERNAL FUNCTION SIMPLIFICATION-FIRST
- EXP
Simplification with first operand rule :: (^ p q) => p
-
EXTERNAL FUNCTION SIMPLIFICATION-SECOND
- EXP
Simplification with second operand rule :: (^ p q) => q
-
EXTERNAL FUNCTION SYLLOGISM-DISJUNCTIVE
- EXP
Syllogism Disjunctive inference rule :: (^ (v p q) (~ p)) => q
-
EXTERNAL FUNCTION SYLLOGISM-HYPOTHETICAL
- EXP
Syllogism Hypothetical inference rule :: (^ (=> x y) (=> y z)) => (=> x z) (^ (=> y z) (=> x y)) => (=> x z)
-
EXTERNAL FUNCTION UNARY-OPERATIONP
- EXP
No documentation provided. -
EXTERNAL FUNCTION V
- P
- Q
Disjunction binary operator
-
EXTERNAL FUNCTION VALID-OPERATIONP
- EXP
No documentation provided. -
EXTERNAL FUNCTION [+]
- P
- Q
XOR operator or exclusive disjunction operator
-
EXTERNAL FUNCTION ^
- P
- Q
Conjuction binary operator
-
EXTERNAL FUNCTION ~
- P
Not unary operator
-
EXTERNAL MACRO TRUTH
- EXP
An easy way to generate a truth table
-
EXTERNAL MACRO TRUTH-INFIX
- &REST
- EXP
An easy and infix way of EXP generate a truth table. Ex.: (truth-infix (p ^ q))