First Order Logic Calculator

Check quantified formulas with custom domains and predicates. Compare universal, existential, implication, and biconditional outcomes. Review truth values, free variables, and evaluation traces fast.

Calculator Input

Use forall x, exists x, !, &, |, ->, and <->.
Separate objects with commas, semicolons, or new lines.
Example: s = Socrates.
Optional. Example: x = Socrates.
Unary example: Human: Socrates, Plato. Binary example: Parent: John|Mary; Mary|Sam.

Example Data Table

Formula Domain Predicate Facts Expected Result
forall x (Human(x) -> Mortal(x)) Socrates, Plato, Aristotle Human has all three. Mortal lacks Aristotle. False
exists x (Human(x) & Mortal(x)) Socrates, Plato, Aristotle Socrates and Plato match both predicates. True
s = Socrates Socrates, Plato Constant s maps to Socrates. True

Formula Used

The calculator uses model checking semantics for first order logic. A model is treated as M = (D, I). D is the domain. I is the interpretation of constants and predicates.

Universal quantification follows this rule: M, g ⊨ ∀x φ when φ is true for every object assigned to x. Existential quantification follows this rule: M, g ⊨ ∃x φ when φ is true for at least one object assigned to x.

Negation reverses truth. Conjunction requires both sides. Disjunction requires at least one side. Implication is false only when the left side is true and the right side is false. Biconditional is true when both sides share the same truth value.

How to Use This Calculator

  1. Enter a first order logic formula in the formula field.
  2. Add every object in the domain field.
  3. Map constants when the formula uses names like s or a.
  4. Add predicate facts using one predicate per line.
  5. Add optional free variable assignments when needed.
  6. Set trace and quantifier limits for larger models.
  7. Press the calculate button to see the truth value.
  8. Use CSV or PDF buttons to save the result.

Understanding First Order Logic Calculation

Model Checking Basics

First order logic studies statements about objects. It also studies relations between those objects. A calculator cannot prove every possible statement by magic. It needs a model. The model gives a fixed domain. It also gives predicate facts. The calculator then checks the formula against that model. This makes the result clear and repeatable.

Why Quantifiers Matter

Quantifiers are the main feature of first order logic. A universal quantifier checks every object. An existential quantifier searches for at least one match. This difference is important. One missing object can break a universal claim. One matching object can satisfy an existential claim. The trace helps reveal this behavior.

Predicates and Facts

Predicates describe properties and relations. A unary predicate may say that Socrates is human. A binary predicate may say that John is parent of Mary. Each listed fact is treated as true. Missing facts are treated as false. This is a closed fact table approach. It is useful for lessons and quick model checks.

Using Results Carefully

The final result depends on the domain and facts. Changing one fact can change the truth value. Larger domains create more assignments. Nested quantifiers can grow quickly. The calculator includes limits for safety. Use small models for learning. Use the export options for reports. Keep formulas simple when explaining results to students.

Common Syntax Choices

The page accepts plain text operators. This makes formulas easy to type. You can use implication and biconditional symbols. You can also use readable words. Parentheses are strongly recommended. They reduce ambiguity. Clear syntax gives better traces. Better traces make logic errors easier to find.

FAQs

1. What does this calculator evaluate?

It evaluates first order logic formulas against a finite model. The model includes domain objects, constants, and predicate facts.

2. Which quantifiers are supported?

It supports universal and existential quantifiers. You can write them as forall, exists, ∀, or ∃.

3. How are missing predicate facts handled?

Missing predicate facts are treated as false. Listed facts are treated as true within the current model.

4. Can I use binary predicates?

Yes. Enter binary facts like Parent: John|Mary; Mary|Sam. Use the same predicate name in the formula.

5. Does the calculator prove logical validity?

It checks truth in the supplied model. Logical validity across all possible models is a separate proof task.

6. Why should I use parentheses?

Parentheses make operator order clear. They also help avoid errors in implication, conjunction, and disjunction expressions.

7. What are free variables?

Free variables are variables not controlled by a quantifier. The calculator can test sampled assignments for them.

8. Can I export the result?

Yes. Use the CSV button for spreadsheet data. Use the PDF button for a printable summary.

Related Calculators

Paver Sand Bedding Calculator (depth-based)Paver Edge Restraint Length & Cost CalculatorPaver Sealer Quantity & Cost CalculatorExcavation Hauling Loads Calculator (truck loads)Soil Disposal Fee CalculatorSite Leveling Cost CalculatorCompaction Passes Time & Cost CalculatorPlate Compactor Rental Cost CalculatorGravel Volume Calculator (yards/tons)Gravel Weight Calculator (by material type)

Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.