SlideShare a Scribd company logo
Using Common Logic ,[object Object],[object Object],[object Object],Pat Hayes Florida IHMC
John Sowa talked about this side. Now we will look more closely at this side, using the CLIF dialect.
Wild West Syntax (CLIF) Any character string can be a name, and any name can play any syntactic role, and any name can be quantified.  Anything that can be named can also be the value of a function.  All this gives a lot of freedom to say exactly what we want,  and to write axioms which convert between different notational conventions.  It also allows many other 'conventional' notations to be transcribed into CLIF directly and naturally.  It also makes CLIF into a genuine  network logic , because CLIF texts retain their full meaning when transported across a network, archived, or freely combined with other CLIF texts. (Unlike OWL-DL and GOFOL)
Mapping other notations to CLIF.  1. Description Logics Description logics provide ways to define  classes  in terms of other classes,  individuals   and  properties . All  people  who  have  at least two  sons   enlisted  in  the US Navy . <this class> owl:intersectionOf [:Person _:x] _:x rdf:type owl:Restriction _:x owl:minCardinality &quot;2&quot;^^xsd:number _:x owl:onProperty :hasSon _:x owl:toClass _:y _:y rdf:type owl:Restriction _:y owl:hasValue :USNavy _:y owl:onProperty :enlistedIn
Mapping other notations to CLIF.  1. Description Logics Classes  are CL unary relations,  properties  are CL binary relations.  So DL operators are  functions  from relations to other relations. (owl:IntersectionOf Person (owl:minCardinality 2 hasSon (owl:valueIs enlistedIn USNavy))) (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy))) ( (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy)))  Harry) (= 2ServingSons  (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy))) ) (2ServingSons Harry) (NavyPersonClassification 2ServingSons) (BackgroundInfo 2ServingSons  'Classification introduced in 2003 for public relation purposes.')
Mapping other notations to CLIF.  1. Description Logics The  meanings  of these constructions can be axiomatized in CLIF: (forall (x y ...)(iff    ((AND y ...) x)   (and (y x)((AND ...) y))  )) (forall (x)((AND) x)) (forall (x y p)(iff ((VAL p x) y) (p y x) )) (forall (c y p)(iff ((SOMEARE p c) y) (exists (z)(and (p y z)(c z))) )) (forall ((n integer) x p c)(iff ((MIN n p c) x)(exists n (z)(and (p x z)(c z))) )) This is important to ensure semantic coherence, as a reference standard.  Practical reasoners would probably not use these axioms directly.  Typical 'recursion' using  sequence markers. For (lots) more detail, see http://www.ihmc.us/users/phayes/cl/sw2scl.html http://philebus.tamu.edu/cmenzel/Papers/Axioma ticSemantics.pdf
Mapping other notations to CLIF.  1. Description Logics Relatively minor changes to these axioms give CL theories corresponding to the various different description logics, and variants such as OWL-Full, OWL2 (forthcoming) and terHorst's intensional OWL (just use  if  instead of  iff ), as well as RDF and RDFS. One  common syntax  and one  fixed logic  covers all these cases, which can be viewed as a selection of a vocabulary and a &quot;logical ontology&quot;. By reserving a single namespace for each, reasoners can easily recognize sub-cases where efficient decidable DL reasoning can be used.  For interoperability, the key is that these translations all use a single syntax and semantics. The process of creating a new standard is vastly simplified.  All the 'semantic' decisions can be recorded as CL axioms, and checked mechanically.
Several recent standards, notably  Semantics of Business Vocabulary and Rules  (SBVR) are based on modal logics; several ontology frameworks ( OntoClean ) use modal language; and some temporal frameworks use tense-like operators.  There are two approaches to mapping modal languages into CL.  Modal truth (necessity, temporal logic) is handled by introducing 'possible worlds' AKA &quot;contexts&quot;.  Permissions and obligations (as in SBVR) are handled more intuitively by an ontology of actions and events.  Mapping other notations to CLIF.  2. Modal notations
Consider a simple temporal modal/hybrid language, in which sentences are asserted using tenses, as in &quot;it  will rain  in Oaxacala&quot;, and suppose this is 'said' on Sunday 4 May 2008 ( Future  (Precipitation Oaxacala)) CL doesn't have a modal operator (such as  Future ) so we will talk about times explicitly and then  Future  translates to a quantifier : &quot;At some time t later than now, ...&quot;.  Need to know two things: the current time (&quot;now&quot;); and which of our relations and/or names are time-dependent ( Precipitation  is,  Oaxacala  isn't.)  Add a  temporal parameter  to those that are, add the  relationship to  now , then  quantify : ( exists  (( t time ))(and    (later  t   05042008)   (Precipitation Oaxacala  t )  )) OR:  ((Precipitation t) Oaxacala)  OR  (Precipitation (Oaxacala t)) Mapping other notations to CLIF.  2. Modal truth
Mapping other notations to CLIF.  2. Modal truth Some names (role identifiers) are themselves time-dependent: (=  (PresidentUSA  01051999)   WilliamClinton) There are many points of view, debates, etc. about how best to conceptualize things extended in time.  All of these boil down in practice to decisions about  where to put the time parameter .  Some frameworks prohibit role identifiers in certain cases, etc..  As long as the time parameter is placed  somewhere , it is straightforward to translate between conventions which adopt these various restrictions and philosophical rules.  (forall ((t time)(c OBOContinuant) r )(iff  (r c t) (r (( OBO2EPISTLE  c) t)) )) The translation is represented here by a 'conversion function' between the vocabularies. In practice this might be a lookup table relating the names.
Mapping other notations to CLIF.  2. Modal truth Notice, these times are 'pointlike' (perhaps not mathematical points); truth relative to an interval needs to be handled with more care (true  throughout , or true only  somewhere  in the interval?)  The results can be complicated, but the translation is completely mechanical. All last year there was someone guarding the house. (forall ((t time)(if  (in t [last year]) (exists ((i timeInterval)(and  (in t i) (exists ((x Person))(and   (forall ((u time)(if (in u i) (guards x [the house] u) )) ))  ))
Mapping other notations to CLIF.  3. SBVR and actions SBVR rules conditionally permit or prohibit actions and states of affairs:  If a car is rented to a driver then that driver  must  have a valid driver's license.   CL has no notion of  must , but it can describe states of affairs and actions, and  then describe the conditions under which they are classified into 'permitted' or 'forbidden' categories.  If a car is rented to a driver who does not have a valid license, then the rental is a  prohibited transaction .  (forall ((x CarRental))(if (not (ValidLicencedToDrive (driver x))) (ProhibitedTransaction x) )) This translation is semi-mechanical, but the CL version has several advantages, most notably allowing for different kinds of prohibition.  This can be used together with temporal-style language to handle time-dependent business rules.  All the necessary reasoning can be handled within CL.
Wild West Syntax (CLIF) = Eliminating dongles. Any character string can be a name, and any name can play any syntactic role, and any name can be quantified.  Anything that can be named can also be the value of a function.  All this gives a lot of freedom to say exactly what we want,  and to write axioms which convert between different notational conventions.
Dongle vocabulary: terms that carry no meaning, but are there just to make the syntax &quot;look right&quot;. Pat  is  Human Human  is  a biological category ( Human  Pat) (BiologicalCategory  Human ) Pat  rdf:type  Human . ( Instance  Human Pat) ( hasType  Pat Human) ( AppliesTo  Human Pat) isa  Pat Human Pat  a  Human
An Objection But surely there has to be some limit. I mean, dash it all, surely something like this:   ('Pat' c) would be  silly . Character sequences just  aren't the kind of thing that can possibly be  a predicate. Yet in fact, there are at least two very convincing uses for this kind of expression. == RDF typed literals have exactly this form and this semantics.  == In the IKRIS project, we needed 'contextual names' which indicate what a name denotes in a context.  We could have written  ( MeaningInContext  'Pat' c) but this is a classical dongle. It is simpler to just write ('Pat' c) and think of it (if you like) as a name with a subscript:  Pat c  Moral:  If people are using it successfully, it probably makes some kind of sense.
The zero case An 'atomic' sentence (atom) is a relation followed by a  sequence  of arguments: (Human Pat) (timeOrder  (birth Pat) (marriage Pat Jackie) (graduation Pat) (grantedTenure Pat)(brokeCollarBone Pat)  ) and a term is a function followed by a  sequence  of arguments: (Human (fatherOf Pat)) (= (+ 23 457 1219 27) 1926) CLIF argument sequences can be any length, including zero: (timeOrder) (fatherOf) so the question arises, what use are such things? Answer:  whatever use you want them to have .  Some examples...
The zero case Base case for recursive definitions.   Already seen this with AND in description logics, but some more examples:  (forall (x y ...)(iff   ((OR y ...) x)   (or (y x)((OR ...) y))  )) (forall (x)(not ((OR) x) )) Eg ((OR mammal duck) Platypus3)  (or (mammal Platypus3)((OR duck) Platypus3)) (or (mammal Platypus3) (or (duck Platypus3) ((OR) Platypus3) )) (or (mammal Platypus3) (or (duck Platypus3)  False  )) (or (mammal Platypus3) (duck Platypus3)) ----------------- (forall (r)(if  (Predicative r) (and    (forall (x ...)(if (r x ...)(and (r x)(r ...)) )) (r) ) )) Eg (Predicative Human) (Human Pat John Chris Arthur Adam) (forall (x)(if (TypeClassifier x)(Predicative x) )) (Predicative Predicative) (Predicative Human Animal Mineral Vegetable)
The zero case Indirect Names  Already mentioned 'contextual names' (actually, terms with a character string used as a function) such as  ('Pat' c)  ('Pat' (beliefContext Joe)) Interesting idea is to use the zero case to mean the same as the name itself: (=  ('Pat') Pat)  (= Chris ('Chris'))  etc.. This cannot be axiomatized, but it can be treated as a  semantic extension  of CLIF (IKL). Why bother?  Because now we can relate things to their names, and make assertions about the relationship. For example: (forall (R (L nameList))(iff  (closedWorldFor R L) (forall ((y charseq)) (if (R (y))(member y L) )) )) axiomatizes the idea of a 'closed world' supporting  negation as failure , as in Prolog and related systems.  Note, this does  not  require a non-monotonic logic !  If y is a character string, (y) is whatever y is the name of.
The zero case: propositions Propositions  A relation with no arguments gives an atomic sentence with just one name in it: (R) Being a sentence, this has a truth-value, i.e. it is true or false.  In this case, R represents a  proposition , i.e. an  object   with a truth-value .  To fix the truth-conditions for R, just connect it to a longer sentence which expresses them directly: (iff (R) (exists ((x FrenchCitizen)(y IsraeliCitizen))(Married x y)) ) Propositions allow even more translations into CLIF, including all of 'context logic'. They also allow CLIF ontologies to be  self-describing  in a strong sense, by making assertions about their own propositions.  IKL (a semantic extension of CLIF) has a built-in notation for this, written using 'that': (= R ( that  (exists ((x FrenchCitizen)(y IsraeliCitizen))(Married x y))) ) which is very convenient and natural to use, but is not essential.
The zero case: a moral When CL was being designed, we had not thought of any of these uses.  We included the 'zero case' simply because there was no reason not to, and we wanted the Wild West Syntax to be as free as possible from unnecessary restrictions, on general grounds of economy and elegance.  In  every case ,  the 'peculiar' constructions thus allowed have turned out to be practically useful.  They provide for more compact, efficient ways to write axioms, more powerful reasoning, far more flexibility of expression for interoperability, and entire new areas of important expressivity.  They surprised us.  We think that the logic is telling us something.  First-order logic has long been seen as the foundational formalism for knowledge representation.  But it is even better than it has traditionally seemed to be.  All it needed was to be set free.

More Related Content

What's hot

A Concurrent Language for Argumentation
A Concurrent Language for ArgumentationA Concurrent Language for Argumentation
A Concurrent Language for Argumentation
Carlo Taticchi
 
Introducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent ArgumentationIntroducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent Argumentation
Carlo Taticchi
 
Syntax feature theory.. good
Syntax feature theory.. goodSyntax feature theory.. good
Syntax feature theory.. good
Hina Honey
 
A Concurrent Argumentation Language for Negotiation and Debating
A Concurrent Argumentation Language for Negotiation and DebatingA Concurrent Argumentation Language for Negotiation and Debating
A Concurrent Argumentation Language for Negotiation and Debating
Carlo Taticchi
 
Introduction to prolog
Introduction to prologIntroduction to prolog
Introduction to prolog
Rakhi Sinha
 
ACL読み会2014@PFI "Less Grammar, More Features"
ACL読み会2014@PFI "Less Grammar, More Features"ACL読み会2014@PFI "Less Grammar, More Features"
ACL読み会2014@PFI "Less Grammar, More Features"
nozyh
 
Introduction to Prolog
Introduction to PrologIntroduction to Prolog
Introduction to Prolog
Chamath Sajeewa
 
A Concurrent Language for Argumentation: Preliminary Notes
A Concurrent Language for Argumentation: Preliminary NotesA Concurrent Language for Argumentation: Preliminary Notes
A Concurrent Language for Argumentation: Preliminary Notes
Carlo Taticchi
 
Looking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationLooking for Invariant Operators in Argumentation
Looking for Invariant Operators in Argumentation
Carlo Taticchi
 
Logic Programming and Prolog
Logic Programming and PrologLogic Programming and Prolog
Logic Programming and Prolog
Sadegh Dorri N.
 
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
Carlo Taticchi
 

What's hot (11)

A Concurrent Language for Argumentation
A Concurrent Language for ArgumentationA Concurrent Language for Argumentation
A Concurrent Language for Argumentation
 
Introducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent ArgumentationIntroducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent Argumentation
 
Syntax feature theory.. good
Syntax feature theory.. goodSyntax feature theory.. good
Syntax feature theory.. good
 
A Concurrent Argumentation Language for Negotiation and Debating
A Concurrent Argumentation Language for Negotiation and DebatingA Concurrent Argumentation Language for Negotiation and Debating
A Concurrent Argumentation Language for Negotiation and Debating
 
Introduction to prolog
Introduction to prologIntroduction to prolog
Introduction to prolog
 
ACL読み会2014@PFI "Less Grammar, More Features"
ACL読み会2014@PFI "Less Grammar, More Features"ACL読み会2014@PFI "Less Grammar, More Features"
ACL読み会2014@PFI "Less Grammar, More Features"
 
Introduction to Prolog
Introduction to PrologIntroduction to Prolog
Introduction to Prolog
 
A Concurrent Language for Argumentation: Preliminary Notes
A Concurrent Language for Argumentation: Preliminary NotesA Concurrent Language for Argumentation: Preliminary Notes
A Concurrent Language for Argumentation: Preliminary Notes
 
Looking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationLooking for Invariant Operators in Argumentation
Looking for Invariant Operators in Argumentation
 
Logic Programming and Prolog
Logic Programming and PrologLogic Programming and Prolog
Logic Programming and Prolog
 
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
 

Viewers also liked

Modal Logic
Modal LogicModal Logic
Modal Logic
Serge Garlatti
 
Fun with Constructive Modalities
Fun with Constructive ModalitiesFun with Constructive Modalities
Fun with Constructive Modalities
Valeria de Paiva
 
Math63032modal
Math63032modalMath63032modal
Math63032modal
Hanibei
 
Bimodal set-theory-cambridge
Bimodal set-theory-cambridgeBimodal set-theory-cambridge
Bimodal set-theory-cambridge
jamesstudd
 
IMLA2011 Opening
IMLA2011 OpeningIMLA2011 Opening
IMLA2011 Opening
Valeria de Paiva
 
If, not when
If, not whenIf, not when
If, not when
Valeria de Paiva
 
Constructive Modal Logics, Once Again
Constructive Modal Logics, Once AgainConstructive Modal Logics, Once Again
Constructive Modal Logics, Once Again
Valeria de Paiva
 
Potentialist reflection
Potentialist reflectionPotentialist reflection
Potentialist reflection
jamesstudd
 
Intuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years laterIntuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years later
Valeria de Paiva
 
Modal Type Theory
Modal Type TheoryModal Type Theory
Modal Type Theory
Valeria de Paiva
 
Introduction to Logic
Introduction to LogicIntroduction to Logic
Introduction to Logic
Wasif Altaf
 
Modal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, PermissionModal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, Permission
Tanasorn Pajchim
 
MODALS PPT
MODALS PPTMODALS PPT
MODALS PPT
Nehala Mohd Shafi
 
Modal Verbs
Modal VerbsModal Verbs
Modal Verbs
MRHERRERO
 

Viewers also liked (14)

Modal Logic
Modal LogicModal Logic
Modal Logic
 
Fun with Constructive Modalities
Fun with Constructive ModalitiesFun with Constructive Modalities
Fun with Constructive Modalities
 
Math63032modal
Math63032modalMath63032modal
Math63032modal
 
Bimodal set-theory-cambridge
Bimodal set-theory-cambridgeBimodal set-theory-cambridge
Bimodal set-theory-cambridge
 
IMLA2011 Opening
IMLA2011 OpeningIMLA2011 Opening
IMLA2011 Opening
 
If, not when
If, not whenIf, not when
If, not when
 
Constructive Modal Logics, Once Again
Constructive Modal Logics, Once AgainConstructive Modal Logics, Once Again
Constructive Modal Logics, Once Again
 
Potentialist reflection
Potentialist reflectionPotentialist reflection
Potentialist reflection
 
Intuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years laterIntuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years later
 
Modal Type Theory
Modal Type TheoryModal Type Theory
Modal Type Theory
 
Introduction to Logic
Introduction to LogicIntroduction to Logic
Introduction to Logic
 
Modal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, PermissionModal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, Permission
 
MODALS PPT
MODALS PPTMODALS PPT
MODALS PPT
 
Modal Verbs
Modal VerbsModal Verbs
Modal Verbs
 

Similar to Translating into Common Logic

Description logic
Description logicDescription logic
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that Letter
Kevlin Henney
 
Domain Descriptions Should be Modular
Domain Descriptions Should be ModularDomain Descriptions Should be Modular
Domain Descriptions Should be Modular
Ivan Varzinczak
 
Tutorial - Introduction to Rule Technologies and Systems
Tutorial - Introduction to Rule Technologies and SystemsTutorial - Introduction to Rule Technologies and Systems
Tutorial - Introduction to Rule Technologies and Systems
Adrian Paschke
 
A Knowledge-based System for Classifying Particle Reaction and Decay Processes
A Knowledge-based System for Classifying Particle Reaction and Decay ProcessesA Knowledge-based System for Classifying Particle Reaction and Decay Processes
A Knowledge-based System for Classifying Particle Reaction and Decay Processes
Waqas Tariq
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory building
ClarkTony
 
Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic  Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic
Mustafa Jarrar
 
Maclennan chap5-pascal
Maclennan chap5-pascalMaclennan chap5-pascal
Maclennan chap5-pascal
Serghei Urban
 
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
CA API Management
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
Rama Bastola
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
Rama Bastola
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
Rama Bastola
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
nvitucci
 
Substitutability
SubstitutabilitySubstitutability
Substitutability
Kevlin Henney
 
Haskell retrospective
Haskell retrospectiveHaskell retrospective
Haskell retrospective
chenge2k
 
SELFLESS INHERITANCE
SELFLESS INHERITANCESELFLESS INHERITANCE
SELFLESS INHERITANCE
ijpla
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
elliando dias
 
Constructive Description Logics 2006
Constructive Description Logics 2006Constructive Description Logics 2006
Constructive Description Logics 2006
Valeria de Paiva
 
Finite Systems Handling Language (YAFOLL message 1)
Finite Systems Handling Language (YAFOLL message 1)Finite Systems Handling Language (YAFOLL message 1)
Finite Systems Handling Language (YAFOLL message 1)
Alex Shkotin
 
RESTful Services
RESTful ServicesRESTful Services
RESTful Services
Kurt Cagle
 

Similar to Translating into Common Logic (20)

Description logic
Description logicDescription logic
Description logic
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that Letter
 
Domain Descriptions Should be Modular
Domain Descriptions Should be ModularDomain Descriptions Should be Modular
Domain Descriptions Should be Modular
 
Tutorial - Introduction to Rule Technologies and Systems
Tutorial - Introduction to Rule Technologies and SystemsTutorial - Introduction to Rule Technologies and Systems
Tutorial - Introduction to Rule Technologies and Systems
 
A Knowledge-based System for Classifying Particle Reaction and Decay Processes
A Knowledge-based System for Classifying Particle Reaction and Decay ProcessesA Knowledge-based System for Classifying Particle Reaction and Decay Processes
A Knowledge-based System for Classifying Particle Reaction and Decay Processes
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory building
 
Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic  Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic
 
Maclennan chap5-pascal
Maclennan chap5-pascalMaclennan chap5-pascal
Maclennan chap5-pascal
 
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
 
Substitutability
SubstitutabilitySubstitutability
Substitutability
 
Haskell retrospective
Haskell retrospectiveHaskell retrospective
Haskell retrospective
 
SELFLESS INHERITANCE
SELFLESS INHERITANCESELFLESS INHERITANCE
SELFLESS INHERITANCE
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
 
Constructive Description Logics 2006
Constructive Description Logics 2006Constructive Description Logics 2006
Constructive Description Logics 2006
 
Finite Systems Handling Language (YAFOLL message 1)
Finite Systems Handling Language (YAFOLL message 1)Finite Systems Handling Language (YAFOLL message 1)
Finite Systems Handling Language (YAFOLL message 1)
 
RESTful Services
RESTful ServicesRESTful Services
RESTful Services
 

More from Pat Hayes

Rdf with contexts
Rdf with contextsRdf with contexts
Rdf with contexts
Pat Hayes
 
BLOGIC. (ISWC 2009 Invited Talk)
BLOGIC.  (ISWC 2009 Invited Talk)BLOGIC.  (ISWC 2009 Invited Talk)
BLOGIC. (ISWC 2009 Invited Talk)
Pat Hayes
 
I, Robot
I, RobotI, Robot
I, Robot
Pat Hayes
 
IKL survey
IKL surveyIKL survey
IKL survey
Pat Hayes
 
How Quaint the Ways of Paradox
How Quaint the Ways of ParadoxHow Quaint the Ways of Paradox
How Quaint the Ways of Paradox
Pat Hayes
 
RDF Redux
RDF ReduxRDF Redux
RDF Redux
Pat Hayes
 

More from Pat Hayes (6)

Rdf with contexts
Rdf with contextsRdf with contexts
Rdf with contexts
 
BLOGIC. (ISWC 2009 Invited Talk)
BLOGIC.  (ISWC 2009 Invited Talk)BLOGIC.  (ISWC 2009 Invited Talk)
BLOGIC. (ISWC 2009 Invited Talk)
 
I, Robot
I, RobotI, Robot
I, Robot
 
IKL survey
IKL surveyIKL survey
IKL survey
 
How Quaint the Ways of Paradox
How Quaint the Ways of ParadoxHow Quaint the Ways of Paradox
How Quaint the Ways of Paradox
 
RDF Redux
RDF ReduxRDF Redux
RDF Redux
 

Recently uploaded

[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
Tobias Schneck
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 

Recently uploaded (20)

[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 

Translating into Common Logic

  • 1.
  • 2. John Sowa talked about this side. Now we will look more closely at this side, using the CLIF dialect.
  • 3. Wild West Syntax (CLIF) Any character string can be a name, and any name can play any syntactic role, and any name can be quantified. Anything that can be named can also be the value of a function. All this gives a lot of freedom to say exactly what we want, and to write axioms which convert between different notational conventions. It also allows many other 'conventional' notations to be transcribed into CLIF directly and naturally. It also makes CLIF into a genuine network logic , because CLIF texts retain their full meaning when transported across a network, archived, or freely combined with other CLIF texts. (Unlike OWL-DL and GOFOL)
  • 4. Mapping other notations to CLIF. 1. Description Logics Description logics provide ways to define classes in terms of other classes, individuals and properties . All people who have at least two sons enlisted in the US Navy . <this class> owl:intersectionOf [:Person _:x] _:x rdf:type owl:Restriction _:x owl:minCardinality &quot;2&quot;^^xsd:number _:x owl:onProperty :hasSon _:x owl:toClass _:y _:y rdf:type owl:Restriction _:y owl:hasValue :USNavy _:y owl:onProperty :enlistedIn
  • 5. Mapping other notations to CLIF. 1. Description Logics Classes are CL unary relations, properties are CL binary relations. So DL operators are functions from relations to other relations. (owl:IntersectionOf Person (owl:minCardinality 2 hasSon (owl:valueIs enlistedIn USNavy))) (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy))) ( (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy))) Harry) (= 2ServingSons (AND Person (MIN 2 hasSon (VAL enlistedIn USNavy))) ) (2ServingSons Harry) (NavyPersonClassification 2ServingSons) (BackgroundInfo 2ServingSons 'Classification introduced in 2003 for public relation purposes.')
  • 6. Mapping other notations to CLIF. 1. Description Logics The meanings of these constructions can be axiomatized in CLIF: (forall (x y ...)(iff ((AND y ...) x) (and (y x)((AND ...) y)) )) (forall (x)((AND) x)) (forall (x y p)(iff ((VAL p x) y) (p y x) )) (forall (c y p)(iff ((SOMEARE p c) y) (exists (z)(and (p y z)(c z))) )) (forall ((n integer) x p c)(iff ((MIN n p c) x)(exists n (z)(and (p x z)(c z))) )) This is important to ensure semantic coherence, as a reference standard. Practical reasoners would probably not use these axioms directly. Typical 'recursion' using sequence markers. For (lots) more detail, see http://www.ihmc.us/users/phayes/cl/sw2scl.html http://philebus.tamu.edu/cmenzel/Papers/Axioma ticSemantics.pdf
  • 7. Mapping other notations to CLIF. 1. Description Logics Relatively minor changes to these axioms give CL theories corresponding to the various different description logics, and variants such as OWL-Full, OWL2 (forthcoming) and terHorst's intensional OWL (just use if instead of iff ), as well as RDF and RDFS. One common syntax and one fixed logic covers all these cases, which can be viewed as a selection of a vocabulary and a &quot;logical ontology&quot;. By reserving a single namespace for each, reasoners can easily recognize sub-cases where efficient decidable DL reasoning can be used. For interoperability, the key is that these translations all use a single syntax and semantics. The process of creating a new standard is vastly simplified. All the 'semantic' decisions can be recorded as CL axioms, and checked mechanically.
  • 8. Several recent standards, notably Semantics of Business Vocabulary and Rules (SBVR) are based on modal logics; several ontology frameworks ( OntoClean ) use modal language; and some temporal frameworks use tense-like operators. There are two approaches to mapping modal languages into CL. Modal truth (necessity, temporal logic) is handled by introducing 'possible worlds' AKA &quot;contexts&quot;. Permissions and obligations (as in SBVR) are handled more intuitively by an ontology of actions and events. Mapping other notations to CLIF. 2. Modal notations
  • 9. Consider a simple temporal modal/hybrid language, in which sentences are asserted using tenses, as in &quot;it will rain in Oaxacala&quot;, and suppose this is 'said' on Sunday 4 May 2008 ( Future (Precipitation Oaxacala)) CL doesn't have a modal operator (such as Future ) so we will talk about times explicitly and then Future translates to a quantifier : &quot;At some time t later than now, ...&quot;. Need to know two things: the current time (&quot;now&quot;); and which of our relations and/or names are time-dependent ( Precipitation is, Oaxacala isn't.) Add a temporal parameter to those that are, add the relationship to now , then quantify : ( exists (( t time ))(and (later t 05042008) (Precipitation Oaxacala t ) )) OR: ((Precipitation t) Oaxacala) OR (Precipitation (Oaxacala t)) Mapping other notations to CLIF. 2. Modal truth
  • 10. Mapping other notations to CLIF. 2. Modal truth Some names (role identifiers) are themselves time-dependent: (= (PresidentUSA 01051999) WilliamClinton) There are many points of view, debates, etc. about how best to conceptualize things extended in time. All of these boil down in practice to decisions about where to put the time parameter . Some frameworks prohibit role identifiers in certain cases, etc.. As long as the time parameter is placed somewhere , it is straightforward to translate between conventions which adopt these various restrictions and philosophical rules. (forall ((t time)(c OBOContinuant) r )(iff (r c t) (r (( OBO2EPISTLE c) t)) )) The translation is represented here by a 'conversion function' between the vocabularies. In practice this might be a lookup table relating the names.
  • 11. Mapping other notations to CLIF. 2. Modal truth Notice, these times are 'pointlike' (perhaps not mathematical points); truth relative to an interval needs to be handled with more care (true throughout , or true only somewhere in the interval?) The results can be complicated, but the translation is completely mechanical. All last year there was someone guarding the house. (forall ((t time)(if (in t [last year]) (exists ((i timeInterval)(and (in t i) (exists ((x Person))(and (forall ((u time)(if (in u i) (guards x [the house] u) )) )) ))
  • 12. Mapping other notations to CLIF. 3. SBVR and actions SBVR rules conditionally permit or prohibit actions and states of affairs: If a car is rented to a driver then that driver must have a valid driver's license. CL has no notion of must , but it can describe states of affairs and actions, and then describe the conditions under which they are classified into 'permitted' or 'forbidden' categories. If a car is rented to a driver who does not have a valid license, then the rental is a prohibited transaction . (forall ((x CarRental))(if (not (ValidLicencedToDrive (driver x))) (ProhibitedTransaction x) )) This translation is semi-mechanical, but the CL version has several advantages, most notably allowing for different kinds of prohibition. This can be used together with temporal-style language to handle time-dependent business rules. All the necessary reasoning can be handled within CL.
  • 13. Wild West Syntax (CLIF) = Eliminating dongles. Any character string can be a name, and any name can play any syntactic role, and any name can be quantified. Anything that can be named can also be the value of a function. All this gives a lot of freedom to say exactly what we want, and to write axioms which convert between different notational conventions.
  • 14. Dongle vocabulary: terms that carry no meaning, but are there just to make the syntax &quot;look right&quot;. Pat is Human Human is a biological category ( Human Pat) (BiologicalCategory Human ) Pat rdf:type Human . ( Instance Human Pat) ( hasType Pat Human) ( AppliesTo Human Pat) isa Pat Human Pat a Human
  • 15. An Objection But surely there has to be some limit. I mean, dash it all, surely something like this: ('Pat' c) would be silly . Character sequences just aren't the kind of thing that can possibly be a predicate. Yet in fact, there are at least two very convincing uses for this kind of expression. == RDF typed literals have exactly this form and this semantics. == In the IKRIS project, we needed 'contextual names' which indicate what a name denotes in a context. We could have written ( MeaningInContext 'Pat' c) but this is a classical dongle. It is simpler to just write ('Pat' c) and think of it (if you like) as a name with a subscript: Pat c Moral: If people are using it successfully, it probably makes some kind of sense.
  • 16. The zero case An 'atomic' sentence (atom) is a relation followed by a sequence of arguments: (Human Pat) (timeOrder (birth Pat) (marriage Pat Jackie) (graduation Pat) (grantedTenure Pat)(brokeCollarBone Pat) ) and a term is a function followed by a sequence of arguments: (Human (fatherOf Pat)) (= (+ 23 457 1219 27) 1926) CLIF argument sequences can be any length, including zero: (timeOrder) (fatherOf) so the question arises, what use are such things? Answer: whatever use you want them to have . Some examples...
  • 17. The zero case Base case for recursive definitions. Already seen this with AND in description logics, but some more examples: (forall (x y ...)(iff ((OR y ...) x) (or (y x)((OR ...) y)) )) (forall (x)(not ((OR) x) )) Eg ((OR mammal duck) Platypus3) (or (mammal Platypus3)((OR duck) Platypus3)) (or (mammal Platypus3) (or (duck Platypus3) ((OR) Platypus3) )) (or (mammal Platypus3) (or (duck Platypus3) False )) (or (mammal Platypus3) (duck Platypus3)) ----------------- (forall (r)(if (Predicative r) (and (forall (x ...)(if (r x ...)(and (r x)(r ...)) )) (r) ) )) Eg (Predicative Human) (Human Pat John Chris Arthur Adam) (forall (x)(if (TypeClassifier x)(Predicative x) )) (Predicative Predicative) (Predicative Human Animal Mineral Vegetable)
  • 18. The zero case Indirect Names Already mentioned 'contextual names' (actually, terms with a character string used as a function) such as ('Pat' c) ('Pat' (beliefContext Joe)) Interesting idea is to use the zero case to mean the same as the name itself: (= ('Pat') Pat) (= Chris ('Chris')) etc.. This cannot be axiomatized, but it can be treated as a semantic extension of CLIF (IKL). Why bother? Because now we can relate things to their names, and make assertions about the relationship. For example: (forall (R (L nameList))(iff (closedWorldFor R L) (forall ((y charseq)) (if (R (y))(member y L) )) )) axiomatizes the idea of a 'closed world' supporting negation as failure , as in Prolog and related systems. Note, this does not require a non-monotonic logic ! If y is a character string, (y) is whatever y is the name of.
  • 19. The zero case: propositions Propositions A relation with no arguments gives an atomic sentence with just one name in it: (R) Being a sentence, this has a truth-value, i.e. it is true or false. In this case, R represents a proposition , i.e. an object with a truth-value . To fix the truth-conditions for R, just connect it to a longer sentence which expresses them directly: (iff (R) (exists ((x FrenchCitizen)(y IsraeliCitizen))(Married x y)) ) Propositions allow even more translations into CLIF, including all of 'context logic'. They also allow CLIF ontologies to be self-describing in a strong sense, by making assertions about their own propositions. IKL (a semantic extension of CLIF) has a built-in notation for this, written using 'that': (= R ( that (exists ((x FrenchCitizen)(y IsraeliCitizen))(Married x y))) ) which is very convenient and natural to use, but is not essential.
  • 20. The zero case: a moral When CL was being designed, we had not thought of any of these uses. We included the 'zero case' simply because there was no reason not to, and we wanted the Wild West Syntax to be as free as possible from unnecessary restrictions, on general grounds of economy and elegance. In every case , the 'peculiar' constructions thus allowed have turned out to be practically useful. They provide for more compact, efficient ways to write axioms, more powerful reasoning, far more flexibility of expression for interoperability, and entire new areas of important expressivity. They surprised us. We think that the logic is telling us something. First-order logic has long been seen as the foundational formalism for knowledge representation. But it is even better than it has traditionally seemed to be. All it needed was to be set free.