SlideShare uma empresa Scribd logo
1 de 20
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.

Mais conteúdo relacionado

Mais procurados

A Concurrent Language for Argumentation
A Concurrent Language for ArgumentationA Concurrent Language for Argumentation
A Concurrent Language for ArgumentationCarlo Taticchi
 
Introducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent ArgumentationIntroducing a Tool for Concurrent Argumentation
Introducing a Tool for Concurrent ArgumentationCarlo Taticchi
 
Syntax feature theory.. good
Syntax feature theory.. goodSyntax feature theory.. good
Syntax feature theory.. goodHina 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 DebatingCarlo Taticchi
 
Introduction to prolog
Introduction to prologIntroduction to prolog
Introduction to prologRakhi 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
 
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 NotesCarlo Taticchi
 
Looking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationLooking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationCarlo Taticchi
 
Logic Programming and Prolog
Logic Programming and PrologLogic Programming and Prolog
Logic Programming and PrologSadegh 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
 

Mais procurados (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...
 

Destaque

Fun with Constructive Modalities
Fun with Constructive ModalitiesFun with Constructive Modalities
Fun with Constructive ModalitiesValeria de Paiva
 
Math63032modal
Math63032modalMath63032modal
Math63032modalHanibei
 
Bimodal set-theory-cambridge
Bimodal set-theory-cambridgeBimodal set-theory-cambridge
Bimodal set-theory-cambridgejamesstudd
 
Constructive Modal Logics, Once Again
Constructive Modal Logics, Once AgainConstructive Modal Logics, Once Again
Constructive Modal Logics, Once AgainValeria de Paiva
 
Potentialist reflection
Potentialist reflectionPotentialist reflection
Potentialist reflectionjamesstudd
 
Intuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years laterIntuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years laterValeria de Paiva
 
Introduction to Logic
Introduction to LogicIntroduction to Logic
Introduction to LogicWasif Altaf
 
Modal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, PermissionModal Verbs: Advice, Obligation, Permission
Modal Verbs: Advice, Obligation, PermissionTanasorn Pajchim
 

Destaque (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
 

Semelhante a Translating into Common Logic

Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that LetterKevlin Henney
 
Domain Descriptions Should be Modular
Domain Descriptions Should be ModularDomain Descriptions Should be Modular
Domain Descriptions Should be ModularIvan 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 SystemsAdrian 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 ProcessesWaqas Tariq
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory buildingClarkTony
 
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-pascalSerghei 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 2013CA API Management
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitynvitucci
 
Haskell retrospective
Haskell retrospectiveHaskell retrospective
Haskell retrospectivechenge2k
 
SELFLESS INHERITANCE
SELFLESS INHERITANCESELFLESS INHERITANCE
SELFLESS INHERITANCEijpla
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypseelliando dias
 
Constructive Description Logics 2006
Constructive Description Logics 2006Constructive Description Logics 2006
Constructive Description Logics 2006Valeria 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 ServicesKurt Cagle
 

Semelhante a 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
 

Mais de Pat Hayes

Rdf with contexts
Rdf with contextsRdf with contexts
Rdf with contextsPat Hayes
 
BLOGIC. (ISWC 2009 Invited Talk)
BLOGIC.  (ISWC 2009 Invited Talk)BLOGIC.  (ISWC 2009 Invited Talk)
BLOGIC. (ISWC 2009 Invited Talk)Pat Hayes
 
How Quaint the Ways of Paradox
How Quaint the Ways of ParadoxHow Quaint the Ways of Paradox
How Quaint the Ways of ParadoxPat Hayes
 

Mais de 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
 

Último

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Último (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

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.