Questions tagged [first-order-logic]

First-order logic is a formal logical system used in mathematics, philosophy, linguistics, and computer science.

Link to wolfram:

The set of terms of first-order logic (also known as first-order predicate calculus) is defined by the following rules:

  1. A variable is a term.

  2. If f is an n-place function symbol (with n>=0) and t_1, ..., t_n are terms, then f(t_1,...,t_n) is a term.

181 questions
30
votes
5 answers

Predicate vs Functions in First order logic

I have been so confused lately regarding difference between predicate and function in first order logic. My understanding so far is, Predicate is to show a comparison or showing a relation between two objects such as, President(Obama,…
TeaCupApp
  • 11,316
  • 18
  • 70
  • 150
26
votes
2 answers

Predicate Logic in Haskell

I've been using the following data structure for the representation of propositional logic in Haskell: data Prop = Pred String | Not Prop | And Prop Prop | Or Prop Prop | Impl Prop Prop | Equiv Prop Prop …
wen
  • 3,782
  • 9
  • 34
  • 54
18
votes
2 answers

When to use conjunction and when to use implication? (First Order Logic)

I'm learning First Order Logic at the moment. I'm looking at this example: Some dogs bark ∃x (dog(X) Λ bark(x)) All dogs have four legs ∀x (dog(x) -> have_four_legs(x)) My question is: is it possible for the second example to be: ∀x (dog(x) Λ…
ninjaneer
  • 6,951
  • 8
  • 60
  • 104
13
votes
2 answers

What is supported in First Order Logics which is not supported in Description Logic?

While studying description logics (DL), it is very common to read that it is a fragment of first order logics (FOL), but it is hard to read something explicitely on what is excluded from DL which is part of FOL, which makes DL (with all its dialects…
user3590127
  • 131
  • 1
  • 4
12
votes
1 answer

How can a coq Set or Type be a proposition

I'm reading a tutorial on Coq. It constructs a bool type as follows: Coq < Inductive bool : Set := true | false. bool is defined bool_rect is defined bool_ind is defined bool_rec is defined Then it shows what each of these things are using…
dspyz
  • 5,280
  • 2
  • 25
  • 63
9
votes
0 answers

Which First Order theorem provers are guaranteed to halt on monadic inputs?

Monadic First Order Logic, where all predicates take exactly one argument, is a known decidable fragment of first order logic. Testing whether a formula is satisfiable in this logic is decidable, and there exist resolution-based methods for deciding…
jmite
  • 8,171
  • 6
  • 40
  • 81
8
votes
2 answers

Describe a film (entity and attribute) using the first order logic

Good morning, I want to understand how can I describe something using the first order logic. For example I want to describe what is a film (an entity) and what is an attribute (for example actor: Clooney) for the film. How can I describe that using…
Usi Usi
  • 2,967
  • 5
  • 38
  • 69
8
votes
1 answer

What benefit does types bring in logic programming languages like Mercury?

I've starting looking at the Mercury language, which seems very interesting. I'm a new to logic programming, but pretty experienced with functional programming in Scala and Haskell. One thing I've been pondering is why you need types in logic…
Jesper Nordenberg
  • 2,104
  • 11
  • 15
8
votes
1 answer

Difference between Propositional logic and First Order logic

Can you tell me what is the difference between Propositional logic and First Order logic.This is one my my exam question in AI can you help me to do that
user2771059
  • 298
  • 1
  • 4
  • 12
6
votes
2 answers

Reporting *why* a query failed in Prolog in a systematic way

I'm looking for an approach, pattern, or built-in feature in Prolog that I can use to return why a set of predicates failed, at least as far as the predicates in the database are concerned. I'm trying to be able to say more than "That is false" when…
Eric Zinda
  • 787
  • 7
  • 15
5
votes
2 answers

Solving predicate calculus problems with Z3 SMT

I'd like to use Z3 to solve problems that are most naturally expressed in terms of atoms (symbols), sets, predicates, and first order logic. For example (in pseudocode): A = {a1, a2, a3, ...} # A is a set B = {b1, b2, b3...} C = {c1, c2,…
SRobertJames
  • 8,210
  • 14
  • 60
  • 107
5
votes
0 answers

Clause subsumption algorithm

An important part of automated theorem proving is cutting down redundancy by figuring out when one clause subsumes another. Intuitively, a clause (first-order logic formula in CNF) C subsumes another clause D when it is at least as general. The…
rwallace
  • 31,405
  • 40
  • 123
  • 242
5
votes
1 answer

Converting first-order logic to CNF without exponential blowup

When attempting to solve logic problems on a computer, it is usual to first convert them to CNF, because the best solving algorithms expect CNF as input. For propositional logic, the textbook rules for this conversion are simple, but if you apply…
rwallace
  • 31,405
  • 40
  • 123
  • 242
5
votes
2 answers

First Order Logic for a complete newbie (book recommendations)?

I signed up for a class that I shouldn't have. So now I'm slightly screwed because I don't understand any of the notation used when my professor was explaining first order logic. I need some book suggestions as to how to re-learn all of these…
ninjaneer
  • 6,951
  • 8
  • 60
  • 104
5
votes
2 answers

Exactly what quantifiers is SMT complete for?

I've been looking at various SMT solvers, mainly Z3, CVC4, and VeriT. They all have vague descriptions of their ability to solve SMT problems with quantifiers. Their documentation is primarily example based (Z3), or consists of academic papers,…
jmite
  • 8,171
  • 6
  • 40
  • 81
1
2 3
12 13