Logic and Proof 2
Conjunctive NF
Push ∨ in, Simplify
Deducible
S ⊢ A, if there is a finite proof of A starting from elements of S
Entails
S ⊨ A: every interpretation satisfying S, satisfies A A ⊨ B if ⊨I A then ⊨I B for every I A ⊨ B iff ⊨ A → B
Modal Operators (W, R)
is a modal frame where W set of possible worlds & R: accessibility relation
⊨ A
means A is universally valid
⊨w,R A
means w ⊨ A for all w & all I
Resolution Heuristics
orderings to focus search, subsumption or deleting redundant clauses, indexing with elaborate data structures for speed, pre-processing to remove tautologies, symmetries, weighting to give priority to some clauses over those containing unwanted constants
If θ unifies t & u
then so does θ ◦ σ, t(θ ◦ σ) = tθσ = uθσ = u(θ ◦ σ)
w ⊨ A ∧ B <=>
w ⊨ A & w⊨ B,
w ⊨ □A <=>
v ⊨ A for all v s.t. R(w,v),
w ⊨◇A <=>
v ⊨ A for some v s.t. R(w,v)
Semantics of Propositional Modal Logic
w ⊨ A means A is true in word w, w ⊨ P <=> w ∈ I[P],
Free-variable Tableau Calculus
∀l inserts a new free variable, updates across entire proof tree, unification instantiates any free variable, don't use ∃l, skolemize instead. Algo: Negate, NNF, push ∃,∀ in, skolemise, apply, unify
□ A
A is necessarily true in all accessible worlds
◇A
A is possibly true in all accessible worlds
To convert BDDs Z = (P, X, Y) and Z' = (P', X', Y')
If P = P′ then convert (P, X ∧ X', Y ∧ Y') If P < P' then convert (P, X ∧ Z', Y ∧ Z') If P > P' then convert (P', Z ∧ X', Z ∧ Y')
Deduction Theorem
If S ∪ {A} ⊢ B then S ⊢ A → B
Soundness Theorem
If S ⊢ A then S ⊨ A.
Completeness Theorem
If S ⊨ A then S ⊢ A.
Negation NF
Remove →, Push ¬ in using DM Laws
Skolemization
Start with formula ∀x1...∀xk ∃y A. Choose a fresh k-place function symbol, say f. Delete ∃y and sub f for y: ∀x1...∀xk A[f(x1...xk)/y], repeat for all ∃ qualifiers
Herbrand's Theorem
unsatisfiable S <=> there is a finite unsatisfiable set S' of ground instances of clauses of S
K
pure modal logic
Quantifiers
universal ∀ and existential ∃
¬(∀x A)
≃ ∃x¬A
¬◇A
≃ □¬A ie. A cannot be true A must be false
Satisfies
⊨I A, with interpretation I, A evaluates to t Valid (tautology): ⊨ A, all interpretations satisfy A
T
□A → A (reflexive)
S4
□A→ □□A (transitive)
Sequent Calculus
A1,...,Am => B1,...,Bn means if A1 ∧ ... ∧ Am then B1 ∨ ... ∨ Bn, Ai are assumptions, Bi are goals
Modus Ponens
(A → B A) || B
Resolution Rule
({B,A₁,...,Am } {¬B,C₁,...,Cn}) || {A₁,...,Am,C₁,...,Cn }
Binary Resolution Rule
({B,A₁,...,Am } {¬D,C₁,...,Cn}) || {A₁,...,Am,C₁,...,Cn }σ provided Bσ=Dσ, σ is most general unfier of B and D
Paramodulation Rule
({B[t'],A₁,...,Am }{t=u,C₁,...,Cn}) || {B[u],A₁,...,Am,C₁,...,Cn }σ provided tσ = t'σ
Implication
A → B ≃ ¬A ∨ B A ↔ B ≃ (A → B) ∧ (B → A) ¬(A → B) ≃ A ∧ ¬B
S5
A → □◇A (symmetric)
Distributive Law
A ∨ (B ∧ C) ≃ (A ∨ B) ∧ (A ∨ C)
Equivalence
A ≃ B iff A ⊨ B and B ⊨ A A ≃ B iff ⊨ A ↔ B
Bound
All occurrences of x in ∀x A and ∃x A; Free if not bound Sub A[t/x]: sub t for x in A, t must be free in A
Prenex NF
Convert to NNF, Move quantifiers to front
Herbrand Universe
H₀ ≝ set of constants in S (non-empty) Hi+1 ≝ Hi ∪ {f(t1,..., tn) | t1,..., tn ∈ Hi, f is in S}. H ≝∪ Hi, i ≥ 0 H consists of terms in S that contain no variables (ground terms) Hi contains terms with ≤ i nested function apps.
Valuation
V variables → D, supplies values to free variables. IV[x] = V(x), IV[c] = I[c], IV[f(t1,...,tn)] = I[f](Iv[t1],...,IV[tn])
The Saturation Algorithm
all clauses start passive. Transfer a current clause to active, Form all resolvents between current & an active clause, Use new clauses to simplify both passive & active, Put new clauses into passive, Repeat.
Function Symbol
each symbol represents n-place function, constant is 0-place function symbol, variable ranges over all individuals, term is a variable, constant or function application f(t1,...,tn) where ti are terms
Relation Symbol
each symbol represents n-place relation, equality is 2 place relation =, atomic formula R(t1,...,tn) n-place relation with a formula built up from atomic formulae using ¬, ∧, ∨
Herbrand Model
every constant stands for itself, every function symbol stands for a term-forming operation, f denotes the function that puts 'f' in front of the given arguments.
Binary Decision Diagrams
canonical form for boolean expressions, decision trees with sharing, detects tautologies and exhibits models. Solid line if true, dashed if false, no duplicates & no redundant tests. To Build: Recursively convert operands to BDDs. Combine operand BDDs, respecting ordering & sharing. Delete redundant variable tests.
Davis-Putnam-Logeman-Loveland Method
decision procedure which finds a contradiction or model: Delete tautological clauses {P,¬P, . . .}. For each unit clause {L}: delete all clauses containing L & delete ¬L from all clauses. Delete all clauses containing pure literals. Perform a case split on some literal. STOP if a model is found
First-order Language Semantics
defined by interpretation I = (D,I), D is non-empty domain/universe, I maps symbols to elements, functions & relations. I[c] ∈ D, I[f] ∈ Dn → D, I[P] ∈ Dn → {t,f}
Herbrand Interpretation
defines n-place predicate P to denote a truth-valued function in Hn → {t,f} making P(t1,...,tn) true iff formula holds in our interpretation of clauses. Unsatisfiable S no Herbrand interpretation satisfies S
Simplification
delete disjunctions of P & ¬P, those that includes another (P ∨ Q) ∧ P ≃ P, (P ∨ A) ∧ (¬P ∨ A) ≃ A
Clause Form
disjunction of literals with empty clause {} equivalent to f meaning contradiction
θ is a unifier of terms t and u
if tθ = uθ.
θ is more general than φ
if φ = θ ◦ σ for some sub σ.
θ is most general
if more general than every unifier
Interpretation
maps variables to real objects, function from propositional letters to {t,f},
⊨w,R,I A
means w ⊨ A for all w in W
Unification Algo
represent terms by binary trees, each term is a variable/constant/pair. Constants do not unify with different constants or pairs, variable x & term t, unifier is [t/x] unless x occurs in t. θ ◦ θ' unifies (t,t') with (u,u') if θ unifies t with u and θ' unifies t'θ with u'θ
Consistent (satisfiable)
some interpretation satisfies all elements, else Inconsistent (Unsatisfiable)
Clause Form Proof
to prove A, translate ¬A into CNF as A1 ∧ • • • ∧ Am, transform the clause set, preserving consistency, deducing {} refutes ¬A, proving A, an empty clause set (all clauses deleted) means ¬A is satisfiable
Tableau Calculus
work in NNF, fewer connectives: ∧, ∨, ∀, ∃, (□,◇), sequents only need one side, eg left:
Factoring Rule
{B₁,...,Bk,A₁,...,Am }/{B₁,A₁,...,Am }σ provided B₁ σ=⋯=Bk σ
Conversion to Clauses
{P(x)} means ∀x P(x)
De Morgan's Laws
¬¬A ≃ A ¬(A ∧ B) ≃ ¬A ∨ ¬B ¬(A ∨ B) ≃ ¬A ∧ ¬B
◇A ≝
¬□¬A
(∀x A) ∧ (∀x B)
≃ ∀x(A ∧ B)
¬(∃x A)
≃ ∀x¬A