# List of PLN Rules

From OpenCog

A list of PLN rules.

### Summary of PLN formulas

- Independence Based Deduction Formula
- Concept Geometry Based Deduction Formula
- Inversion Formula
- Induction Formula
- Abduction Formula
- Modus Ponens Formula
- Precise Modus Ponens Formula
- Symmetric Modus Ponens Formula
- Term Probability Formula
- Transitive Similarity Formula
- Inheritance Formula
- Not Formula
- And Formula
- And Exclusion Formula
- Or Formula
- BinaryOr Formula
- AndPartition Formula
- Ext2IntInh Formula
- TwoInheritanceToSimilarity Formula
- OneInheritanceToSimilarity Formula
- SimilarityToInheritance Formula

### Rules enabled by default

These are the PLN Rules enabled by default (i.e. in the DefaultVariableRuleProvider).

- LookupRule (simply looks up the value in the atomspace)
- CustomCrispUnificationRule (one is added for each ForAll link when the RuleProvider is created)
- ORRule
- SimpleAndRule (for 1, 2 or 3 arguments)
- ANDPartitionRule
- NotEvaluatorRule
- ScholemFunctionProductionRule
- SubsetEvalRule
- FORALLRule
- StrictImplicationBreakdownRule (aka ModusPonensRule)
- DeductionRule (for ImplicationLink and InheritanceLink; using DeductionSimpleFormula
- InversionRule (on InheritanceLink)
- CrispTheoremRule

These ones are implemented using the generic Link2LinkRule:

- Int2ExtRule (from ImplicationLink => MixedImplicationLink, and from InheritanceLink to ExtensionalInheritanceLink)
- Ext2IntRule (from ExtensionalImplicationLink to MixedImplicationLink, and from ExtensionalInheritanceLink to InheritanceLink

## Additional Rules

There are rules for temporal reasoning, in the old python PLN, that need porting to the new URE based PLN, see Spatial_and_Temporal_Inference_Rules

There are also rules for epistemic reasoning, that need further testing and integration, see Epistemic PLN