Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Many Sorted First-order Logic Student: Liuxing Kan Instructor: William Farmer Dept. of Computing and Software McMaster University, Hamilton, CA Contents • • • • • • • • • Introduction: What is many sorted FOL Syntax: Languages of many sorted FOL Syntax: Terms and Formulas of many sorted FOL Example of Many-sorted FOL Semantics Semantics of many sorted FOL Proof Theory of Many-sorted FOL The completeness of many-sorted logic Reduction many-sorted logic to one-sorted logic Reference Introduction: what is many-sorted FOL • Sometimes people want to express properties of structures of different sorts (types). There are plenty of examples of subjects where the semantics of formulas are manysorted structures. For instance, in geometry, to take a simple and ancient example, we use universes of pointes, lines, angles, triangles, rectangles, polygons, etc. • By adding to the formalism of first-order logic the notion of sort, we can obtain a flexible and convenient logic called many-sorted first order logic, which has the same properties as first order logic. • In contrast to FOL, in many-sorted FOL, the arguments of function and predicate symbols may have different sorts, and constant and function symbols also have some sorts. • Uses of many-sorted logic: abstract data types, semantics and program verification, definition of programming languages, algebras for logic, databases, dynamic logic, semantics of natural languages, computer-aided problem solving, knowledge representation of design, logic programming and automated deduction. Syntax: Languages of many sorted FOL • In contrast to standard first-order languages, in many-sorted first order languages, the argument of function and predicate symbols may have different sorts, and constant and function symbols also have some sort. Technically, this means that a many-sorted alphabet is a many-sorted ranked alphabet. (An S-ranked alphabet is pair(Σ,r) consisting of a set Σ together with a function r: Σ→S*×S assigning a rank (u, s) to each symbol f in Σ ) • Alphabet of many-sorted first order language: - S U {bool} of sorts containing the special sort bool - Connectives: Λ,ν,→,↔, all of rank (bool.bool, bool), ¬(not) of rank (bool, bool), ┴(of rank (e, bool)); - Quantifiers: ∀ , ∃ , each of rank (bool, bool); - Variables: a countable set Vs={X0,X1,X2…}, each variable Xi being of rank (e,s). - Auxiliary symbols: “(” and “)” - Equality symbol ≒, of rank (ss, bool) Syntax: Languages of many sorted FOL • A (S U {bool})-ranked alphabet L of nonlogical symbols consisting of: - FS: function symbols, FS→S+×S, assigning a pair r(f)=(u,s) called rank to every function symbol f. The string u is called the arity of f, and the symbol s is the sort of f. - CSs: constants, For every sort s∈S, a set CSs of symbols c0,c1,…, each of rank (e,s). The family of sets CSs is denoted by CS - PS: predicate symbols, A set PS of symbols P0,P1,…,and a rank function r:PS→S+×{bool}, assigning a pair r(P)=(u,bool) called rank to each predicate symbol P. The string u is called the arity of P. If u=e, P is a propositional letter. • It is assumed that the sets Vs, FS, CSs, and PS are disjoint for all s∈S. We will refer to a many-sorted first order language with set of nonlogical symbols L as the language L. Many-sorted first order languages obtained by omitting the equality symbol are referred to as many-sorted first order languages without equality. Syntax: Terms and Formulas of M-S FOL • Let L=(CS,FS,PS) be a language of many sorted FOL • Terms atomic formulas of L are defined as follows: - Each constant and each variable of sort sis a term of L. - If t1,…,tn are terms, each ti of sort ui, and f is function symbol of rank (u1…un,s), then ft1…tn is a term of sort s - Each propositional letter is an atomic formula. - If t1,…,tn are terms, each ti of sort ui, and P is a predicate symbol of arity u1…un, then Pt1…tn is an atomic formula: • Formulas are defined as follows: - Every atomic formula is a formula - For any two formula A and B, (AΛB), (AνB), (A →B), (A↔B ), ¬A are also formula - For any variable xi of sort s and any formula A, ∀sxiA and ∃sxiA are also formulas Example of Many-sorted FOL • Let L be following many-sorted first order language for stacks, where S={stack, integer}, CSinterger={0}, CSstack={Λ}, FS={Succ, +, *, push, pop, top}, and PS={<} The rank functions are given by: - r(succ)=(integer, integer); - r(+)=r(*)=(integer.integer, integer); - r(push)=(stack.integer, stack); - r(pop)=(stack, stack); - r(top)=(stack, integer); - r(<)=(integer.integer, bool); Then, the following are terms: Succ 0 top push Λ Succ 0 The following are formulas: < 0 Succ 0 ∀integerx ∀stacky≒stack pop push y x y Semantics of many sorted FOL • • Many-sorted first order structures - First, let define many-sorted Σ-algebra A is a pair <A,I>, where A=(As)s∈S is an Sindexed family of nonempty sets, each As being called a carrier of sort s, and I is an interpretation function assigning functions to the function symbols. - Give a many-sorted first order language L, a many-sorted L-structure M is a manysorted L-algebra, such that the carrier of sort bool is the set BOOL={T,F} Semantics of formulas Given a many-sorted L-structure M and an assignment v: V→M, the function tM: [V→M]→Ms defined by a term t of sort s is the function such that for every assignments v in [V→M], the value tM[v] is defined recursively as follows: 1. For a variable x of sort s, xM[v]=vs(x) 2. For a constant c, cM[v]= cM 3. Let t=f(t1…tn), then (ft1…tn)M[v]=fM((t1)M[v],…(tn)M[v]) 4. Let A=P(t1…tn), then (Pt1…tn)M[v]=PM((t1)M[v],…(tn)M[v]) 5. If (t1)M[v]=(t2)M[v] then (≒st1t2)M[v]=T otherwise F 6. Let * denotes {Λ, ν→, ↔}, then (A*B)M=*M(AM,BM) 7. (∀xi:sA)M[v]=T iff AM[v[xi:=m]]=T, for all m∈Ms and (∃ xi:sA)M[v]=T iff AM[v[xi:=m]]=T, for some m∈Ms Proof Theory of Many-sorted FOL • • Gentzen System G for Many-sorted Languages Without Equality Gentzen System G= for languages With Equality The completeness of many-sorted logic • • There are two degrees of completeness: Weak completeness: Each validity is a theorem. That is, |=Φimplies |-Φ for every formula Φ. Strong completeness: Every consequence of a set of formulas is also derivable from it. That is, for every set of formulas Γ and formulas Φ , when every Γ|=Φ then also Φ can be deduced from Γ. Henkin’s theorem: Γ consistent → Γ has a model. Reduction to one-sorted logic • There is translation of many-sorted logic into one-sorted logic. Such a translation is described in Enderton, 1972, and you can read it for details. The essential idea to convert a many-sorted language L in to a one-sorted language L is to add domain predicate symbols Ds, one for each sort, and to modify quantified formulas recursively as follows: Every formula A of the form ∀x : sB (or ∃: sB) is converted to the formula A’ = ∀ x(Ds(x)→B’ ), where B’ is the result of converting B Reference • • Many-Sorted Logic And its Applications, K.Meinke and J.V.Tucker Logic for Computer Science: Foundations of Automatic Theorem Proving, Jean Gallier