Combinaison des logiques temporelle et déontique pour la
Transcription
Combinaison des logiques temporelle et déontique pour la
UNIVERSITÉ TOULOUSE III - Paul Sabatier U.F.R. Mathématiques, Informatique, et Gestion École doctorale Mathématiques, Informatique, et Télécomunications de Toulouse Institut de Recherche en Informatique de Toulouse THÈSE en vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE délivré par l’université Toulouse III - Paul Sabatier Discipline : Informatique Combinaison des logiques temporelle et déontique pour la spécification de politiques de sécurité Julien Brunel soutenue le 12 décembre 2007 devant le jury composé de Philippe Balbiani Jean-Paul Bodeveix Jan Broersen Frédéric Cuppens Stéphane Demri Mamoun Filali Amine Sergei Soloviev Wiebe van der Hoek examinateur directeur de thèse examinateur examinateur rapporteur co-directeur de thèse examinateur rapporteur i Combining temporal and deontic logics for the specification of security policies Julien Brunel supervisors: Jean-Paul Bodeveix, Mamoun Filali Amine Abstract In order to formally specify a security policy, it is natural to reason about time on the one hand, and obligations, permissions, and prohibitions on the other hand. Indeed, we have to express for instance the permission to access a resource for a certain period, the obligation to release a resource before a deadline, or the prohibition to execute a task for a too long period. Temporal and deontic logics seem well suited to specify such concepts. In this thesis, we study how to combine these logics. Firstly, we study the product of linear temporal logic and standard deontic logic, and define obligation with deadline in this context. It has to satisfy a property called propagation property: while it is not fulfilled, it is propagated to the next instant. We then propose a more general propagation property, and propose a semantics to validate it. For the until-free fragment of our logic, we define an axiomatics and a tableaux-like decision procedure. Lastly, we investigate the notion of compliance of a system with respect to a policy specified in such a language. The first definition we come up with is a weak version of compliance called compatibility. For a new fragment of our logic, we adapt the Büchi approach of Vardi and Wolper to decide whether a system is compliant with a policy. We then restrict again the language so that we can define a stronger version of compliance. Actually, a careful analysis shows the necessity to refine the notion of compliance into five different diagnostic cases which give ’levels of compliance’. We provide an algorithm to establish this diagnostic. Keywords: temporal logic, deontic logic, security policy ii iii Combinaison des logiques temporelle et déontique pour la spécification de politiques de sécurité Julien Brunel directeurs de thèse : Jean-Paul Bodeveix, Mamoun Filali Amine Résumé Pour spécifier formellement une politique de sécurité, il est naturel de raisonner d’une part sur la notion de temps, et d’autre part sur les notions d’obligation, de permission, et d’interdiction. En effet, il s’agit d’exprimer par exemple le droit d’accès à une ressource pendant une certaine durée, l’obligation de la libérer avant un instant donné, ou encore l’obligation qu’une certaine tâche ne soit pas exécutée pendant un temps trop important. Les logiques temporelle et déontique apparaissent comme des outils adéquats pour spécifier de telles notions. Dans cette thèse, nous étudions comment combiner de telles logiques. Nous étudions dans un premier temps le produit de la logique temporelle linéaire avec la logique déontique standard, et définissons une obligation avec délai dans ce contexte. L’obligation avec délai doit notamment satisfaire une propriété que l’on nomme propagation : tant qu’elle n’est pas remplie et que le délai n’est pas atteint, elle se propage à l’instant suivant. Nous proposons ensuite une sémantique qui valide une propriété de propagation plus générale, puis définissons une axiomatique et une procédure de décision pour fragment du langage qui ne contient pas l’opérateur temporel ’until’. Nous nous intéressons enfin à la notion de conformité d’un système vis à vis d’une politique de sécurité spécifiée dans un tel langage. La première définition que nous proposons est une version faible de la conformité que l’on nomme compatibilité. Nous restreignons ensuite le langage afin définir une version plus forte de la conformité, et proposons un algorithme pour vérifier la conformité d’un système vis à vis d’une politique. Mots-clés : logique temporelle, logique déontique, politique de sécurité iv Remerciements / Acknowledgments Remerciements Une première étape se termine aujourd’hui. Je saisis l’occasion de remercier ceux qui ont contribué, d’une manière ou d’une autre, à mon travail durant ces trois années et demie. Tout d’abord, je tiens à remercier très chaleureusement mes directeurs de thèse Jean-Paul Bodeveix et Mamoun Filali Amine, qui m’ont donné l’opportunité de faire cette thèse, pour leur soutien permanent et leurs conseils. Je me souviens du stage, durant l’été 2002, pendant lequel ils m’ont initié à la recherche et transmis leur passion pour les méthodes formelles. Leur enthousiasme et leur complémentarité ont constitué un grand atout pour ma thèse, et travailler avec eux a été un grand plaisir. Je voudrais ensuite remercier Stéphane Demri et Wiebe van der Hoek, pour l’intérêt qu’ils ont apporté à mon travail en acceptant d’être rapporteurs de cette thèse. Leurs corrections, remarques, et questions, m’ont permis d’améliorer ce mémoire et m’ont donné des perspectives très intéressantes. Merci à Jan Broersen qui a accepté de m’accueillir à Utrecht, en février 2006, avant même de me connaître ! L’accueil fut très chaleureux, et le séjour très agréable. J’y ai appris beaucoup sur les logiques déontiques, et les logiques d’action. La collaboration qui a suivi a été un excellent stimulant jusqu’à la fin de ma thèse, et la logique proposée en est le fruit. Merci à Philippe Balbiani, pour les nombreuses discussions, pour ses conseils aussi bien sur des aspects scientifiques pointus que sur le déroulement de ma thèse. J’ai beaucoup apprécié sa disponibilité. Sa connaissance des logiques modales m’a apporté beaucoup. Merci également à Frédéric Cuppens et Nora Cuppens-Boulahia. Grâce à leur enthousiasme, la collaboration entamée dans le cadre du projet DISPO a pu se poursuivre lors de plusieurs séjours à Rennes, où nous avons pu discuter v vi longuement des obligations et des violations dans une politique de sécurité. Je voudrais également remercier Sergei Soloviev pour le regard extérieur qu’il a porté sur mon travail, et pour avoir accepté de présider le jury. Je remercie Philippe Balbiani, Jan Broersen, Frédéric Cuppens, Stéphane Demri, et Wiebe van der Hoek, pour leurs questions et commentaires stimulants lors de la soutenance. Je remercie toutes les personnes que j’ai côtoyées à l’IRIT (chercheurs, secrétaires, enseignants, et techniciens) qui ont contribué à un environnement agréable. Merci en particulier à ceux qui ont partagé mon bureau (Abbassia, Jean-François, Lei, et Marjorie) avec qui j’ai passé de bons moments. Je pense aussi à ma famille, que j’étais très heureux de retrouver pendant la semaine de ma soutenance. À mon père, qui a traversé l’océan Indien pour y assister ! À ma mère, qui a fait preuve d’un sang froid à toute épreuve pour la gestion de mon pot de thèse ! Je leur dois beaucoup. À ma grand-mère, Mamette, qui a apporté un peu de notre île de beauté avec elle. À Vanina et Yann, sans qui j’aurais sûrement renoncé à la partie 4.2.3 (quel dommage ça aurait été !). Et bien sûr à Benjamin, mon petit frère, qui est malheureusement déjà plus grand que moi. À tous les toulousains qui ont contribué aux conditions agréables dans lesquelles j’ai effectué cette thèse, à travers les soirées, repas, discussions, élaborations de théories-minute, etc. : Mehdi, Camille, Jérôme, Matthieu, Simon, Thierry, Chloé, Raphaël, Serge, Élodie, Vincent, Juliette, Nicolas, Arnaud, Marie, David et Marie. Je pense aussi à ceux qui me supportent depuis bien plus longtemps : Thierry, Rémi, Viviane, Rémy, Nico, Gilles, Sonia, Candice, Ben, . . . À Anne-Laure, qui m’a subi pendant la période d’autisme/rédaction, et qui a su m’apporter toute sa douceur. Je lui dédie cette thèse. Acknowledgments I would like to use this page as an opportunity to thank the people who have played a role, in a way or another, in my work during these three years and a half. First of all, I would like to thank my supervisors Jean-Paul Bodeveix and Mamoun Filali Amine for their support and advice. I remember in particular this training period in 2002, during which they introduce me to research, and impart their passion for formal methods to me. Their enthusiasm and their complementarity were a great asset for my thesis, and I have really enjoyed working with them. My acknowledgment also goes to Stéphane Demri and Wiebe van der Hoek, for having reviewed this thesis. Their corrections, remarks, and questions, allowed me to improve this dissertation, and gave me some interesting leads for future work. vii I also thank Jan Broersen, who accepted to welcome me in February 2006 in Utrecht, before even knowing me! The welcome was warm, and the stay very pleasant. I learnt a lot about deontic logics and action logics. The collaboration that followed was really stimulating until the end of my PhD, and the logic proposed in this dissertation is its fruit. My acknowledgment then goes to Philippe Balbiani, for all the discussions we had, about scientific aspects as much as about the progress of my PhD. I have really appreciated his availability. His knowledge of modal logics was very helpful. I also owe thanks to Frédéric Cuppens and Nora Cuppens-Boulahia. Thanks to their enthusiasm, the collaboration we started in the DISPO project went on with some stays in Rennes, during which we were able to talk a lot about obligations and violations in a security policy. I would also like to thank Sergei Soloviev, for the interesting look he gave to my work, and for having accepted to be president of the jury. I thank Philippe Balbiani, Jan Broersen, Frédéric Cuppens, Stéphane Demri, and Wiebe van der Hoek for being part of the jury, and for their stimulating questions and comments during the defense. I thank all the IRIT staff members who played a part in making the environment pleasant, in particular those who shared my office: Abbassia, Jean-François, Lei, and Marjorie. My thoughts go to my family, that I was so happy to see the week after the defense. To my father, who crossed Indian ocean to attend it! To my mother, who handled the organisation of the drinks party with a lot of selfcontrol! I owe them much. To my grand-mother, who brought a little of our “île de beauté” with her. To Vanina and Yann, without who I would have given section 4.2.3 up (what a pity it would have been!). To Benjamin, my little brother, who is unfortunately already taller than me. To people from Toulouse, who made my after work enjoyable thanks to parties, meals, discussions, etc.: Mehdi, Camille, Jérôme, Matthieu, Simon, Thierry, Chloé, Raphaël, Serge, Élodie, Vincent, Juliette, Nicolas, Arnaud, Marie, David and Marie. I also think about those I have known for much more time: Thierry, Rémi, Viviane, Rémy, Nico, Gilles, Sonia, Candice, Ben, . . . To Anne-Laure, who endured me during the autism/writing period, and who gave me all her sweetness. This thesis is dedicated to her. viii ix À Anne-Laure x Contents 1 Introduction 1.1 Security . . . . . . . . . . 1.2 Formal methods and logics 1.3 Outline . . . . . . . . . . 1.4 Bibliographic notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Basic logical concepts 2.1 Modal logic . . . . . . . . . . . . . . . 2.1.1 Axiomatics . . . . . . . . . . . 2.1.2 Semantics . . . . . . . . . . . . 2.2 Deontic logic . . . . . . . . . . . . . . 2.2.1 Standard Deontic Logic SDL . 2.2.2 Some theorems and paradoxes . 2.2.3 Dyadic deontic logic based on a 2.3 Temporal logic . . . . . . . . . . . . . 2.3.1 Linear temporal logic . . . . . . 2.3.2 LT L semantics . . . . . . . . . 2.3.3 Characterization of properties . 2.3.4 LT L axiomatization . . . . . . 2.3.5 Branching-time temporal logic 2.3.6 Timed logic . . . . . . . . . . . 2.4 Model checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . preference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Combining temporal and deontic logics 3.1 Fusion of modal logics . . . . . . . . . . 3.1.1 Fusion of LT L and SDL . . . . . 3.1.2 Fusion of CT L and SDL . . . . 3.2 Interaction properties . . . . . . . . . . xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 8 10 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . relation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 14 15 19 19 19 21 22 23 24 25 27 29 33 37 . . . . 39 40 41 43 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii . . . . . . . . . . . . . . 44 46 46 47 48 48 50 4 Propagation property 4.1 Deadline obligation . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Studied properties . . . . . . . . . . . . . . . . . . . 4.1.2 A first attempt for defining deadline obligation . . . 4.1.3 Validation of the propagation property . . . . . . . . 4.1.4 New operator Ok . . . . . . . . . . . . . . . . . . . . 4.2 General propagation property . . . . . . . . . . . . . . . . . 4.2.1 Propagation property and product . . . . . . . . . . 4.2.2 Semantics based on the restriction of the ideal states 4.2.3 Model correspondence for the propagation . . . . . . 4.2.4 Semantics with levels of deontic ideality . . . . . . . 4.2.5 Branching time structures . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 54 56 57 58 63 63 65 69 74 79 5 Decision procedure and axiomatization 5.1 Tableaux decision procedure for satisfiability . . . . 5.1.1 Tableau data structure and update operations 5.1.2 Tableaux rules . . . . . . . . . . . . . . . . . 5.1.3 Soundness and completeness . . . . . . . . . . 5.1.4 Termination . . . . . . . . . . . . . . . . . . . 5.2 Axiomatization . . . . . . . . . . . . . . . . . . . . . 5.2.1 Admissible forms . . . . . . . . . . . . . . . . 5.2.2 Axiomatization . . . . . . . . . . . . . . . . . 5.2.3 Soundness and completeness . . . . . . . . . . 5.2.4 Theories . . . . . . . . . . . . . . . . . . . . . 5.2.5 Canonical model construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 82 83 84 86 88 90 91 91 92 93 96 6 Computer security application 6.1 Specification of the system . . . . . . 6.1.1 Events or actions? . . . . . . 6.1.2 Labeled Kripke Structures . . 6.2 Deontic extension and compatibility 6.2.1 Deontic extension . . . . . . . 6.2.2 Compatibility . . . . . . . . . 6.2.3 Illustration . . . . . . . . . . 6.3 Decidable fragment . . . . . . . . . . 6.3.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 100 100 101 102 103 103 105 106 106 3.3 3.2.1 ’Perfect recall’ property . . . . 3.2.2 ’No learning’ property . . . . . 3.2.3 ’Confluence’ property . . . . . 3.2.4 Obligation and branching time Product . . . . . . . . . . . . . . . . . 3.3.1 Product of modal logics . . . . 3.3.2 Product LT L SDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 6.4 6.3.2 Checking internal consistency and compatibility Beyond compatibility . . . . . . . . . . . . . . . . . . . 6.4.1 Policy language . . . . . . . . . . . . . . . . . . 6.4.2 Compliance of a system with its security policy 6.4.3 Diagnostic algorithm . . . . . . . . . . . . . . . 6.4.4 Concluding example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 111 111 113 124 129 7 Conclusion 133 7.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.2 Future investigations . . . . . . . . . . . . . . . . . . . . . . . 134 A Proofs of section 4.1.4 A.1 Proofs of property 11 A.2 Proofs of property 12 141 . . . . . . . . . . . . . . . . . . . . . . 141 . . . . . . . . . . . . . . . . . . . . . . 142 xiv Introduction Cette thèse propose un cadre logique qui permet de traiter des notions de temps et d’obligation, dans le but de spécifier des politiques de sécurité. Le point de départ de ce travail est la nécessité de méthodes formelles pour spécifier et vérifier des propriétés de sécurités spécifiques. Cette introduction présente la sécurité informatique, et introduit le point de vue logique que nous allons adopter. Sécurité Les systèmes informatiques sont présents dans de plus en plus de domaines faisant intervenir des aspects de coopération, de distribution, et de réseau. L’augmentation de la complexité des systèmes a permis de nombreuses innovations, mais a aussi soulevé de nouvelles questions. En particulier, garantir des exigences de sécurité est devenu de plus en plus complexe. Ces exigences sont habituellement classifiées comme suit : – confidentialité : assurance que l’information est partagée seulement par des personnes ou organisations autorisées ; – intégrité : assurance que l’information est authentique et complète ; – disponibilité : assurance que les systèmes chargés de délivrer, stocker, ou traiter des informations sont accessibles en cas de besoin. De manière à garantir ces exigences, une politique de sécurité est traditionnellement spécifiée. Il s’agit d’un ensemble de normes et de procédures à mettre en oeuvre pour assurer au mieux les exigences. Cela consiste par exemple à décrire comment les utilisateurs peuvent accéder au système ou aux informations. 1 2 La modélisation de politiques de contrôle d’accès a été beaucoup étudiée dans la littérature [64, 115, 21, 73, 2]. Une politique de contrôle d’accès consiste en un ensemble de règles qui spécifient quelles actions les sujets sont autorisés à effectuer. Une permission peut ne s’appliquer que lorsque certaines conditions sont satisfaites [94, 42, 121]. Par exemple, dans une banque, la politique de contrôle d’accès peut spécifier qu’un employé a l’autorisation d’accorder un prêt à un client seulement si le montant du prêt est inférieur à 50 000 euros. La politique de contrôle d’accès peut aussi inclure des interdictions qui sont en particulier utiles pour spécifier des exceptions à des permissions. Plus récemment, il a aussi été suggéré de considérer d’autres exigences dans une politique de sécurité qui correspondent à des obligations [22, 41]. Par exemple, la politique peut spécifier que n’importe quel utilisateur dans le système informatique de la banque a l’obligation de changer son mot de passe s’il n’a pas été changé depuis trente jours. Les modèles qui considèrent les obligations vont au-delà du contrôle d’accès et sont utilisés pour spécifier des exigence de contrôle d’usage [99]. Comme exemple d’exigence de contrôle d’usage, la banque peut spécifier dans sa politique qu’il est obligatoire d’interrompre la transaction d’un client sur Internet si celui-ci est resté inactif pendant plus d’une minute. Comme dans de nombreux autres domaines scientifiques, les méthodes formelles sont utiles pour lever certaines ambiguïtés et améliorer la qualité de compréhension et d’analyse. Dans le contexte de la sécurité, l’application de méthodes formelles permet de vérifier que la politique est cohérente, ou qu’un système est conforme à une politique. Méthodes formelles et logiques Les méthodes formelles [98] font références à des techniques et des outils mathématiques pour raisonner de manière rigoureuse. Elles permettent de spécifier, concevoir, et valider des systèmes logiciels et matériels. Les spécifications utilisées dans les méthodes formelles sont des énoncées bien formés dans un langage mathématique, et les validations (ou vérifications) sont des preuves de ces énoncés. La définition d’un tel langage de spécification, assortie d’un moyen de déterminer si un énoncé est vrai, est appelée une logique. Un énoncé dans le langage est une formule. Le moyen de déterminer la «valeur de vérité» d’une formule peut être soit syntaxique soit sémantique. Une déduction syntaxique est une séquence finie de formules, qui commence par un axiome (formule arbitrairement vraie) et telle que chaque formule dans la séquence est obtenue à partir des formules précédentes par l’application d’une règle d’inférence. Le moyen sémantique consiste à donner un cadre intuitif à la définition de la vérité d’une formule. Plusieurs familles de logiques ont été étudiées, selon le domaine d’application. Les logiques constructives 3 sont utilisées en informatique, en particulier avec le but de généré du code à partir de la spécification d’un programme [67, 100]. Chaque formule est associée à une preuve qui démontre cette formule, plutôt qu’à une valeur de vérité (vrai ou faux). Une preuve peut aussi être vue comme un algorithme. Une autre famille de logiques a été développée à l’origine par les philosophes : les logiques modales. Elles étudient au départ les raisonnements qui utilisent les notions de nécessité («il est nécessaire que . . . ») et de possibilité («il est possible que . . . »). Les logiques modales sont maintenant plus largement utilisées pour des concepts comme les croyances [53], les intentions [26], les exécutions de programmes [63], les obligations [136], et les aspects temporels [106]. Les formules modales sont construites à partir d’énoncés atomiques, appelés propositions, et d’opérateurs modaux, qui expriment les notions mentionnées ci-dessus. Dans cette thèse, nous nous focaliserons sur les obligations et les aspects temporels, habituellement étudiés à l’aide des logiques temporelles et déontiques. La logique temporelle a été introduite par Prior [106, 107], pour exprimer des phrases comme «il sera toujours le cas que . . . », «il sera un jour le cas que . . . », qui correspondent respectivement aux opérateurs modaux G et F . Kamp [74] a proposé une extension avec l’opérateur binaire U (until) : A U B signifie que A est vrai, et reste vrai jusqu’à ce que B le devienne. Pnueli a proposé en 1977 d’utiliser la logique temporelle pour la spécification et la vérification des systèmes réactifs [101]. Cette idée a donné lieu, peu après, à une technique de vérification appelée vérification de modèle (model checking en anglais) [38, 108]. La première étape consiste à fournir un modèle du système à vérifier - en général, un automate fini - dans un formalisme accepté par l’outil de vérification de modèle. La seconde étape consiste à spécifier le propriété exigée par une formule logique. L’outil applique ensuite une procédure de parcours pour déterminer si la formule est vraie dans l’abstraction du système. Dans les années 80, lors des débuts de la vérification de modèle, il n’était possible que de gérer des systèmes avec quelques milliers d’états. Aujourd’hui, de grands progrès dans les techniques permettent une bien meilleure efficacité, mais l’explosion de l’espace d’états reste un défi important. Le premier système de logique déontique a été introduit par Mally en 1926 [90] ! Malheureusement, ce système a de nombreuses propriétés indésirables, et la logique déontique est seulement devenue un domaine de recherche actif après le premier système de von Wright [136], dont la version avec modèle de Kripke est connue sous le nom de Logique Déontique Standard (Standard Deontic Logic, ou SDL, en anglais). Depuis lors, les logiciens ont soulevé des paradoxes dans SDL, et proposé différentes variantes de SDL pour les éliminer. Cet aspect sera discuté dans le chapitre suivant. Nous pensons que la logique déontique peut être utile à la sécurité informatique dans un contexte où les normes peuvent être violées, et où on voudrait raisonner explicitement sur ces violations. Ça concerne typiquement une politique de 4 sécurité qui spécifie des contraintes faibles. Considérons, par exemple, les règles suivantes dans un contexte d’allocation de ressource : (1) useri a l’obligation de libérer la ressource r après 5 unités de temps d’utilisation ; (2) Si useri utilise la ressource sans la permission, alors il doit ne plus la demander pendant 10 unités de temps. La règle (1) spécifie que useri a l’obligation de libérer la ressource r lorsqu’une certaine condition est vraie. Cette obligation peut être violée, et la règle (2) raisonne explicitement sur cette violation. La logique déontique semble appropriée pour spécifier et raisonner sur ces notions. Par ailleurs, ces deux règles contiennent clairement un aspect temporel. Notre travail consiste à combiner les logiques temporelles et déontiques de manière à pouvoir – exprimer de telles politiques de sécurité ; – vérifier qu’une politique est cohérente ; – vérifier qu’un système est conforme à une politique. Plan du document Cette thèse est organisée de la manière suivante. Le chapitre 2 présente des concepts logiques basiques. Nous y développons les aspects syntaxiques et sémantiques des logiques modales. Nous étudions d’abord les logiques déontiques, qui traitent des obligations, permissions, et interdictions, puis nous nous intéressons aux logiques temporelles. Nous détaillons particulièrement le cas du temps discret et linéaire, dans lequel nous nous situerons dans la suite de la thèse, puis présentons plus brièvement les principales logiques du temps arborescent, et du temps continu. Le chapitre 3 introduit la combinaison des logiques temporelle et déontique. Tout d’abord, nous présentons rapidement les autres propositions pour combiner ces notions, et les mettons en relation avec notre approche. Ensuite, nous appliquons la plus simple des combinaisons logiques, appelée fusion, aux logiques temporelle et déontique, et discutons les variantes déontiques des propriétés d’interaction temporelles-épistémiques connues. Enfin, nous présentons le produit de logiques modales, une manière générique de combiner des logiques en garantissant certaines propriétés d’interaction. Dans le chapitre 4, nous considérons le produit des logiques temporelle et déontiques comme un point de départ. Nous nous intéressons à une nouvelle propriété d’interaction, que nous appelons propriété de propagation, particulièrement intuitive dans le contexte temporel et déontique. Nous étudions dans un premier temps la propagation des obligations avec délai. Nous proposons alors deux sémantiques possibles pour un opérateur dédié à l’obligation 5 avec délai, et discutons certaines propriétés caractéristiques pour chacune. Dans un deuxième temps, nous présentons une formulation plus générale de la propriété de propagation, qui concerne une disjonction de formules temporelles particulières. Nous proposons ensuite une sémantique intuitive qui valide la propagation, mais perd l’axiome D (garant de la cohérence des obligations entre elles). De plus, si nous considérons seulement la classe des modèles qui satisfait l’axiome D, alors aucune violation n’est satisfiable. Nous prenons alors le problème sous un angle différent, et recherchons une condition nécessaire et suffisante, sur un modèle temporel et déontique arbitraire, pour valider la propriété de propagation. La conclusion est que lorsque une obligation est violée à un certain instant, alors des propriétés indésirables surviennent à partir de cet instant. Nous raffinons alors notre sémantique à l’aide d’une relation de préférence, de manière à ce que l’axiome D soit valide, et que la propriété de propagation ne soit satisfaite que dans les états qui ne violent pas d’obligations immédiates. Le chapitre 5 présente une procédure de décision basée sur une méthode des tableaux, ainsi qu’une axiomatisation, pour le fragment de notre logique sans l’opérateur «until». La sémantique de l’obligation semble trop complexe pour développer des directement de tels outils pour notre logique. En effet, deux quantificateurs différents sont cachés dans la définition sémantique de l’opérateur d’obligation. Nous proposons de décomposer cet opérateur à l’aide de nouveaux opérateurs plus simples. Nous développons alors un système de tableaux, et une axiomatisation pour cette logique. L’axiomatisation comporte deux règles d’inférence non classiques qui correspondent à deux particularités de la logique : d’une part, une des relations d’accessibilité dépend des valuations, et d’autre part, un des opérateurs est interprété par l’intersection de deux relations d’accessibilité. Le chapitre 6 propose une application à la sécurité de l’étude logique présentée dans les chapitres précédents. Nous considérons un modèle d’un système, et une formule temporelle déontique qui spécifie la politique. Le but est de déterminer d’une part si la politique est cohérente, et d’autre part si le système est conforme à la politique. La cohérence d’une politique est réduite à la satisfiabilité de la formule correspondante. La première définition de conformité à laquelle nous parvenons est une version faible appelée compatibilité. Dans le cas général, nous n’avons pas de résultat de décidabilité, ni pour la vérification de cohérence, ni pour la vérification de conformité. Nous exhibons alors un fragment de notre logique temporelle déontique tel que les deux problèmes sont décidables pour une politique exprimée dans ce fragment. Nous réduisons de nouveau le langage pour pouvoir définir une version plus forte de la conformité. En fait, une analyse approfondie montre la nécessité de raffiner la notion de conformité en cinq différents cas de diagnostic qui donnent des «niveaux de conformité». Nous fournissons enfin un algorithme qui permet d’établir ce diagnostic (la correction et la terminaison sont établies). 6 Dans le chapitre 7, nous concluons la thèse et discutons quelques perspectives. Indications bibliographiques Le contenu de cette thèse a été partiellement publié dans différentes communications. La partie 3.2 du chapitre 3 est extraite de [31]. L’étude de l’obligation avec délai dans un produit de logiques (chapitre 4, partie 4.1) vient de [32]. La sémantique qui garantit la propriété de propagation (chapitre 4, partie 4.2) a été publiée dans un travail commun avec Jan Broersen [28, 29]. La procédure de décision et l’axiomatisation pour cette sémantique (chapitre 5) sont extraites d’un travail commun avec Philippe Balbiani et Jan Broersen [17]. Le chapitre 6 est une version enrichie d’un article écrit avec Frédéric Cuppens, Nora Boulahia-Cuppens, et Thierry Sans [33]. Bien entendu, mes directeurs de thèse, Jean-Paul Bodeveix et Mamoun Filali-Amine, ont contribué à toutes les parties ce travail, qu’ils apparaissent ou non en tant que co-auteurs. 1 Introduction This thesis deals with providing a logical framework which handles the notions of time and obligation, with the aim of being useful to computer security. The starting point of this work is a need for formal tools to specify and verify some specific security properties. This introduction presents the security context in which the thesis takes place, and introduces the logical point of view we will adopt. 1.1 Security Electronic systems are present in more and more areas which involve cooperation, distribution, and networking aspects. This growth of systems’ complexity has brought many innovations, but has also raised several new concerns. In particular, ensuring security requirements have become more and more complex. These requirements are usually classified as follows: • confidentiality: assurance that information is shared only among authorised persons or organisations. Breaches of confidentiality can occur when data is not handled in a manner adequate to safeguard the confidentiality of information; • integrity: assurance that information is authentic and complete, i.e., that information can be relied upon to be sufficiently accurate for its purpose; • availability: assurance that the systems responsible for delivering, storing and processing information are accessible when needed, by those who need them. In order to ensure these requirements, a security policy is traditionally specified. A security policy is a set of regulations and laws that describes 7 8 CHAPTER 1. INTRODUCTION how users may access the system or information. It regulates how entities access objects in a system. Modelling such access control policies has been extensively investigated in the literature [64, 115, 21, 73, 2]. An access control policy corresponds to a set of permission rules which specifies which actions subjects are authorized to perform in the information system controlled by this policy. A permission may only apply when some contextual conditions are satisfied [94, 42, 121]. For instance, in a bank, the access control policy may specify that a clerk is permitted to grant a loan to a customer, only if the amount of the loan is less than 50,000 euros. The access control policy can also include prohibitions that are especially useful to specify exceptions to permissions. More recently, it has also been suggested to consider other requirements in the security policy that correspond to obligations [22, 41]. For instance, the policy may specify that any user in the bank information system is obliged to change his or her password if this password has not been changed for more than 30 days. Models that consider obligations go beyond access control and are used to specify usage control requirements [99]. As an example of usage control requirement, the bank can specify in its policy that it is obligatory to stop the internet transaction of a bank customer if this user has been idle for more than one minute. As in many other scientific areas, formal methods are useful in order to avoid ambiguities and improve quality of understanding and model analysis. In the context of security, applying formal methods allows to verify that a policy is coherent, or that a system complies with a policy. 1.2 Formal methods and logics ’Formal Methods’ [98] refers to mathematically rigorous techniques and tools for the specification, design, and verification of software and hardware systems. The phrase ’mathematically rigorous’ means that the specifications used in formal methods are well-formed statements in a mathematical language and that the formal verifications are rigorous proofs of these statements. The definition of such a language with a way to determine whether a statement is true, is called a logic. A statement in the language is called a formula. The way to determine the truth of a formula can be can be either syntactic or semantic. A syntactic deduction is a finite sequence of formulas, which starts from an axiom (arbitrary true formula), such that each formula in the sequence is obtained from earlier formulas by applying some inference rule. The semantic way aims at giving an intuitive framework to the definition of truth for a formula. Several families of logics have been investigated, depending on the application area. Constructive logics are used in computer science, in particular with the aim of generating code from the specification of a program [67, 100]. Each formula is associated with a proof which 1.2. FORMAL METHODS AND LOGICS 9 demonstrates this formula, instead of a value (true or false). A proof of a formula can also be seen as an algorithm. Another family of logics, originating from philosophy, is called modal logic. It originally studies reasoning that involves the use of the expressions “necessarily” and “possibly”. Modal logics are now used more broadly for concepts such as belief [53], intention [26], program execution [63], obligation [136], and temporal ordering [106]. Modal formulas are built from atomic statements, called propositions, and modal operators, which handle the above-mentioned notions. Here, we focus on obligation and temporal ordering, usually addressed through deontic and temporal logics. Temporal logic was introduced by Prior [106, 107], in order to express sentences as ’henceforth, it will be the case that . . . ’, and ‘it will eventually be the case that . . . ’ corresponding to modal operators G and F respectively. Kamp proposed an extension with binary modal operator U (read until): A U B means that A is true, and remains true until B becomes true. Pnueli proposed in 1977 to use temporal logic for the specification and the verification of reactive systems [101]. This idea gave rise, shortly after, to the verification technique called temporal logic model checking [38, 108]. The first step is to provide a model of the system to verify - usually, a finite state transition graph - in a formalism accepted by a model checking tool. The second step consists in specifying the required property as a logic formula. The model checker then applies a search procedure to determine whether the formula is true in the abstraction of the system. In the 1980s, when temporal model checking was first developed, it was only possible to handle systems with a few thousands states. Even if today, sophisticated procedures have a better efficiency, state space explosion problem remains an important challenge. The first logical system of deontic logic was introduced by Mally in 1926 [90]! Unfortunately, this system had a lot of undesirable theorems, and deontic logic has only become an ongoing active academic area after the first system of von Wright [136], of which the first Kripke-style version is known as Standard Deontic Logic (SDL). Since then, logicians have raised some paradoxes in SDL, and proposed different variants of SDL to avoid them. This we will be discussed in the first chapter. According to us, deontic logic can be useful in computer security in a context where norms can be violated, and where we want to reason explicitly about these violations. This typically concerns a security policy which specifies some soft (violable) constraints. Consider for instance, the following rules in a resource monitoring context: (1) useri has to release resource r after 5 time units of utilization; (2) if useri uses the resource without the permission, then he must not ask for it for 10 time units. CHAPTER 1. INTRODUCTION 10 Rule (1) specifies that useri is obliged to release resource r when some condition is true. This obligation can be violated, and rule (2) explicitly reasons about this violation. Deontic logic seems appropriate to express and reason about these notions. Besides, both rules clearly capture temporal aspects. Our work consists in combining temporal and deontic logics so that we can easily • express such security policies; • check that a policy is coherent; • check that a system is compliant with a policy. 1.3 Outline This dissertation is organized as follows. Chapter 2 deals with basic logical concepts. We review syntactic and semantic aspects of modal logic. Firstly, we present the family of modal logics which model deontic concepts. Secondly, we focus on temporal logics. We especially develop the linear and discrete time case, in which we are particularly interested. We also present the main temporal logics of branching-time and of continuous time. Chapter 3 introduces the combination of temporal and deontic logics. Firstly, we give a brief presentation of other attempts to combine these notions, and express how we are in relation with them. Secondly, we apply the simplest logical combination, called fusion, to temporal and deontic logics, and discuss deontic variants of temporal-epistemic interaction properties. Then, we present the product of modal logics, a natural and generic logic combination, which ensures these interaction properties. In chapter 4, we take the product of temporal and deontic logics as a starting point. We investigate another interaction property, called propagation property, which is particularly intuitive in a temporal and deontic context. We first discuss the propagation of deadline obligations. We propose two possible semantics for an operator dedicated to obligation with deadline, and discuss some characteristic properties for each one. Secondly, we provide a more general formulation of the propagation property, which concerns a special temporal disjunction. We propose an intuitive semantics which validates the propagation, but loses axiom D (which guarantees the coherence of obligations). Moreover, if we only consider the class of models which satisfy axiom D, then no violation is satisfiable. We then consider the problem from a different point of view, and look for a necessary and sufficient condition on an arbitrary temporal deontic model to validate the propagation property. The conclusion is that when an obligation is violated at some moment, undesirable properties necessarily occur from that instant 1.4. BIBLIOGRAPHIC NOTES 11 on. We then refine our semantics with a preference-based deontic relation, so that the propagation property is only satisfied in the states that do no violate any immediate obligations. Chapter 5 deals with a tableaux-like decision procedure and an axiomatization for the until-free fragment of this logic. The semantics of obligation seems too complicated to develop logical tools. Two different quantifiers are hidden in the semantic definition of the obligation operator. We propose to decompose this operator into more simple ones. We then develop a tableau system with explicit accessibility relations, and an axiomatization with nonclassical rules which handle the two following semantic particularities of our logic: one of the accessibility relations depends on valuations, one operator corresponds to the intersection of two accessibility relations. Chapter 6 provides a security application of the logical study. We consider a model of a system, and a temporal deontic formula which specifies the policy. The goal is to determine whether the policy is coherent on the one hand, and whether the system complies with the policy on the other hand. The coherence of a policy is reduced to the satisfiability of the corresponding formula. The first definition of compliance we come up with is a weak version called compatibility. In the general framework, we have no decidability result, neither for coherence checking, nor for compliance checking. We then exhibit a fragment of our temporal deontic logic such that for a policy expressed in this fragment, both problems are decidable. We then constrain again the policy language in order to define a stronger version of compliance. Actually, a careful analysis shows the necessity to refine the notion of compliance into five different diagnostic cases which give ’levels of compliance’. A terminating and correct algorithm is provided to establish the diagnostic. In chapter 7 we conclude the thesis and discuss some perspectives. 1.4 Bibliographic notes The content of this thesis has been partially published in several communications. Section 3.2 of chapter 3 is extracted from [31]. The study of deadline obligations in a product settings (chapter 4, section 4.1) comes from [32]. The semantics which ensures the propagation property (chapter 4, section 4.2) has been published in a joint work with Jan Broersen [28, 29]. Decision procedure and axiomatization for this semantics (chapter 5) are extracted from a joint work with Philippe Balbiani and Jan Broersen [17]. Chapter 6 is the sequel of a paper with Frédéric Cuppens, Nora Boulahia-Cuppens, and Thierry Sans [33]. Of course, my supervisors Jean-Paul Bodeveix and Mamoun Filali-Amine have played an important role in all parts of this work, whether they appear or not as co-authors. 12 CHAPTER 1. INTRODUCTION 2 Basic logical concepts In this chapter, we introduce the basic concepts of logics which are needed in the remainder of the Ph.D. thesis. Section 2.1 deals with some general points of modal logic: we present Hilbert-style axiomatization, possible worlds semantics, and some basics about correspondence between axioms and semantic conditions. Section 2.2 focuses on deontic logic. Section 2.3 introduces temporal logic, and section 2.4 presents model-checking results for temporal logics. 2.1 Modal logic In this section, we present some basics of modal logic. We stay in the framework of unimodal logic because it is simpler to write and sufficient for the remainder of the thesis, although every definition can easily be extended to multimodal logic. Definition 1 (Modal language). Given a set P of atomic propositions, the propositional modal language ML is defined as ϕ ::= p | ⊥ | ϕ ⇒ ϕ | ϕ where ⊥ is a constant (’false’) and p ∈ P is an atomic proposition. The usual boolean operators are defined in terms of the constant ⊥ and the operator ⇒: def def ¬ϕ = ϕ ⇒ ⊥ = ¬⊥ def def ϕ1 ∨ ϕ2 = (¬ϕ1 ) ⇒ ϕ2 ϕ1 ∧ ϕ2 = ¬(¬ϕ1 ∨ ¬ϕ2 ) def is called the necessity modal operator and ♦ = ¬¬, defined as its dual, is called the possibility operator. We can define similarly the propositional n-modal language MLn with n necessity and n possibility operators 1 , . . . , n and ♦1 , . . . , ♦n . 13 CHAPTER 2. BASIC LOGICAL CONCEPTS 14 A logical system in general, and a modal system in particular, consists in singling out and describing a subset of formulas considered as true, no matter what values are assigned to their variables. There are two ways of defining logics: semantic and syntactic. Both complement each other. Usually, the semantic way introduces a semantic domain and explains the meaning of the logical constants and connectives as operators of the semantic domain, while the syntactic way reasons about the structure of a formula. 2.1.1 Axiomatics As a syntactic way, we consider in this thesis Hilbert-style inference systems. They consist in indicating which formulas are chosen as axioms, and defining inference rules. A derivation of a formula ϕ in such a system is a finite sequence ending with ϕ and such that each formula in the sequence is either an axiom or obtained from earlier formulas in the sequence by applying some inference rule. The logic of the inference system is then defined as the set of all derivable formulas. A set of ML-formulas which contains • all axioms of propositional logic • the modal axiom scheme (K) (ϕ1 ⇒ ϕ2 ) ⇒ (ϕ1 ⇒ ϕ2 ) (K) and which is closed under the following inference rules • ϕ1 ϕ1 ⇒ϕ2 Modus Ponens (MP) ϕ2 ϕ(x ,...,x ) • ϕ(ψ /x1,...,ψn /x ) Uniform Substitution (US) 1 1 n n where ϕ(ψ1 /x1 , . . . , ψn /xn ) is obtained from ϕ(x1 , . . . , xn ) by substituting formulas ψ1 , . . . , ψn for the atomic propositions x1 , . . . , xn in ϕ. ϕ • ϕ Necessitation is called a normal modal logic. The minimal normal modal logic is denoted by K (its only axioms and inference rules are the ones listed above). It is too weak to provide an adequate account of necessity. For instance, axiom ϕ ⇒ ϕ, called T , is not provable in K , but it is clearly desirable. It claims that whatever is necessary is the case. On the other hand, axiom T is not correct if we read as it is obligatory that, or some agent believes that. Thus, depending on the concept to be modeled, several modal systems have been introduced. 2.1. MODAL LOGIC 15 Actually, every modal logic L can be obtained be extending system K with a set Γ of extra axioms. In this case, we note L=K⊕Γ Here are some modal systems obtained by enriching K with extra axioms. def ⊕ ϕ ⇒ ♦ϕ def ⊕ ϕ ⇒ ϕ • KD = K • KT = K def • S4 = KT def • S5 = S4 2.1.2 ⊕ ⊕ ϕ ⇒ ϕ ϕ ⇒ ♦ϕ Semantics The semantic way aims at giving an intuitive framework to the definition of truth for a modal formula. It has been developed by Hintikka [69] and Kripke [78, 77]. Necessity is then understood as truth in all possible worlds. Thus, structures in which formulas are interpreted contain different worlds which can have some alternatives. Every world ’lives’ under the laws of classical logic: an atomic proposition is either true or false in it, and the truth-values of a boolean combination of atoms (propositional formulas) is determined by boolean truth-tables. Definition 2 (Possible worlds semantics). The semantics of ML-formulas is given through relational structures F = (W, R) called Kripke frames, or simply frames. • W is non empty a set of worlds • R ⊆ W × W is an accessibility relation on W which associates each world with a set of alternative worlds A valuation V : W → 2P for a structure F = (W, R) is a function which associates each world with a set of atomic propositions. The pair (F, V ) is called a Kripke model, or simply a model. Figure 2.1 shows an illustration of a model, where the states are the circles, the accessibility relation is represented by the arrows, and the valuation by the sets of atomic propositions associated with each state. We can now define the conditions under which a world of a model satisfies a formula. CHAPTER 2. BASIC LOGICAL CONCEPTS 16 {q} {p, q} {p} Figure 2.1: Kripke model Definition 3 (Satisfaction). Given a frame F = (W, R), a valuation V for F , and a formula ϕ, we can define the satisfaction relation |= by induction on ϕ, where F, V, w |= ϕ is read as ’ϕ is satisfied by the world w of the model (F, V )’ or ’ϕ is true in the world w of the model (F, V )’: F, V, w F, V, w F, V, w F, V, w |= p ⊥ |= ϕ1 ⇒ ϕ2 |= ϕ iff p ∈ V (w) iff iff if F, V, w |= ϕ1 then F, V, w |= ϕ2 ∀w ∈ W if wRw then F, V, w |= ϕ where p∈P When there is no ambiguity, we write w |= ϕ instead of F, V, w |= ϕ for the sake of brevity. The semantics of MLn -formulas is then given through structures F = (W, R1 , . . . , Rn ) with n accessibility relations, called n-frames. A model (F, V ) satisfies ϕ if every world in W satisfies it. F, V |= ϕ iff ∀w ∈ W F, V, w |= ϕ A frame F validates ϕ if every model based on F satisfies it. F |= ϕ iff for every valuation V F, V |= ϕ A formula ϕ is valid if every frame validates it. |= ϕ iff for every frame F F |= ϕ A formula ϕ is satisfiable if there exists a model and a world which satisfies it, or equivalently, if its negation is not valid. 2.1. MODAL LOGIC 17 Definition 4 (Logic: a semantic definition). • Given a class C of frames, we can define the set Log(C) of the formulas that every frame of C validates: def Log(C) = {ϕ / ∀F ∈ C F |= ϕ} It is easy to check that Log(C) is a normal modal logic, and we call it the logic of C. • A normal logic L is said to be sound with respect to C if ∀ϕ ∈ L ∀F ∈ C F |= ϕ, i.e., L ⊆ Log(C). L is complete with respect to C if every formula which is valid in every frame of C is in L, i.e., Log(C) ⊆ L. L is determined, or characterized by C if L = Log(C). • A logic L is Kripke-complete if there exists a class C of frames such that L = Log(C). • Then F r(L) denotes the class of all the frames which validate every formula of L. For L Kripke complete, it can be proved that L = Log(F r(L)) [23, 57]. An attractive feature of the possible worlds semantics is that many logics are characterized by classes of frames satisfying simple conditions. For instance, we have the following completeness results concerning the modal logics introduced in section 2.1.1. Theorem 1 (Completeness [78]). The logics K, KD, KT, S4, and S5, are Kripke-complete. Besides, we have: • F r(KD) is the class of all frames (W, R) such that R is serial1 . • F r(KT) is the class of all frames (W, R) such that R is reflexive. • F r(S4) is the class of all frames (W, R) such that R is reflexive and transitive. • F r(S5) is the class of all all frames (W, R) such that R is an equivalence relation, i.e., R is reflexive, transitive, and symmetric. Another related issue is the direct translation of a modal axiom schema into a condition on Kripke frames: Correspondence theory [125, 126] studies the class of frames which is ’defined’ by a given formula. We say that a formula ϕ defines the class C of frames if F ∈ C iff F validates ϕ, for every frame F . Actually, every axiom schema we have considered to enrich the logic K defines a simple class of frame, independently of a deduction in modal logic. 1 ∀w ∈ W ∃w ∈ W such that wRw 18 CHAPTER 2. BASIC LOGICAL CONCEPTS Theorem 2 (Correspondence). Here are the class of frames which are defined by each of the previously considered axiom schemas. (axiom T) (axiom D) (axiom 4) (axiom B) Axiom schema ϕ ⇒ ϕ defines the frames (W, R) such that R is reflexive. Axiom schema ϕ ⇒ ♦ϕ defines the frames (W, R) such that R is serial. Axiom schema ϕ ⇒ ϕ defines the frames (W, R) such that R is transitive. Axiom schema ϕ ⇒ ♦ϕ defines the frames (W, R) such that R is symmetric. Automatic translations of modal formulas into such conditions on frames have been widely studied. In particular, Sahlqvist [114] exhibited a class of formulas, called Sahlqvist formulas, which have nice correspondence properties. Indeed, although in general, every modal formula is equivalent to a second-order condition on frames, a Sahlqvist formula ϕ have a first-order equivalent F O(ϕ) (this first-order equivalent can be obtained in an effective way). Moreover the logic K ⊕ ϕ is characterized by the frames which satisfy F O(ϕ). Definition 5 (Sahlqvist formulas). Let a positive (resp. negative) formula of modal logic be one where all atomic propositions occur in the scope of an even (resp. odd) number of negation signs only. Let a Sahlqvist antecedent be a formula that is built up from atomic proposition prefixed by any finite number of necessity operators and negative formulas, using only ∧ and ∨, and the possibility operator ♦. For example, ♦p is a Sahlqvist antecedent, whereas ♦p and (p ∨ q) are not. Then, a Sahlqvist formula is any formula that may be obtained by applying conjunctions and necessity operators to implications of the form ϕ1 ⇒ ϕ2 , where ϕ1 is a Sahlqvist antecedent, and ϕ2 is a positive formula. Theorem 3 (Sahlqvist theorem [114]). Let ϕ be a Sahlqvist formula. There is a computable first order condition on frames F O(ϕ) such that (1) ϕ defines the frames (W, R) which satisfy F O(ϕ), (2) the logic K ⊕ ϕ is characterized by the frames which satisfy F O(ϕ). Actually, item (2) is more general: it applies not only to K but also to any canonical logic. The notion of canonicity of a logic will not be defined here. Remark 1. Axioms T, D, 4, and B are Sahlqvist formulas. We now provide the results of decidability and complexity for the previously introduced logics. A logic L is said to be decidable if the satisfiability problem for L is decidable. For proofs consult [81, 34]. 2.2. DEONTIC LOGIC 19 Theorem 4 (Decidability). All the logics K, KD, KT, S4, and S5, are decidable. The satisfiability problem for K, KD, KT, and S4 is PSPACEcomplete. The satisfiability problem for S5 is NP-complete. 2.2 Deontic logic Instead of presenting an exhaustive state of the art in deontic logic, we discuss Standard Deontic Logic (SDL) introduced by Von Wright [136], and some direct extension. We will not deal with non-monotonic/defeasible logics [56, 105, 72], which are useful to model argumentation or legal reasoning. 2.2.1 Standard Deontic Logic SDL One of the first logical systems which attempted to capture obligation was published in 1951 by Von Wright [136], of which the modal Kripke-style version is known as Standard Deontic Logic (SDL). Definition 6 (SDL). Standard Deontic Logic SDL is the modal logic KD, where the necessity operator, which expresses obligation, is denoted O instead of , and the possibility operator, which expresses permission, is denoted by P instead of ♦. Axiom D expresses that every obligatory formula is permitted, i.e., not forbidden. Another formulation of axiom D is that a formula cannot be both obligatory and forbidden. Definition 7 (SDL semantics). As stated in theorem 1, SDL can be defined as the logic which is characterized by the class of all the serial frames: SDL = Log({F / F is serial}). A SDL-frame is then a Kripke frame F = (W, R) such that R is serial, a SDL-model is a triple M = (W, R, V ) such that (W, R) is an SDL-frame and V is a valuation on W . Since the modal operators express obligation and permission instead of necessity and possibility, we now consider that the accessibility relation R gives ideal alternative worlds, i.e., worlds in which what is obligatory effectively occurs. The fact that R is serial means that in every world, there exists at least one ideal alternative. If there were a world from which no ideal world is accessible, then everything would be obligatory in this world. 2.2.2 Some theorems and paradoxes Here are some theorems in SDL (see e.g. [95] for a more detailed discussion): • O(ϕ1 ∧ ϕ2 ) ⇔ O(ϕ1 ) ∧ O(ϕ2 ) (distributivity of O over ∧) CHAPTER 2. BASIC LOGICAL CONCEPTS 20 • P (ϕ1 ∨ ϕ2 ) ⇔ P (ϕ1 ) ∨ P (ϕ2 ) (distributivity of P over ∨) • P (ϕ1 ∧ ϕ2 ) ⇒ P (ϕ1 ) ∧ P (ϕ2 ) • O (ϕ1 ∨ ϕ2 ) ∧ O(¬ϕ1 ) ⇒ O (ϕ2 ) • O (ϕ1 ) ⇒ O(ϕ1 ∨ ϕ2 ) (Ross’s paradox) Ross claims [111] that this theorem is not intuitive under a commonsense reading: being obliged to post a letter does not imply being obliged to post it or to burn it. According to many deontic logicians, the paradox is due to an incorrect reading [68]. First, SDL reasons about state propositions, and obligation to satisfy state formulas, whereas the letter example reasons about obligation to perform some action. In order to distinguish these two kinds of obligations, the denominations ’obligation to be’ and ’obligation to do’ are often used. An obvious difference is that the latter implicitly refers to an agent, whereas the former does not. If we read O(ϕ1 ) as ’it is obligatory to satisfy the condition ϕ1 ’, then it makes perfect sense to say that it entails that ’it is obligatory to satisfy the condition ϕ1 ∨ ϕ2 ’, because this latter condition is a logical consequence of the former condition. (Penitent’s paradox) • O (¬ϕ1 ) ⇒ O¬(ϕ1 ∧ ϕ2 ) This theorem is obtained by substituting ¬ϕ1 and ¬ϕ2 for ϕ1 and ϕ2 respectively in the latter theorem. It is considered as Penitent’s paradox. If it is forbidden to do a crime, then it is forbidden to do a crime and do a penitence. Again, if O(ϕ) is correctly interpreted as ’it is forbidden to satisfy the condition ϕ’, then this theorem poses no problem. One of the most serious paradoxes in SDL involves the notion of contraryto-duty (CTD) obligations. These have to do with the specification of norms which apply in case some other norms have already been violated. The best known example is given by Chisholm [37]. Although the four following statements are consistent, their formulation in SDL is not. 1. it is obligatory that John goes to the assistance of his neighbors 2. if John does go then it is obligatory that he tells them he is coming 3. if John doesn’t go, then it is obligatory that he does not tell them he is coming 4. John doesn’t go Let ϕ1 express ’John goes to the assistance of his neighbors and ϕ2 express ’John tells them his coming’. The formalisation of (1) and (4) as O (ϕ1 ) and ¬ϕ1 respectively is straightforward. On the other hand, the formalisation of 2.2. DEONTIC LOGIC 21 conditional obligations (2) and (3) is unclear. Indeed, do we have to model (2) as ϕ1 ⇒ O(ϕ2 ) or as O(ϕ1 ⇒ ϕ2 )? Both formulations seem reasonable, but ϕ1 ⇒ O(ϕ2 ) is derivable from (4) (¬ϕ1 ), whereas all of (1)-(4) are intuitively independent from each other. Similarly, among both formulations of (3) ¬ϕ1 ⇒ O(¬ϕ2 ) and O(¬ϕ1 ⇒ ¬ϕ2 ), the latter is derivable from (1) (O(ϕ1 )). So, the four sentences are traditionally expressed as follows: 1. O(ϕ1 ) 2. O(ϕ1 ⇒ ϕ2 ) 3. ¬ϕ1 ⇒ O(¬ϕ2 ) 4. ¬ϕ1 In SDL, this set (1)-(4) is inconsistent, contrary to the intuition behind the four initial sentences. In conclusion, SDL cannot handle this situation: either the considered statements are logically dependent, or they are inconsistent. Several analyses and solutions have been proposed to solve CTD paradoxes. Some solutions are based on a temporal reading of paradoxes [49, 129, 15, 27]. Temporal deontic logics will be dealt with in the next chapter. Another direction is to handle defeasible reasoning with nonmonotonic logics [112, 93]. Statement 1 is then considered as a defeasible rule, and rule 3 applies in exceptional circumstances (John does not go to the assistance of his neighbours). If these exceptional circumstances hold, then rule 3 ’defeats’ rule 1. There is no conflict because rule 1 and rule 3 does not apply in the circumstances. Many arguments have been developed against the defeasible view of CTD obligations (see, e.g., [104, 127]). Indeed, it fails to model that when the secondary obligation applies (’it is obligatory that John does not tell he is coming’), the primary obligation (’it is obligatory that John goes to the assistance of his neighbours’) is violated. Some works [103, 104, 130, 127] have followed another direction, based a on a dyadic obligation operator, with a preference semantics. 2.2.3 Dyadic deontic logic based on a preference relation In this section, we present Hansson’s Dyadic Standard Deontic Logic 3 (DSDL3) [62], the first logic to propose a semantics based on a preference relation (denoted by ) for a dyadic obligation operator. This idea gave rise to extensions of DSDL3 [104, 127] and other deontic systems [12, 71]. An obligation to satisfy ϕ1 given ϕ2 is true, denoted by O(ϕ1 /ϕ2 ), holds either if there is no world which satisfies ϕ2 , or if ϕ1 is satisfied by the best worlds (maximal for ) among those which satisfy ϕ2 . CHAPTER 2. BASIC LOGICAL CONCEPTS 22 Definition 8 (Preference semantics). A model is a tuple M = (W, , V ) where • W is a set of worlds • ⊆ W × W is a transitive and complete (or total) binary relation, viewed as a preference relation. w w is read as w is at least as good as w. – (transitivity) w ∀w, w , w ∈ W if w w and w w then w – (completeness, or totality) w ∀w, w ∈ W w w or w • V : W → 2P is a valuation function on W The formal semantics of a conditional obligation O(ϕ1 /ϕ2 ) is given as follows: w |= O(ϕ1 /ϕ2 ) iff or ∀w ∈ W w |= ¬ϕ2 ∃w ∈ W such that w |= ϕ2 and ∀w ∈ W if w w then w |= ϕ2 ⇒ ϕ1 Notice that O(ϕ1 /ϕ2 ) is true in a world w iff it is true in every world. The Chisholm scenario, now formulated as follows, is consistent. 1. O(ϕ1 ) 2. O (ϕ2 /ϕ1 ) 3. O (¬ϕ2 /¬ϕ1 ) 4. ¬ϕ1 Notice, however, that from O(¬ϕ2 /¬ϕ1 ) and ¬ϕ1 , we cannot deduce O(¬ϕ2 ), i.e., the derivation usually called ’deontic detachment’ does not hold. This problem has been taken care of in some above-mentioned extensions, which are out of the scope of this thesis. 2.3 Temporal logic Temporal logic corresponds to one of the most usual modal logics, and has become essential in computer science for the specification of reactive systems. Its modal operators may concern the future (it is always true that . . . , it will eventually be true that . . . ) or the past (it has always been true that . . . , ϕ1 is true since ϕ2 was true). Because of two dyadic operators (until and since), the language and the semantics does not fit exactly with the generic 2.3. TEMPORAL LOGIC 23 framework described in section 2.1. Another difference between temporal logic and other modal logics is the presence of initial worlds. Temporal logics are often classified according to whether time is assumed to have a linear or a branching structure. Another classification is made between discrete and continuous models of time. We will introduce temporal logic trough linear temporal logic with discrete time, known as Linear Temporal Logic (LT L). In section 2.3.2, we will present LT L semantics more in details, and in section 2.3.4 we will introduce an axiomatization of LT L. In section 2.3.5, we will present more shortly branching-time temporal logic, and in section 2.3.6 we will be interested in timed logic. 2.3.1 Linear temporal logic Linear Temporal Logic (LT L) studies temporal properties in the framework of a linear and discrete time. Here are the main temporal operators of LT L. Future operators Xϕ next ϕ ϕ1 U ϕ2 ϕ1 until ϕ2 Past operators X −1 ϕ previous ϕ ϕ1 S ϕ2 ϕ1 since ϕ2 Xϕ means that ϕ will hold in the next state, and X −1 ϕ means that there is a previous state, and it satisfies ϕ. The same symmetry stands between U and S: ϕ1 U ϕ2 means that ϕ2 will be true, eventually, at some moment i, and ϕ1 is true from now until the moment before i, whereas ϕ1 Sϕ2 means that ϕ2 was true, in the past, at some moment i, and ϕ1 has been true from the moment after i until now. The usual temporal operators G (always), G−1 (always in the past), F (eventually), and F −1 (eventually in the past ) are defined as the following abbreviations: Future operators Fϕ Gϕ def = U ϕ def = ¬F ¬ϕ Past operators F −1 ϕ def G−1 ϕ def = Sϕ = ¬F −1 ¬ϕ def We also define the weak previous operator as X −1 = ¬X −1 ¬. X −1 ϕ means that there is no previous state (the current instant is 0), or ϕ was true in the previous state. To reason about deadlines, we will often index future operator F with k, to express that a formula will be satisfied before k time steps: ϕ if k = 0 def Fk ϕ = ϕ ∨ XFk−1 ϕ if k > 0 CHAPTER 2. BASIC LOGICAL CONCEPTS 24 Definition 9 (LT L-language). The language L(X, U, X −1 , S) of LT L with all future and past operators is defined by the following syntax: ϕ ::= P | ⊥ | ϕ ⇒ ϕ | X ϕ | ϕ U ϕ | X −1 ϕ | ϕ S ϕ The language LLT L (E), where E ⊆ {X, U, X −1 , S}, corresponds to the fragment of L(X, U, X −1 , S) which only contains the modal operators in E. For instance, L(X, U ) corresponds to the pure future fragment of the language. The logic LT L(E), where E ⊆ {X, U, X −1 , S}, is defined as the set of valid formulas (in the semantic point of view) or theorems (in the syntactic point of view) of L(E). The definitions of valid formulas and theorems of L(X, U, X −1 , S) are given in sections 2.3.2 and 2.3.4 respectively. Many variants and extensions of LT L, which are out of the scope of this thesis, have been investigated (consult, e.g., [83, 44, 45]). 2.3.2 LT L semantics Let us see more in detail the semantics of LT L, i.e., the structures needed to define the truth of temporal formulas. Definition 10 (LT L-model). An LT L-model is a tuple M = (N, <, V ) where • the set N of the natural numbers represents the set of the moments • <⊆ N × N is the usual strict order on N; the immediate <-successor of i ∈ N is denoted i + 1 as usual • V : N → 2P is a valuation function which associates each instant with a set of atomic propositions In the remainder, we use all the usual orders , >, on N which can all be defined from <. Definition 11 (LT L satisfaction relation). Given an LT L-model M = (N, <, V ), an instant i ∈ N, and a formula ϕ, we define |= by induction on ϕ (we write V, i |= ϕ or i |= ϕ for short): i |= p i⊥ i |= ϕ1 ⇒ ϕ2 i |= Xϕ i |= ϕ1 U ϕ2 iff p ∈ V (i) where p ∈ P iff iff iff i |= X −1 ϕ i |= ϕ1 S ϕ2 iff iff if i |= ϕ1 then i |= ϕ2 i + 1 |= ϕ ∃i i such that i |= ϕ2 ∀ i ∈ N if i i < i then i > 0 and i − 1 |= ϕ ∃i i such that i |= ϕ2 ∀ i ∈ N if i < i i then and i |= ϕ1 and i |= ϕ1 2.3. TEMPORAL LOGIC 25 A formula ϕ is said to be satisfied by a model M (denoted by M |= ϕ) if it is satisfied by its first state. A formula is said to be satisfiable if there is a model which satisfies it. A formula is said to be valid if every model satisfies it: Notice that validity and satisfiability are evaluated at the initial instant. This corresponds to the anchored version of LT L [91]. This approach is commonly adopted in the model checking community [85, 39]. Another approach [59, 110] consists in considering that a formula is valid if it is true at all instants of all models. Similarly, a formula is then considered to be satisfiable if it holds at some instant of some model. We will refer to this second approach as the floating version of LT L. This second approach is closer to other modal logics, and allows for instance more standard axiomatizations. Notice that if we consider the pure-future fragment, both notions define the same set of valid formulas. Notice that the semantics of the non-primitive temporal operators X −1 , G, G−1 , F , F −1 , are as follows: i |= X −1 ϕ i |= G ϕ i |= G−1 ϕ i |= F ϕ i |= F −1 ϕ iff iff iff iff iff i=0 ∀i ∈ N ∀i ∈ N ∃i ∈ N ∃i ∈ N or if if such such (i > 0 and i − 1 |= ϕ) i i then i |= ϕ i i then i |= ϕ that i i and i |= ϕ that i i and i |= ϕ Figure 2.2 illustrates an LT L-model which satisfies G p, F q, and p U q, for instance. {p} {p} {p} {p, q} Figure 2.2: model satisfying Gp 2.3.3 Characterization of properties A distinction between safety and liveness properties is often adopted in the specification of behavioural properties. These notions are introduced by Lamport in [82]. Roughly speaking, a safety property expresses that ’something bad will not happen’, and a liveness property expresses that ’eventually, something good will happen’. Here, we consider the semantical view of a property: a property is defined as a set of sequences instead of a formula. In the semantics of LT L, a model (N, <, V ) is a sequence over alphabet 2P of proposition sets. Thus, a LT L-formula can be viewed as the set of sequences (or models) which satisfy it. On the other hand, a set of sequences over CHAPTER 2. BASIC LOGICAL CONCEPTS 26 alphabet 2P cannot necessarily be viewed as a formula, since LT L has only the expressiveness of first order logic over (N, <) (cf theorem 6). Safety properties have been widely studied since the eighties. Indeed, Alpern and Schneider established a strong correspondence between finite automata and safety properties. Abadi and Lamport generalized this correspondence to a particular class of infinite automata [1]. This correspondence seems to be one of the main justifications for the interest of safety properties. A first formal definition was given by Lamport in [82] and has been improved in [3]. Here, we use the standard notations for sequences. If S is an alphabet, the set of infinite (resp. finite) sequences over S is denoted by S ω (resp. S ∗ ). If σ is a sequence over an alphabet S, and I ⊆ N is an interval, σI represents the sequence (σ(i))i∈I . Notice that σI is infinite if and only if σ and I are infinite. For instance, σi , represents the prefix of σ ending at index i, and σ>i denotes the suffix of σ starting from index i + 1. If σ is a finite sequence, and τ is a sequence, σ · τ is the concatenation of σ and τ . Definition 12 (Safety property). A property Γ ⊆ S ω is a safety property iff the following condition holds for every sequence σ if σ∈ /Γ then (∃i ∈ N ∀τ ∈ S ω σi · τ ∈ / Γ) Every sequence which does not belong to property Γ can be characterized by a ’bad’ prefix, i.e., a prefix such that all its continuations do not belong to Γ. An LT L-formula ϕ is a safety formula iff the set of the sequences (or models) which satisfy it is a safety property. A liveness property expresses that ’eventually, something good will happen’. So, checking the violation of a liveness property implies to consider some infinite sequence. Liveness properties were formally defined for the first time in [3]. Definition 13 (Liveness property). A property Γ is a liveness property iff {σi / σ ∈ Γ and i ∈ N} = S ∗ Every prefix can be extended so that it is in Γ. An LT L-formula ϕ is a liveness formula iff the set of the sequences (or models) which satisfy it is a liveness property. An interesting result, called decomposition theorem, states that every property is the conjunction of a safety property and a liveness property. Abadi and Lamport proved this theorem in [1] using a topological characterization of safety and liveness properties. Given an alphabet S, the distance between two sequences in S ω depends on the first index at which they differ from each other: the greater this index is, the lower the distance. 0 if σ = σ dist(σ, σ ) = 1 min{k∈N / σ(k)=σ (k)} otherwise 2.3. TEMPORAL LOGIC 27 If we consider the topological space induced by this distance, safety properties and liveness properties correspond to closed sets and dense sets respectively. Since every set can be written as the intersection of a closed set and a dense set, the decomposition theorem follows straightforwardly. This topology will be used to express conditions on models in section 4.2.3. Some works [119, 86] have studied the syntactical characterizations of safety and liveness properties. Sistla exhibited in [119] the subset of the positive2 LT L(X, U )-formulas built from operators ’next’ (X) and ’weak until’ (W 3 ). Actually, this subset is contained in the set of safety formulas, but there are safety formulas which are not in this subset: consider, e.g., F p ∧ ¬F p, which is a safety formula (equivalent to ⊥) and not in the given subset. 2.3.4 LT L axiomatization Several equivalent axiomatizations of LT L have been studied. We present here the version published in [85], which is sound and complete with respect to the above semantics: a formula ϕ is valid if and only if it is derivable in this deductive system. The axiom schemes are divided into three parts: the future axiom schemes which involve only future operators, the past axiom schemes which involve only past operators, and the mixed axiom scheme, which involves both future and past operators. Definition 14 (The future axiom schemes). F1 F2 F3 F4 F5 F6 F7 F8 Gϕ ⇒ ϕ G (X¬ϕ ⇔ ¬Xϕ) G X(ϕ1 ⇒ ϕ2 ) ⇒ (Xϕ1 ⇒ Xϕ2 ) G G(ϕ1 ⇒ ϕ2 ) ⇒ (Gϕ1 ⇒ Gϕ2 ) Gϕ ⇒ XGϕ (G(ϕ ⇒ Xϕ)) ⇒ G (ϕ ⇒ Gϕ) G ϕ1 U ϕ2 ⇔ ϕ2 ∨ (ϕ ∧ X(ϕ U ϕ )) 1 1 2 G ϕ1 U ϕ2 ⇒ F ϕ2 Here is an intuitive view of the future axiom schemes. • Axiom F1 states that if ϕ holds at all positions of a model, then in particular it holds at the first position. • Axiom F2 states that the next operator X is self-dual. • Axiom F3 states that if in the next instant ϕ1 implies ϕ2 then if in the next instant ϕ1 holds then so does ϕ2 . 2 3 negation can only be applied to atomic propositions def ϕ1 W ϕ2 = Gϕ1 ∨ ϕ1 U ϕ2 CHAPTER 2. BASIC LOGICAL CONCEPTS 28 • Axiom F4 is the analogue of F2 for the G operator. • Axiom F5 states that if ϕ is true at all future instants it must be true at every next instant. • Axiom F6 is a "computational induction" axiom; it states that if a property is inherited over one step transition, it is invariant over any suffix sequence whose first state satisfies it. • Axiom F7 characterizes the until operator by distributing its effect into what is implied for the present and what is implied for the next instant. • Axiom F8 states that ϕ1 U ϕ2 implies that ϕ2 will eventually happen. Definition 15 (The past axiom schemes). P1 P2 P3 P4 P5 G X −1 ϕ ⇒ X −1 ϕ G X −1 (ϕ1 ⇒ ϕ2 ) ⇒ (X −1 ϕ1 ⇒ X −1 ϕ2 ) Gϕ ⇒ GX −1 ϕ G ϕ1 S ϕ2 ⇔ ϕ2 ∨ (ϕ1 ∧ X −1 (ϕ1 Sϕ2 )) X −1 ⊥ Here is an intuitive view of the past axiom schemes. • Axiom P1 establishes the connection between the weak-previous operator and the previous operator. • The axioms P2, P3, P4 have similar descriptions as the axioms F3, F5, F7. • Axiom P5 does not resemble a corresponding future axiom. It states that the first position of every sequence satisfies X −1 ⊥. Definition 16 (The mixed axiom scheme). M1 G ϕ ⇒ XX −1 ϕ The mixed axiom scheme states that if ϕ is true at some instant, then going forwards and backwards leads to an instant (obviously the same instant) which also satisfies ϕ. Definition 17 (Inference rules). The three inference rules are Uniform Substitution, Modus Ponens, and G-necessitation. • Uniform substitution • Modus Ponens • G-Necessitation for propositional tautologies: if ϕ is a substitution instance of a propositional tautology, then G ϕ is a theorem. 2.3. TEMPORAL LOGIC 29 Remark 2. The axiomatization of the floating version of LT L (e.g., in [58, 110]) slightly differs. For instance, the first G operator in the schemes F2,F3,F4,F7,F8, P1,P2,P4,M1 is removed, and the P5 scheme, which states that the first instant of every model satisfies X −1 ⊥, is replaced by F −1 X −1 ⊥, which states that every instant of every model is preceded by an initial instant. Rule G-necessitation is no longer limited to instances of propositional tautologies. Theorem 5 (Soundness and completeness). This axiomatization is sound and complete with respect to the LT L semantics defined in section 2.3.2. Theorem 6 (Expressiveness [74, 58]). L(X, U ) and L(X, U, X −1 , S) have the same expressiveness: for every L(X, U, X −1 , S)-formula ϕ, there is a L(X, U )-formula ϕ such that for every LT L-valuation V , V, 0 |= ϕ iff V, 0 |= ϕ . (The converse is straightforward.) Actually, L(X, U ) has the same expressive power as first order language over (N, =, <) with unary predicates, i.e., for every first order formula ϕ(x) with one free variable x, there is a L(X, U )-formula ϕ such that for every valuation V , V, 0 |=F O[<] ϕ(x)4 iff V, 0 |=LT L ϕ . Although L(X, U ) and L(X, U, X −1 , S) have the same expressiveness, i.e., every L(X, U, X −1 , S)-formula can be translated into a L(X, U, )-formula which is initially equivalent, the translation is not efficient. In other words, adding past operators makes formula shorter, which is interesting in the specification process. Actually, it is shown in [83] that L(X, U, X −1 , S) is exponentially more succinct than L(X, U ). Theorem 7 (Decidability). LT L(X, U, X −1 , S) is decidable. The satisfiability problem for LT L(X, U, X −1 , S) and LT L(X, U ) is PSPACE-complete [118]. 2.3.5 Branching-time temporal logic Linear Temporal Logic can only specify properties along a run. Indeed, we can express in LT L that a proposition will be true in the future, or that it will never be true, but we cannot express that it can be true in the future. We need to represent different alternative future states in the underlying model in order to overcome this lack. Some temporal logics deal with a branchingtime model. One of the most famous is Computation Tree Logic (CT L) [38], which has in particular the very attractive feature of having a polynomial model checking problem (cf section 2.4). It has only future operators. For a discussion about the expression of the past in a branching-time framework, see e.g. [79, 110, 120, 84]. From the linear temporal operators X and U , we get four branching-time temporal operators: EX, AX, E(·U ·), and A(·U ·): 4 as 0 unary predicates in ϕ are interpreted with V , and the free variable x is interpreted CHAPTER 2. BASIC LOGICAL CONCEPTS 30 • EX ϕ means that there is a next state which satisfies ϕ. • E(ϕ1 U ϕ2 ) means that there is a possible future path which satisfies ϕ2 at some instant i, and ϕ1 from now until the moment before i. • A(ϕ1 U ϕ2 ) means that every possible future path satisfies ϕ2 at some instant i and ϕ1 from now until the moment before i. Definition 18 (CT L-syntax). Given a set P of atomic propositions, the language of CT L is defined by the following syntax: ϕ ::= P | ⊥ | ϕ ⇒ ϕ | EX ϕ | E(ϕ U ϕ) | A(ϕ U ϕ) We define the different usual abbreviations as follows: def AXϕ = ¬EX¬ϕ every next state satisfies ϕ def EF ϕ = E( U ϕ) def AGϕ = ¬EF (¬ϕ) def AF ϕ = A( U ϕ) def EGϕ = ¬AF (¬ϕ) there is a path which satisfies ϕ at some instant. every path satisfies ϕ at every instant. in every path satisfies ϕ at some instant. there is a path which satisfies ϕ at every instant. Let us see the semantics of CT L (for an axiomatization of CT L, see for instance [51]). The set N of the natural numbers is no longer appropriate for representing the set of the moments. We thus consider temporal frames (W, R) where W is a set of moments, or states, and the accessibility relation R ⊆ W × W models the passing of time: (w, w ) ∈ R means that w is a possible temporal successor of w. Definition 19 (CT L-frame). A CT L-frame is a Kripke structure with initial states F = (W, I, R), where (W, R) is a Kripke structure and I its set of initial states (or worlds): • W is a set of states, or worlds • I ⊆ W is a set of initial states • R ⊆ W × W is a serial accessibility relation on the states A valuation for a frame F = (W, I, R) is a function V ∈ W → 2P which associates each state with a set of atomic propositions. The pair (F, V ) is a CT L-model. A path σ in M is an infinite sequence σ = w0 w1 . . . such that • every wi is a state of W • ∀i (wi , wi+1 ) ∈ R 2.3. TEMPORAL LOGIC 31 The ith state of σ is denoted σi . The suffix of σ which starts from the ith state is denoted by σ i . The set of the paths σ starting from a given state w, i.e., such that σ0 = w, is denoted by P aths(w). Definition 20 (CT L satisfaction relation). Given a CT L-model M = (W, I, R, V ), a state w, and a formula ϕ, we define |= by induction on ϕ: w |= p w⊥ w |= ϕ1 ⇒ ϕ2 iff p ∈ V (w) iff if w |= EX(ϕ) iff ∃w ∈ W such that (w, w ) ∈ R w |= A(ϕ1 U ϕ2 ) iff w |= E(ϕ1 U ϕ2 ) iff and ∀σ ∈ P aths(w) ∃i ∈ N such that σi |= ϕ2 and ∀j ∈ N if 0 j < i then σj |= ϕ1 ∃σ ∈ P aths(w) ∃i ∈ N such that σi |= ϕ2 ∀j ∈ N if 0j<i then σj |= ϕ1 where w |= ϕ1 p∈P w |= ϕ2 then and w |= ϕ A formula is said to be satisfied by a model if it is satisfied by its initial states: M |= ϕ iff ∀w ∈ I w |= ϕ A formula is said to be valid if every model satisfies it: |= ϕ iff for every model M |= ϕ M w0 w1 w2 w3 {p} {p} {p} {p, q} Figure 2.3: CT L-model Figure 2.3 represents a CT L-model with one initial state (w0 ). Here are some CT L-formulas satisfied by this model. • w0 |= E(p U q) CHAPTER 2. BASIC LOGICAL CONCEPTS 32 • w0 |= EX (EX q ∧ EX p) • w0 |= AF p ∧ EF q • w0 |= EG p One of the main differences between CT L and LT L concerns their respective expressiveness. More precisely, there are properties that one can express in CT L, but that cannot be expressed in LT L, and vice versa. Formally speaking, the expressiveness of CT L and LT L is incomparable. However, if we consider that LT L-formulas are implicitly in the scope of a universal path quantifier, then the expressiveness of CT L and LT L are distinct (both languages contains formulas which cannot be expressed in the other language). An extension of CT L, called CT L∗ [50], unifies both logics. The expressiveness of CT L∗ comprises that of both CT L and LT L. Indeed, a formula can be composed of arbitrary combinations of temporal operators and path quantifiers. In the definition of CT L∗ syntax, we distinguish between path formulas, which can be any LT L formulas, and are true in a specific path, and state formulas, which are propositional, or start with a path quantifier, and are true in a specific state. Definition 21 (CT L∗ -syntax). We define the state formulas by the following syntax: ϕstate ::= p | ⊥ | ϕstate ⇒ ϕstate | E ϕpath where p ∈ P is an atomic proposition. We define the path formulas by the following syntax: ϕpath ::= ϕstate | Xϕpath | ϕpath U ϕpath def The path quantifier A can be defined as the dual of E: Aϕ = ¬E¬ϕ. Definition 22 (CT L∗ satisfaction relation). A CT L∗ -model does not differ from a CT L-model. A state formula ϕstate is interpreted in a state w (we note w |= ϕstate ), whereas a path formula ϕpath is interpreted over a path σ (we note σ |= ϕpath ). State formulas w |= p w⊥ w |= ϕ1 ⇒ ϕ2 iff p ∈ V (w) iff if w |= E(ϕpath ) iff ∃σ ∈ P aths(w) where w |= ϕ1 p∈P then w |= ϕ2 σ |= ϕpath 2.3. TEMPORAL LOGIC 33 Path formulas σ |= ϕstate σ |= Xϕpath σ |= ϕpath 1 U ϕpath 2 iff σ0 |= ϕstate iff σ 1 |= ϕpath iff ∃i ∈ N such that and ∀j ∈ N if 0 j < i then σ i |= ϕpath 2 σ j |= ϕpath 1 CT L∗ has been hard to provide with usable reasoning systems: although CT L∗ syntax and semantics was published in the 80’s [50], important results concerning reasoning systems appeared at the beginning of the 2000s: a combined rewrite and proof system in [102] and a complete Hilbert-style axiomatization in [109] using a rather complex inference rule. Theorem 8 (Decidability). CT L∗ is decidable [52] and the satisfiability problem is 2EXPTIME-complete [51]. 2.3.6 Timed logic Timed logic extends temporal logic in order to express properties where durations are explicitly involved, such as deadline constraints (ϕ will hold before five minutes). Such constraints are called timed or real-time constraints. Several real-time logics have been developed both in branching time and in linear time frameworks. Another distinction is between discrete and continuous time models. Verification techniques which use discrete time models apply to a wider range of real-time properties, while continuous time models are well adapted for composing systems. For a more detailed comparison, see e.g. [66]. In this section, we focus on continuous semantics. We present the realtime extension Timed Linear Temporal Logic (T LT L) [9] of LT L and the the real-time extension Timed Computation Tree Logic (T CT L) [5, 4] of the branching time logic CT L. The semantics of T LT L is based on timed sequences whereas the semantics of T CT L is based on timed automata. It is clear that temporal models based on Kripke frames are useless in a context of continuous time. Indeed, transitions from one state to another are always made by one or more ‘jumps’, which gives to Kripke frames an inherently discrete nature. Instead of considering such ’jumps’, we measure the elapse of time through a set C of variables called clocks. Clock valuations are functions from C to the set R+ of non-negative real numbers. For every valuation v : C → R+ and d ∈ R+ , we use v+d to denote the time assignment which maps each clock x ∈ C to v(x) + d. For every set r ⊆ C of clocks, we write v[r := 0] for the valuation which maps each clock in r to 0, and each clock x in C\r to v(x). Definition 23 (Clock constraint). Given a set C ⊆ C of clocks, we define the set B(C) of the clock constraints g on C inductively: g ::= ⊥ | g ⇒ g | x ≺ c | x − y ≺ c CHAPTER 2. BASIC LOGICAL CONCEPTS 34 where x, y ∈ C are clocks, c ∈ N is a natural number, and ≺∈ {, <}. Given a valuation v and a clock constraint g, we define the satisfaction relation |= as follows: v v v v ⊥ |= g1 ⇒ g2 |= x ≺ c |= x − y ≺ c iff iff iff if v |= g1 then v(x) ≺ c v(x) − v(y) ≺ c v |= g2 In T LT L and T CT L, we introduce a reset operator x.ϕ which allows to measure the time elapsed starting from the present state. Every occurrence of x in ϕ is then bound. When a formula x.ϕ is interpreted in a state of a timed system (timed sequence in the case of T LT L, and timed automata in the case of T CT L) we require that x is never reset by the timed system. Indeed, the formula x.F (ϕ ∧ x < 5) means that ϕ will be true before 5 time units. If we interpret this formula in a timed sequence which reset x, the meaning of ϕ is warped. Timed Linear Temporal Logic (T LT L) We present here the syntax and the semantics of T LT L [9]. Definition 24 (T LT L-syntax). Given a set P of atomic propositions, a set C ⊆ C of clocks, the T LT L language is defined by the following syntax: ϕ ::= p | g | ⊥ | ϕ ⇒ ϕ | ϕ U ϕ | x.ϕ where p ∈ P is an atomic proposition, g ∈ B(C) is a clock constraint, and x ∈ C is a clock. Definition 25 (Timed sequence). Given a set Q of control states and a set C ⊆ C of clocks, we define a timed sequence ρ on C as a (finite or infinite) t0 t1 sequence ρ = (q0 , v0 ) (q1 , v1 ) . . . such that • every qi is a control state in Q, the pair (qi , vi ) is called a configuration state • every vi+1 : C → R+ is the clock valuation when entering the control state qi+1 after having stayed in qi for ti time units. Only the clocks in C can be reset: for each i and each clock x: – if x ∈ C, then we require that either vi+1 (x) = 0 or vi+1 (x) = vi (x) + ti – if x ∈ / C, then vi+1 (x) = vi (x) + ti • at each step, if the control state is unchanged, then at least one clock is reset: for each i, if qi+1 = qi then there exists x ∈ C such that vi+1 (x) = 0 2.3. TEMPORAL LOGIC 35 • every time t ∈ R+ “belongs” to the timed sequence: ∀t ∈ R+ ∃k ∈ N such that Σ ti > t i∈0..k A sequence ρ actually defines an infinite and dense set of configuration states. Indeed, between two ’steps’ qi and qi+1 , the system goes through all the configuration states (qi , vi + t) such that t ti . If si denotes the configuration state (qi , vi ) and t ∈ R+ is a time duration, then si + t denotes t0 t1 the configuration state (qi , vi + t). So, for every timed sequence ρ = s s1 s2 . . ., we define • the domain dom(ρ) of ρ as def dom(ρ) = domi (ρ) i∈N def where domi (ρ) = {(si + t, i) / t ti } • and as the following complete ordering on dom(ρ): ∀i, j ∈ N ∀t, t ∈ R+ (si +t, i) (sj +t , j) iff i<j or (i = j and t t ) t0 Definition 26 (T LT L-semantics). Given a timed sequence ρ = (q0 , v0 ) (q1 , v1 ) . . . on a clock set C, a pair (s, i) ∈ dom(ρ), a valuation V : Q → 2P , and a T LT L-formula ϕ, we define |= by induction on ϕ: s, i, V s, i, V s, i, V s, i, V |= p iff |= g iff ⊥ |= ϕ1 ⇒ ϕ1 iff s, i, V |= ϕ1 U ϕ2 s, i, V |= x.ϕ p ∈ V (q) where s = (q, v) v |= g where s = (q, v) s, i, V |= ϕ1 if then s, i, V |= ϕ2 ∃(s , i ) ∈ dom(ρ) such that (s, i) (s , i ) and s , i , V |= ϕ2 and ∀(s , i ) ∈ dom(ρ) if (s, i) (s , i ) ≺ (s , i ) then s , i , V |= ϕ1 ∨ ϕ2 iff (q, v[x := 0]), i, V |= ϕ where s = (q, v) iff Note that we require x not to be reset in ρ, i.e., x ∈ C \ C t0 t0 A timed sequence ρ = s0 s1 . . . satisfies ϕ given a valuation V if its first configuration state satisfies ϕ: ρ |= ϕ s0 , 0, V |= ϕ Notice that another timed extension of LT L, called Metric Temporal Logic (M T L) [8, 75] introduces timed operators by adding subscripts to the until operator. pUI q, where I is an interval with integer end points (possibly 36 CHAPTER 2. BASIC LOGICAL CONCEPTS unbound), means that q will hold at some instant in the interval I, and p holds from now until this instant. It is clear that such a formula can be translated into the following T LT L-formula which is satisfied by the same timed sequences: x. p U (q ∧ x ∈ I) , where x ∈ I can be expressed as a clock constraint. For instance, the formula pU>3 q expresses that q will hold at some instant greater than 3, and p holds from now until this instant. It can be expressed in T LT L as x.(p U (q ∧ x > 3)). It has been shown in [24] that T LT L is strictly more expressive than M T L. While both T LT L ans M T L are undecidable, the restriction of M T L where the until subscripts are not singular, called Metric Interval Temporal Logic (M IT L [7]) is decidable. Theorem 9. T LT L and M T L are undecidable [9]. M IT L is decidable, its satisfiability problem is EXPSPACE-complete [7]. Timed Computation Tree Logic (T CT L) We now present a real-time extension of the branching time logic CT L, called T CT L [8]. We first define its syntax, and then its semantics which is based on timed automata [6, 25]. Definition 27 (T CT L-syntax). Given a set P of atomic propositions, a set C ⊆ C of clocks, the language of T CT L is defined by the following syntax: ϕ ::= p | g | ⊥ | ϕ ⇒ ϕ | E(ϕ U ϕ) | A(ϕ U ϕ) | x.ϕ where p ∈ P is an atomic proposition, g ∈ B(C) is a clock constraint, and x ∈ C is a clock. Definition 28 (Timed automata). A timed automaton on a set C ⊆ C of clocks (which can be reset) is a tuple (Q, Q0 , −→, Inv, V, F ), where • Q is a finite set of control states • Q0 ⊆ Q is a set of initial state • −→⊆ Q×B(C)×2C ×Q is a finite set of transitions: for (q, g, r, q ) ∈−→ g,r (we will prefer the notation q −→ q , q is the starting state, g is the guard, or enabling condition, r is the set of clocks to be reset by the transition, and q is the destination state. • Inv : Q → B(C) associates each state with a clock constraint, named invariant • V : Q → 2P associates each state with a set of atomic propositions • F ⊆ Q is a set of accepting states 2.4. MODEL CHECKING 37 t0 t0 A timed sequence ρ = (q0 , v0 ) (q1 , v1 ) . . . on a clock set C is said to be an accepting path (or simply a path) over the automaton A = (Q, Q0 , −→ , Inv, V ) (on the same set C of clocks) if • for each i and each t ∈ R+ if t ti then vi + t |= Inv(qi ) g,r • for each i there exists a transition qi −→ qi+1 such that vi + ti |= g and vi + ti [r := 0] = vi+1 • if ρ is finite, then its last state qn is accepting, i.e., qn ∈ F A configuration state s = (q, v) is said to be accessible in a timed automaton A if there exists a path ρ over A and an integer i such that (s, i) ∈ dom(ρ). Definition 29 (T CT L-semantics). Given a timed automaton A, a configuration state s accessible in A, and a T CT L-formula ϕ, we define |= by induction on ϕ: s |= E(ϕ1 U ϕ2 ) iff there exists a path ρ over A starting from s such that ∃(s, i) ∈ dom(ρ) such that s |= ϕ2 and ∀(s , i ) ∈ dom(ρ) if (s, 0) (s , i ) ≺ (s, i) then s |= ϕ1 ∨ ϕ2 s |= A(ϕ1 U ϕ2 ) iff for every path ρ over A starting from s ∃(s, i) ∈ dom(ρ) such that s |= ϕ2 and ∀(s , i ) ∈ dom(ρ) if (s, 0) (s , i ) ≺ (s, i) then s |= ϕ1 ∨ ϕ2 s |= x.ϕ iff s[x := 0] |= ϕ We require, as for T LT L, that x is not reset by A, i.e., that x ∈ C \ C. Theorem 10. T CT L is undecidable [8]. 2.4 Model checking Temporal logics have proved to be useful for specifying properties of reactive systems. One of the main verification methods, called model checking is an automatic technique for verifying finite state concurrent systems. The first task is to convert a program into a Kripke model which formally describes its behaviour. Then, the properties which must be satisfied by the system are expressed in temporal logic. Definition 30 (Model checking in the linear time case). For linear temporal logics, we define the model checking as follows: Given a model M (Kripke-model in a discrete time framework, timed automata in a continuous time framework) and a formula ϕ, does every M -path σ (starting from an initial state) satisfy ϕ? CHAPTER 2. BASIC LOGICAL CONCEPTS 38 ``` ``` logic ``` ` ` decision problem ``` satisfiability model checking ``` ``` logic ``` ``` decision problem `` satisfiability model checking LT L CT L CT L∗ PSPACE-c PSPACE-c EXPTIME-c PTIME-c 2EXPTIME-c PSPACE-c T LT L M IT L T CT L undecidable undecidable EXPSPACE-c EXPSPACE-c undecidable PSPACE-c Figure 2.4: Complexity results for usual temporal logics The standard technique for LT L model checking consists in translating ¬ϕ into a Büchi automaton A¬ϕ , and then checking that the product M × A¬ϕ has an empty language [61, 60]. Definition 31 (Model checking in the branching time case). For branching time temporal logics such as CT L, CT L∗ and T CT L, the model checking is specified as follows: Given a model M (Kripke-model in a discrete time framework, timed automata in a continuous time framework) and a formula ϕ, is it the case that every initial state satisfies ϕ ? The standard technique for CT L model checking consists in labeling each state with the set of satisfied subformulas, and checking that every initial state is labeled by ϕ. Theorem 11 (Model checking complexity). We have the following complexity results for temporal logics introduced in the previous sections. • Model checking for LT L(X, U, X −1 , S) and LT L(X, U ) is PSPACEcomplete [118]. • Model checking for CT L is PTIME-complete [40]. • Model checking for CT L∗ is PSPACE-complete [40]. • Model checking for T CT L is PSPACE-complete [5, 4]. Figure 2.4 sums up complexity results for the different temporal logics we have considered. 3 Combining temporal and deontic logics: introduction In natural language as well as in computer security, norms do not concern a single moment. It seems more natural to speak of obligations which arise and last for a certain period of time. For instance, consider an obligation to submit a paper before a deadline, or a prohibition for some user to use some resource between 1 pm and 3 pm. In order to set up a formal framework to deal with these concepts, logicians have investigated relations between deontic and temporal modalities from a philosophical point of view, since the 1980s [48, 49, 16, 71, 13]. However, the proposed formalisms have a rich but complex semantics, and the temporal language is very different from actual standard temporal logics. They also have the following drawback: every propositional formula which is true in a given state is also obligatory in the same state. Moreover, decidability issues are not tackled, which makes it difficult to take these logics as a basis for a formal method. More recently, some works have investigated relations between time and obligation from the point of view of computer science [46, 88, 41, 27]. In [88], the framework of Deontic Interpreted Systems is presented, in which no temporal-deontic interaction is considered. Notice that an interesting securityoriented case study is investigated with this logic [89]. In [46, 30, 27], the authors study the representation of deadline obligations. They use a reductionist approach: they encode obligation inside a temporal framework. This is less expressive than a combination, in which we can talk about both dimensions independently. In [41], the logic N OM AD is presented, which actually corresponds to a generic combination called product between LT L(X, X −1 ) (enriched with an action language), and a deontic logic. Deadline obligations are expressed with a dedicated operator. It can be viewed as a starting point of the investigations of the next chapter (chapter 4). In a temporal and deontic framework, it can also be interesting to rea39 40 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS son about norm updates, in particular using non-monotonic/defeasible logics [105, 72, 56]. For instance, there may be an unexpected extension of the deadline for the paper, or it may become permitted to use the resource at 2 pm in case the security policy has changed. In the remainder of the Ph.D. thesis, we do not consider defeasible reasoning and stay in a framework where norms do not change over time. In this chapter, we review classical ways of combining modal logics in the temporal-deontic case. Section 3.1 presents the simplest way to combine modal logics, called fusion, in which there is no interaction between both dimensions. Section 3.2 introduces the deontic variant of some classical temporal-epistemic interactions [53, 47, 131], considering both axiomatic and semantic points of view. Section 3.3 presents the product of temporal and deontic logics, which is a natural way to combine logics in order to ensure these interactions, and will be taken as a starting point for the sequel of the logical study. 3.1 Fusion of modal logics The first (and simplest) way of combining two modal logics is called fusion [80]. Given two modal logics L1 and L2 , the language of their fusion is the multi-modal language which contains every modal operator of both logics1 . The fusion logic L1 ⊗ L2 is defined as the smallest modal logic which contains all the theorems of L1 and L2 . In particular, if L1 is axiomatized by a set Ax1 of axioms, and L2 by Ax2 , then the fusion L1 ⊗ L2 is axiomatized by the union Ax1 ∪ Ax2 . An attractive feature of fusions is that several properties of the component logics L1 and L2 are transferred to their fusion L1 ⊗ L2 . First there exists an interesting semantic characterization of fusions. Theorem 12. If L1 is characterized by a class C1 of frames, and L2 by a class C2 , with C1 and C2 closed under the formation of isomorphic copies and disjoint unions, then L1 ⊗ L2 is characterized by the class of the frames (W, R1 , R2 ) such that (W, R1 ) ∈ C1 and (W, R2 ) ∈ C2 [76, 57, 80]. Another important transfer result concerns the decidability. Theorem 13. If L1 and L2 are decidable modal logics, then L1 ⊗ L2 is also decidable [134, 57]. Remark 3. There is no general transfer result concerning complexity. In the remainder, we study the fusion of some temporal and deontic logics. We consider a slightly different definition of the temporal logics LT L 1 Notice that we consider for each logic a multi-modal language with unary operators k and/or operators U (until) and S (since) 3.1. FUSION OF MODAL LOGICS 41 and CT L. Indeed, in chapter 2, we defined temporal frames as Kripke frames with initial states. In this context, a valid formula is defined as a formula which is true in every initial state of every frame, and a satisfiable formula is true in some initial state of some frame. This point of view is commonly adopted in the model checking community [85, 39], and defines the anchored version [91] of temporal logics. On the other hand, modal logicians consider Kripke frames without initial states for other kind of modal logics (alethic, epistemic, deontic, etc.). Then, a formula is said to be valid if it is true in every state (or world) of every frame. This second point of view is also adopted in some works on temporal logics [59, 110], and defines the floating version of temporal logics. In order to have a homogeneous framework, we will adopt floating definition of temporal logics in the proposed combinations. 3.1.1 Fusion of LT L and SDL For instance, let us consider the fusion of the future fragment of LT L and SDL, defined on the modal language with temporal operators X and U , and deontic operator O. Definition 32 (L(X, U, O ) language). Given a set P of atomic propositions, the language L(X, U, O) of LT L(X, U ) ⊗ SDL is defined by the following syntax: ϕ ::= ⊥ | p | ϕ ⇒ ϕ | Xϕ | ϕ U ϕ | O ϕ where p ∈ P is an atomic proposition. The axiomatization of LT L ⊗ SDL consists of the axiom schemes F1-F8 for the temporal operators X and U (cf section 2.3.4), the axiom schemes K and D for the deontic operator O (cf section 2.1.1), and the inference rules Uniform Substitution, Modus Ponens, G-Necessitation (where G is defined in terms of U ), and O-Necessitation. As we saw in section 2.3.2, LT L(X, U ) is characterized by the class of the unique frame (N, <). Clearly, this singleton class is not closed under the formation of isomorphic copies and disjoint unions. Therefore, we cannot use the above-mentioned semantic characterization (theorem 12) for the fusion LT L ⊗ SDL. Indeed, let us consider a frame (N, <, R) where R is a serial relation on N. Figure 3.1 illustrates such a frame, where the temporal accessibility relation (of which < is the transitive closure) is represented by solid arrows, and the deontic relation by dotted arrows. It is clear that such frames validate for instance G(¬p) ⇒ O(F ¬p), which cannot be inferred from the axiomatization of LT L ⊗ SDL which does not contain any interaction axiom schemes, i.e. axiom schemes in which both temporal and deontic modalities are involved. In order to avoid interactions between temporal and deontic relations (due to the fact that < is a complete order on N), we have to relax constraints 42 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS temporal relation deontic relation Figure 3.1: Incorrect fusion frame on <. A less natural class of frames which also characterizes LT L(X, U ) is the class of the frames (N × W, ≺) such that: 1. W is a set 2. ≺⊆ (N × W ) × (N × W ) is defined by (i, w) ≺ (i , w ) iff w = w and i < i . Property 1. LT L(X, U ) is characterized by the class of the frames (N × W, ≺) such that (1) and (2) are satisfied. Proof. We show that this class of frames defines the same logic as (N, <). Suppose that ϕ is satisfiable by a model based on (N, <). Then, ϕ is clearly satisfiable by a model based on (N × {w0 }, ≺), where {w0 } is a singleton. Suppose that ϕ is satisfiable by a model based on (N × W, ≺) for some set W . Then, there is a valuation V and a state (i, w) ∈ N × W such that i, w |= ϕ. According to the definition of ≺, we also have i |= ϕ in (N, <, V ), where V is defined as ∀j ∈ N V (j) = V (j, w). The latter class is closed under the formation of isomorphic copies and disjoint unions. The semantic characterization (theorem 12) then applies, and provides the following property. Property 2. LT L ⊗ SDL is characterized by the class of the frames (N × W, ≺, R) such that (N × W, ≺) satisfies (1) and (2), and R is a serial2 relation on N × W . Figure 3.2 illustrates such a frame. For the sake of readability, the deontic relation is partially pictured. Theorem 14. LT L ⊗ SDL is decidable (consequence of theorem 13). 2 ∀w ∈ N × W ∃w ∈ N × W such that wRw 3.1. FUSION OF MODAL LOGICS 43 temporal relation deontic relation Figure 3.2: LT L ⊗ SDL-frame 3.1.2 Fusion of CT L and SDL Let us now consider the fusion CT L ⊗ SDL of branching time temporal logic CT L and SDL. Unlike LT L ⊗ SDL, the semantic characterization of fusions applies for CT L ⊗ SDL because both logics are characterized by frames which are closed under the formation of disjoint unions. Definition 33 (CT L ⊗ SDL language). Given a set P of atomic propositions, the language L(EX, AU, EU, O) of LT L ⊗ SDL is defined by the following syntax: ϕ ::= ⊥ | p | ϕ ⇒ ϕ | EXϕ | E(ϕ U ϕ) | A(ϕ U ϕ) | O ϕ where p ∈ P is an atomic proposition. The following property states that the semantic characterization of fusions applies. Property 3 (CT L ⊗ SDL-frame). CT L ⊗ SDL is characterized by the frames (W, RX , RO ) such that • W is a set of worlds • RX ⊆ W × W is a serial (temporal) accessibility relation • RO ⊆ W × W is a serial (deontic) accessibility relation A CT L ⊗ SDL-model is a tuple (W, RX , RO , V ) where (W, RX , RO ) is a frame and V ∈ W → 2P is a valuation function which associates each world with a set of atomic propositions. A path σ in M is an infinite sequence σ = w0 w1 . . . such that • every wi is a state of W • ∀i (wi , wi+1 ) ∈ RX 44 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS The ith state of σ is denoted σi . The set of paths σ starting from a given state w, i.e., such that σ0 = w, is denoted by P aths(w). The semantics of temporal operators is defined as in CT L, and the semantics of O is defined as in SDL by the relation RO . Theorem 15. CT L ⊗ SDL is decidable (consequence of theorem 13). 3.2 Interaction properties Fusion of temporal and deontic logics is an easy way to combine time and obligation in a unique formalism. It allows to reason about obligations and permissions in a temporal context under the assumption that no interaction between both dimensions is needed. For instance, we can express that p is obligatory today, and ¬p will be obligatory tomorrow. Actually, if we only need to reason about evolution of immediate obligations, i.e., if temporal operators are not in the scope of some deontic operator, then fusion of temporal and deontic logics is a very interesting framework. On the other hand, if we need to reason about temporal obligations (it is obligatory to satisfy p before 3 time units, it is obligatory to satisfy p today or q tomorrow) then the absence of interaction between temporal and deontic dimensions becomes questionable, in particular in our framework where norms are not explicitly updated. It is indeed natural to consider that a temporal obligation which holds today implies another obligation tomorrow. For instance, if “always p” is obligatory in a world w, we cannot in a fusion deduce that “p”, or “always p” will be obligatory in the future states. In other words, in a branching time framework, w O(AGp) ⇒ AG O(p) In this section, we consider several interesting interaction axioms and study the corresponding conditions on frames. 3.2.1 ’Perfect recall’ property A first interesting property says that if today, there is the obligation to satisfy ϕ tomorrow, then tomorrow, there will be the obligation to satisfy ϕ immediately. In a branching time setting, we will consider more precisely the following property: if today, it is obligatory that every possible successor satisfies ϕ, then in every possible successor, ϕ will be obligatory: O(AXϕ) ⇒ AXO(ϕ) (recall_branching) We borrow the terminology ’perfect recall’ from epistemic logic [53] to name this property. Indeed, this property ensures that obligations cannot be withdrawn (we would say ’forgotten’ for knowledge) when time passes. This 3.2. INTERACTION PROPERTIES 45 property corresponds to the following condition on frames: if (w1 , w2 ) ∈ RX and (w2 , w4 ) ∈ RO ∀w1 , w2 , w4 ∈ W (1) then ∃w3 ∈ W such that (w1 , w3 ) ∈ RO and (w3 , w4 ) ∈ RX Property 4. The ’perfect recall’ property (recall_branching) is valid in a CT L ⊗ SDL-frame F = (W, I, RX , RO ) iff F satisfies condition (1). w3 w4 RX RO RO RX w1 w2 Figure 3.3: ’perfect recall’ condition on a CT L ⊗ SDL-frame Proof. Let F = (W, I, RX , RO ) be a CT L ⊗ SDL-frame. ’⇒’: We assume that F satisfies the ’perfect recall’ condition and prove that for every formula ϕ, F validates O (AXϕ) ⇒ AXO(ϕ). Let V be a valuation and w1 ∈ W a world such that w1 |= O (AXϕ). Let w2 , w4 ∈ W such that (w1 , w2 ) ∈ RX and (w2 , w4 ) ∈ RO . Then , according to the ’perfect recall’ condition on F , there is a world w3 such that (w1 , w3 ) ∈ RO and (w3 , w4 ) ∈ RX . Since w1 |= O(AXϕ), then w4 |= ϕ. So, w1 |= AXO(ϕ). ’⇐’: We prove that if F does not satisfy the ’perfect recall’ condition, then F does not validate O (AXϕ) ⇒ AXO (ϕ). If F does not satisfy the ’perfect recall’ condition, then there are w1 , w2 , w3 ∈ / W such that (w1 , w2 ) ∈ RX and (w2 , w4 ) ∈ RO and ∀w3 ∈ W (w1 , w3 ) ∈ / RX . Let p ∈ P be an atomic proposition. Consider the valRO or (w3 , w4 ) ∈ uation function V : W → 2P defined by V (w4 ) = {p} and ∀w = w4 V (w) = ∅. Then, w1 |= O(AX¬p). Indeed, for any world w such that (w1 , w) ∈ RO and (w, w4 ) ∈ RX , w is distinct from w4 and thus w |= ¬p. Besides, w1 |= AXO (ϕ) since w4 |= p. In a linear time context, the ’perfect recall’ property is expressed as follows: O(Xϕ) ⇒ XO (ϕ) (recall_linear) The corresponding condition on frame is if (w1 < w2 ) and (w2 , w4 ) ∈ R0 ∀w1 , w2 , w4 ∈ W (2) then ∃w3 ∈ W such that (w1 , w3 ) ∈ RO and w3 < w4 46 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS 3.2.2 ’No learning’ property We now consider the dual property which states that no new obligation “appears” when time passes: AX(Oϕ) ⇒ O (AXϕ) (nolearn_branching) In a branching time setting, this property expresses that if in every possible successor state it will be obligatory to satisfy ϕ, then today it is already obligatory to satisfy ϕ in every possible successor. We name this property ’no learning’ by analogy with epistemic logic. Property 5. The ’no learning’ property (nolearn_branching) is valid in a CT L ⊗ SDL-frame F = (W, I, RX , RO ) iff F satisfies condition (3). if (w1 , w3 ) ∈ RO and (w3 , w4 ) ∈ RX ∀w1 , w3 , w4 ∈ W (3) then ∃w2 ∈ W such that (w1 , w2 ) ∈ RX and (w2 , w4 ) ∈ RO The linear-time version of the ’no learning’ property is expressed as follows: XO (ϕ) ⇒ O(Xϕ) (nolearn_linear) The corresponding condition on frames is if (w1 < w3 ) ∈ RO and w3 < w4 ∀w1 , w3 , w4 ∈ W (4) then ∃w2 ∈ W such that w1 < w2 and (w2 , w4 ) ∈ RO 3.2.3 ’Confluence’ property A more questionable property, considered as the existential version of the ’no learning’ property in a branching time setting (AX is replaced by EX), states that if there is a successor state in which it is obligatory to satisfy ϕ, then it is obligatory in the current state that there exists a successor satisfying ϕ. EXO (ϕ) ⇒ O(EXϕ) (conf ) We name this property ’confluence’ property because of the corresponding condition on frames. Property 6. The ’confluence’ property (conf ) is valid in a CT L ⊗ SDLframe F = (W, I, RX , RO ) iff F satisfies condition (5). if (w1 , w2 ) ∈ RX and (w1 , w3 ) ∈ R0 ∀w1 , w2 , w3 ∈ W (5) then ∃w4 ∈ W such that (w3 , w4 ) ∈ RX and (w2 , w4 ) ∈ RO 3.2. INTERACTION PROPERTIES 47 Notice that in a linear-time framework, the ’confluence’ property is equivalent to the ’no learning’ property. Another point of view consists in associating ’perfect recall’ and ’confluence’ properties with particular refinement relations between the restriction to the ideal states of a CT L ⊗ SDL and the whole Kripke frame. Let us formally define a refinement relation between an abstract system and a concrete one. Definition 34 (Refinement relation). Given two Kripke frames Sa = (Wa , Ra ) (abstract system) and Sc = (Wc , Rc ) (concrete system), and a relation R ⊆ Wc × Wa . The abstract system Sa is refined by R into the concrete system Sc if ∀wa ∈ Wa if (wc , wa ) ∈ R ∧ (wc , wc ) ∈ Rc ∀wc , wc ∈ Wc then ∃wa ∈ Wa such that (wc , wa ) ∈ R and (wa , wa ) ∈ Ra In a CT L ⊗ SDL-frame F = (W, I, RX , RO ), let Wc and Wa be respectively the domain and the co-domain of RO . Wa is the set of the ideal worlds, and we will see it as the set of the abstract worlds. Wc = W , since RO is serial, it will be considered as the set of the concrete worlds. We note Ra the restriction of RX to Wa and Rc = RX . Given such a frame F , the following properties hold: (i) F satisfies the ’confluence’ property iff (Wa , Ra ) is refined into (Wc , Rc ) by RO (ii) F satisfies the ’no learning’ property iff (Wa , Ra−1 ) is refined into (Wc , Rc−1 ) by RO 3.2.4 Obligation and branching time Depending on the model of time we consider (linear or branching-tree), obligatory formulas have a different kind. A linear-time formula describes a behaviour (or a set of behaviours) whereas a branching-time formula describes a state (or a set of states) in a tree-like model. For instance, O(pU q) can read as it is obligatory to have a behaviour which satisfies pU q, whereas O(E(pU q)) can be read as it is obligatory to be in a state such that there exists an outgoing path satisfying pU q. These are clearly distinct kinds of obligations. In the literature, we only find the former kind of temporal obligations. However, the latter can have practical applications. For instance, it can be interesting to specify that it is always obligatory to be in a state such that it is possible to re-initialize the system. This property can be expressed by the formula AG (O(EXreinit)). In the remainder of this Ph.D. thesis, we only deal with the former kind of obligations, where the temporal formulas which are in the field of a deontic operator are linear-time formulas. 48 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS 3.3 Product This section deals with the product of temporal and deontic logics. It provides a strong interaction between temporal and deontic dimensions. Product seems well suited to our framework without norm updates. For instance, ’no learning’, ’perfect recall’, and ’confluence’ properties all stand in a product logic. This strong interaction makes product more complex than fusion. For instance, decidability is much more difficult to establish, and the complexity of the satisfiability problem is not elementary for the product LT L K [57]. Section 3.3.1 introduces product of general modal logics. Section 3.3.2 studies product of linear temporal logic and standard deontic logic. 3.3.1 Product of modal logics We define here the two-dimensional product of unimodal logics [117, 57]. That is, we are dealing with product logics formulated in the bimodal language ML2 . (We can easily generalize this definition to two-dimensional product of multimodal logics.) Product logics are defined in a semantic way. Thus, we have to begin with the definition of the product of two 1-frames, that is two frames of 1 dimension. Definition 35 (Product frame). Let F1 = (W1 , R1 ) and F2 = (W2 , R2 ) be F2 as the 2-frame (W1 × two 1-frames. We define the product frame F1 W2 , Rh , Rv ), where ∀u1 , v1 ∈ W1 , u2 , v2 ∈ W2 (u1 , u2 )Rh (v1 , v2 ) (u1 , u2 )Rv (v1 , v2 ) iff iff u1 R1 v1 and u2 = v2 u2 R2 v2 and u1 = v1 W2 v2 R1, R2 u2 Rh, Rv u1 v1 W1 Figure 3.4: Illustration of the product (W1 , R1 ) (W2 , R2 ) 3.3. PRODUCT 49 The names Rh and Rv , for “horizontal” and “vertical”, are used to give a geometrical point of view. Figure 3.4 shows an illustration of a product (W2 , R2 ). frame (W1 , R1 ) Given a set P of atomic propositions, a product model based on the prod (W2 , R2 ) is then a pair ((W1 , R1 ) (W2 , R2 ), V ) uct frame (W1 , R1 ) where V : W1 × W2 → 2P associates each product state with a set of atomic propositions. A product logic is then defined as the logic determined by a class of product frames. More precisely, given two Kripke complete modal logics L1 and L2 , the product logic L1 L2 is defined as def L1 L2 = Log({F1 F2 / F1 ∈ F r(L1 ) and F2 ∈ F r(L2 )}) L2 is a two-modal Note that if L1 and L2 are unimodal logics, then L1 logic. If the name of the modal necessity operators of L1 and L2 are both , then we call h and v the modal operators associated with the horizontal relation and the vertical relation respectively. Similarly, we call ♦h and ♦v the possibility operators. To define the product of multimodal logics, we have to define the product L2 of n-frames. If L1 and L2 are respectively in MLn and MLm , then L1 is in MLn+m . The following properties which correspond to ’perfect recall’, ’no learning’, and ’confluence’ properties studied in section 3.2, are valid in every product frame. In this generic framework, the ’perfect recall’ and ’no learning’ properties are considered as commutativity properties, and we name them com1 and com2 respectively. v h ϕ ⇒ h v ϕ (com1) h v ϕ ⇒ v h ϕ (com2) ♦ h v ϕ ⇒ v ♦ h ϕ (conf ) We have seen that these three interaction axioms are valid in every product frame. However, there is no general result concerning a complete axiomatization of products [80]. Indeed, these axioms are not enough to characterize product frames in general although they are sufficient for the product of several standard modal logics. In [57], such logics are called ’product matching’: L1 and L2 are called ’product matching’ if L2 = (L1 ⊗ L2 ) ⊕ com1 ⊕ com2 ⊕ conf L1 In particular, if L1 and L2 are logics from the list (K, KD, KT, S4, S5), then L2 = (L1 ⊗ L2 ) ⊕ com1 ⊕ com2 ⊕ conf [80]. L1 Notice that we always have the following inclusion: L2 (L1 ⊗ L2 ) ⊕ com1 ⊕ com2 ⊕ conf ⊆ L1 50 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS Another important issue is decidabilty: the product of two decidable logics is not necessarily decidable. For instance LT L(X, U ) LT L(X, U ) is not decidable [57]. 3.3.2 Product LT L SDL Here, we focus on the product of Linear Temporal Logic (LT L) and Standard Deontic Logic (SDL). If T = (N, <) is a linear temporal frame, and D = (W, R), where R is serial, a deontic frame, then we denote (S, <t , Rd ) the product frame T D (see section 3.3.1, definition 35). Figure 3.5 provides an illustration. Each element of W represent a whole flow of time, and is then called a history. Elements of S = N × W , i.e., moment/history pairs, are called states. W, R w2 w1 R Rd w0 0 1 2 N, < Figure 3.5: Illustration of the product (N, <) (W, R) Given a set P of atomic propositions, a valuation V for T D is a function V : S → 2P that associates each state with a set of atomic propositions. The pair (T D, V ) is then called a product model based on T D. The language of the product logic LT L SDL is L(X, U, O ). Notice L2 , we need subscripts to that in the general definition of a product L1 distinguish the operators which come from L1 from those which come from L2 (see section 3.3.1). Since temporal and deontic operators have different names in the original language, we do not need subscripts here and keep original names for product operators. The semantics of obligation is defined as the vertical necessity operator v , and the semantics of the temporal operators needs to be taken care of because they differ from usual necessity operators. We can now define the satisfaction relation for the deontic and temporal product logic. A formula ϕ of LT L SDL is interpreted on a state of a product model. Because of the temporal operators, the generic possible worlds semantics 3.3. PRODUCT 51 given in chapter 2 does not match exactly. Definition 36 (Satisfaction). Given a product model ((S, <t , Rd ), V ), a state s = (i, w) ∈ S, and a formula ϕ, we can define the satisfaction relation |= by induction on the structure of ϕ: s |= Xϕ s |= ϕ1 U ϕ2 where “ t ” is defined by (i + 1, w) |= ϕ where s = (i, w) ∃s t s such that s |= ϕ2 and ∀s” ∈ S if s t s <t s then s |= ϕ1 s t s iff s <t s or s = s s |= Oϕ ∀s ∈ S iff iff iff if sRd s then s |= ϕ Let us discuss the interaction between the two dimensions (deontic and temporal). For instance, there is no difference between “it is permitted that ϕ holds tomorrow”, and “tomorrow, it will be permitted that ϕ holds”. This corresponds to the validity of P (Xϕ) ⇔ XP ϕ. Indeed, let s = (i, w) ∈ W be a state. Suppose that s |= P (Xϕ). Then there is a state s = (i, w ) such that sRd s and s |= Xϕ. So (i+1, w ) |= ϕ. And thus (i+1, w) |= P ϕ. So we can deduce s |= XP ϕ. In the same way, we can show that |= XP ϕ ⇒ PXϕ. Then, |= P Xϕ ⇔ XP ϕ In fact, this formula is equivalent to the conjunction of the ’perfect recall’ and ’no learning’ properties: |= OXϕ ⇔ XO ϕ Notice that the confluence property is equivalent to the ’no learning’ property in the linear-time framework. The above commutativity properties are typical for product logics. In our context of temporal and deontic product, they reflect the fact the deontic realm is not updated, as we said in the introduction. So, if it is obligatory to go to Paris tomorrow, then tomorrow it will be obligatory to go to Paris immediately, and vice versa. An important question is the following “are these two properties (’perfect recall’ and ’no learning’) enough to characterize LT L SDL? ”. To the best of our knowledge, there is no result for LT L(X, U ). However, we have that LT L(X, X −1 ) and KD are productmatching. SDL = (LT L(X, X −1 ) ⊗ SDL) ⊕ com1 ⊕ Property 7. LT L(X, X −1 ) com2 ⊕ conf Proof. The result can be deduced from the axiomatization of N OM AD [41], which has a richer language, but similar axiomatization and semantics. 52 CHAPTER 3. COMBINING TEMPORAL AND DEONTIC LOGICS Let us consider decidability results for LT L SDL. A standard way to demonstrate decidability is to show that the considered logic has the finite model property. In our case, the logic LT L(X, U ) SDL lacks the finite model property but remains decidable. Property 8. LT L(X, U ) SDL has not the finite model property. Proof. Let us exhibit a formula in L(X, U ) which may be satisfiable only for infinite product frames. Consider the following statement “p is always permitted, and p ought to happen at most once”. It corresponds to the formula def ϕ = GP p ∧ O(AtMostOne(p)), where p ∈ P is an atomic proposition, and AtMostOne(p) is the abbreviation of G(p ⇒ XG¬p), which means p happens at most once. Then there is no finite frame (N × W, <t , Rd ) on which ϕ is satisfiable. Indeed a model of ϕ necessarily contains a infinite number of ’alternatives’, i.e., W is necessarily infinite. Indeed, let (i, w) a state which satisfies ϕ. Then every (i + k, w) satisfies P p. So, for each of these future states, there is an ideal alternative state (i + k, w ) satisfying p. The subformula AtM ostOne(p) ensures that each such ideal state is different from the others. It follows that there are as many alternatives w as points in the future. Property 9. LT L(X, U ) SDL is decidable. Proof. The proof directly follows from the decidability of LT L(X, U ) K [57] and the existence of a translation T such that ϕ is valid for LT L(X, U ) def SDL if and only if T (ϕ) is valid for LT L(X, U ) K (with T (ψ) = (T (ψ)) ∧ ♦) 4 Propagation property This chapter deals with a family of interaction properties which corresponds to a strong intuition: if a future-directed obligation is not fulfilled, then it is propagated to the next moment. Section 4.1 studies obligations with deadline, which are especially concerned with propagation. We propose different semantic definition for an operator dedicated to deadline obligations, in the framework of the product LT L SDL. In section 4.2, we study a more general form of propagation property and propose a framework for validating it. Starting from LT L SDL, we change the semantics of obligation in order to validate the propagation property. We come to a problem in section 4.2.2, which has to do with the violation of propositional formulas. We then consider the problem from a different point of view in section 4.2.3, and look for a necessary and sufficient condition for an arbitrary temporal deontic model to validate the propagation property. It turns out that when an ’immediate obligation’ is violated at some moment, undesirable properties necessarily occur from that instant on. We then refine our semantics in section 4.2.4 with a preference-based deontic relation, so that the propagation property is only satisfied in the states that do not violate any immediate violations. 4.1 Deadline obligation Obligations with deadline constitute one of the most natural ways to reason about temporal and deontic notions. They involve a strong interaction between both dimensions: if I have to go to Paris before Sunday, and I do not go to Paris today, then it seems natural to deduce that tomorrow I will have to go to Paris. These interactions have been studied in different frameworks. In [30, 27], Broersen et al. use a reductionist approach: the goal is to model obligations with deadline in CT L, or AT L, using a violation constant, and 53 CHAPTER 4. PROPAGATION PROPERTY 54 an ideality constant. [43] studies deadline obligations, where the deadline is a formula instead of a concrete duration. This can be considered as a more abstract point of view. Cuppens et al. also study deadline obligations in N OM AD [41]. Their logic is close to a product and can be considered as a starting point of our work. Nevertheless, the deontic dimension is not tackled similarly. There is a distinction between two kinds of obligations: contextual obligations, which are defined in terms of a necessity modality and do not interact with ’what happens’, and effective obligations, which can interact with the temporal dimension. In this section, we propose different definitions for obligation with deadline, and for each of them, we study the properties presented in the following subsection. We work in the framework of product LT L SDL, i.e., we consider the satisfaction relation, the validity, and the satisfiability of LT L SDL. 4.1.1 Studied properties In this section, the obligation to satisfy ϕ before k time units, where k ∈ N, is denoted by Ok (ϕ). We propose different definitions for Ok , and study the following properties for each definition: • monotonicity properties – with respect to the deadline if it is obligatory to satisfy ϕ before a deadline k, is it obligatory to satisfy ϕ before a greater deadline k ? ? with k k |= Ok (ϕ) ⇒ Ok (ϕ) – with respect to the obligatory formula If ϕ1 implies ϕ2 , is it the case that Ok (ϕ1 ) implies Ok (ϕ2 )? if |= ϕ1 ⇒ ϕ2 then ? |= Ok (ϕ1 ) ⇒ Ok (ϕ2 ) Notice that the two following properties, sometimes also named monotonicity properties, are equivalent to the latter property: ? |= Ok (ϕ1 ∧ ϕ2 ) ⇒ Ok (ϕ1 ) and ? |= Ok (ϕ1 ) ⇒ Ok (ϕ1 ∨ ϕ2 ) • ’perfect recall’ for Ok If it is obligatory to satisfy Xϕ before k then in the next state, will it be obligatory to satisfy ϕ before k? ? |= Ok (Xϕ) ⇒ XOk (ϕ) 4.1. DEADLINE OBLIGATION 55 Notice that the original ’perfect recall’ property (O (Xϕ) ⇒ XO(ϕ)) only concerns the operator O. In this section which deals with deadline obligation, we use the denomination ’perfect recall’ property for this Ok property. A similar clarification stands for the ’no learning’ property. • ’no learning property’ for Ok If in the next state it will be obligatory to satisfy ϕ before k then in the current state, is it obligatory to satisfy Xϕ before k? ? |= XOk (ϕ) ⇒ Ok (Xϕ) • propagation property If it is obligatory to satisfy ϕ before k, and ϕ is not satisfied now, or ϕ is prohibited now, then in the next state, will it be obligatory to satisfy ϕ before k − 1? ? |= Ok (ϕ) ∧ (¬ϕ ∨ O(¬ϕ)) ⇒ XOk−1 (ϕ) This property is essential for an obligation with deadline, and more generally, it is a key property of the interaction between the deontic and the temporal dimensions. A more general form of propagation property will be dealt with in the next section. In the present form, the property expresses that an obligation with deadline is propagated while it is not fulfilled. Let us justify the formalization of ’not fulfilled’ by ¬ϕ ∨ O(¬ϕ), i.e., the formalization of ’fulfilled’ by ϕ ∧ ¬O(¬ϕ). Consider it is obligatory to satisfy ϕ before k, and it is forbidden to satisfy it at some moments between i and i + k, where i is the current moment. For instance, O10 (ϕ) ∧ O(¬Xϕ) ∧ O(¬XXϕ) means that it is obligatory to satisfy ϕ before i + 10, but it is forbidden to satisfy it at i + 1, and at i + 2. Then, fulfilling the obligation naturally corresponds to satisfying ϕ at any moment between i and i + 10, except i + 1 and i + 2, i.e., any moment where ϕ is permitted. In other words, we consider that fulfilling def ϕ means satisfying ϕ ∧ P(ϕ) (let us remind that P (ϕ) = ¬O(¬ϕ)). • D-like axiom Is it unsatisfiable that ϕ and ¬ϕ are both obligatory (in the sense of O0 )? ? |= ¬ (O0 (ϕ) ∧ O0 (¬ϕ)) • interaction between Ok1 and Fk2 1 Is there a distinction between the obligation to satisfy Fk2 ϕ before k1 1 Fk ϕ means ’ϕ will be satisfied before k time units’, cf. section 2.3.1 CHAPTER 4. PROPAGATION PROPERTY 56 and the obligation to satisfy ϕ before k1 + k2 ? ? |= Ok1 (Fk2 (ϕ)) ⇔ Ok1 +k2 (ϕ) At first sight, all these properties are desirable. Actually, we will see that different readings of Ok are possible, and some of these properties may be desirable according to one reading and undesirable according to another. Besides, we argue against the ’no learning’ property independently of Ok ’s reading. Indeed, let us consider more closely the relation between the ’no learning’ property and the propagation property. The propagation property specifies that obligations in the current state together with propositions in the current state, imply some obligations in the next state. On the other hand, the ’no learning’ property expresses that every obligation in the next state already holds in the current state. So the obligations in the next state which are deduced from the propagation property are already true in the current state according to the ’no learning’ property. This is not intuitive. Indeed, let us consider the following situation: • it is obligatory to satisfy p before tomorrow, but it is not obligatory to satisfy p tomorrow. This is expressed by the formula O1 (p) ∧ ¬O(Xp). Intuitively, this should be satisfiable (what is obligatory is to satisfy p today or tomorrow, not to satisfy p tomorrow). • p is not satisfied now: ¬p. The deadline obligation is not fulfilled today and it propagates. Thus, tomorrow, it will be obligatory to satisfy p. Thus, the conjunction O1 (p) ∧ ¬O (Xp) ∧ ¬p seems perfectly satisfiable, and yet it is not the case with our definition of Ok . Indeed, from the propagation property we deduce XO0 (p), and from the ’no learning’ property, we deduce O0 (Xp), which is in contradiction with ¬O(Xp). 4.1.2 A first attempt for defining deadline obligation The natural way to specify an obligation Ok (ϕ) to satisfy ϕ before k time def units is: Ok (ϕ) = O(Fk ϕ) Property 10 (Properties of Ok ). • The properties of monotonicity (with respect to the deadline and with respect to the obligatory formula) hold. • ’Perfect recall’ and ’no learning’ properties for Ok hold. |= Ok (Xϕ) ⇔ XOk (ϕ) 4.1. DEADLINE OBLIGATION 57 These are consequences of the original ’perfect recall’ and ’no learning’ properties for the operator O. • The pure-deontic part of the propagation property holds: |= Ok (ϕ) ∧ O(¬ϕ) ⇒ XOk−1 (ϕ) But the other part, which involves an interaction between what happens and what is obligatory, does not hold: Ok (ϕ) ∧ ¬ϕ ⇒ XOk−1 (ϕ) Indeed, a state (i, w) satisfies Ok ϕ if all the ideal states of (i, w) satisfy ϕ before k time units. But one of these ideal states may satisfy ϕ now, and ¬ϕ thereafter. In this case, the obligation does not hold in one time unit, even if ϕ has not been satisfied. • Axiom D for O0 is valid since O0 (ϕ) = O(ϕ). |= ¬(O0 (ϕ) ∧ O0 (¬ϕ)) • The interaction between Ok1 and Fk2 validates the following property |= Ok1 (Fk2 (ϕ)) ⇔ Ok1 +k2 (ϕ) This property follows from |= Fk1 Fk2 (ϕ) ⇔ Fk1 +k2 (ϕ). 4.1.3 Validation of the propagation property Now we consider another definition so that the ’complete’ propagation property holds. Based on the idea developed in [43], we consider that the obligation with deadline Ok (ϕ) is true if O(Fk ϕ) remains true (with k decremented at each time step) while ϕ is not satisfied or ϕ is prohibited, until the deadline is reached. Definition 37 (Obligation with deadline). O(ϕ) if k = 0 def Ok (ϕ) = O(Fk ϕ) ∧ ((¬ϕ ∨ O(¬ϕ)) ⇒ X Ok−1 (ϕ)) otherwise Property 11 (Properties of Ok ). • Monotonicity properties (with respect to the deadline and with respect to the obligatory formula) are valid. • ’Perfect recall’ and ’no learning’ properties are valid: |= Ok (Xϕ) ⇔ XOk (ϕ) CHAPTER 4. PROPAGATION PROPERTY 58 • The propagation property is valid: |= Ok (ϕ) ∧ (¬ϕ ∨ O(¬ϕ)) ⇒ XOk−1 (ϕ) • Axiom D for O0 is valid because O0 (ϕ) = O(ϕ). |= ¬(O0 (ϕ) ∧ O0 (¬ϕ)) • There is no interaction between Ok1 and Fk2 : Ok1 (Fk2 ϕ) ⇒ Ok1 +k2 (ϕ) Ok1 +k2 (ϕ) ⇒ Ok1 (Fk2 ϕ) Proofs of these properties are given in the appendix. This definition validates most of the properties that we have specified as desirable, at a first sight. However, as argued in section 4.1.1, the ’no learning’ property is not desirable. Moreover, properties which relate Ok and Fk do not hold. The next proposition for Ok overcomes these problems. 4.1.4 New operator Ok Another point of view consists in considering that O(Fk ϕ) still makes sense, and corresponds to the starting point of an obligation to satisfy ϕ before k. Let us remember that the latter definition of Ok imposes that O(Fk ϕ) remains true while the deadline obligation propagates. On the other hand, we now consider the following definition. Ok (ϕ) holds from the moment at which the obligation is posted, i.e., when O(Fk ϕ) is true, and Ok (ϕ) remains true (with k decremented at each time step) while ϕ is not satisfied and the deadline is not reached. So, the moment where an obligation with deadline is posted plays an important role. We then define an operator Ok (ϕ, k ) which means that “k time units ago, an obligation to satisfy ϕ before k + k was posted, and the obligation has not been fulfilled yet”. The corresponding semantic characterization is then as follows. (i, w) |= Ok (ϕ, k ) iff (i − k , w) |= OFk+k ϕ and (i − k , w) O Fk+k −1 ϕ and ∀j ∈ N if i − k j < i then (j,w) |= ¬ϕ ∨ O(¬ϕ) The first line of the semantic characterization expresses that k’ time units ago, an obligation O(Fk+k ϕ) was true. The second line means that k time units ago, there was no obligation to satisfy ϕ before a shorter deadline. Thus k is the shortest deadline before which there is an obligation to satisfy ϕ. We need this ’minimality’ criterion because of the past moment k . Indeed, it is clear in the following example. Consider an instant i > 0, and suppose that 4.1. DEADLINE OBLIGATION 59 (1) at i − 1, O(ϕ) ∧ ¬ϕ holds. (2) at i, O(¬ϕ ∧ ¬Xϕ) holds. Intuitively, there is no conflict between (1) and (2). Yet, from (1) we deduce that O(F2 ϕ) ∧ ¬ϕ holds at i − 1. Thus, without the second line of the definition, we can deduce that O2 (ϕ, 0) and O1 (ϕ, 1) holds respectively at instants i − 1 and i. So, at i, there is an obligation to satisfy ϕ before 1 time unit. This intuitively conflicts with the prohibition (2) to satisfy ϕ at i and at i + 1. So, in the definition, we only consider at the past moment k the minimal deadline k + k for which there is O(Fk+k ϕ). In fact, the meaning of Ok (ϕ, k ) is “k time units ago, there was an obligation to satisfy ϕ before k+k , but not before k+k −1, and the obligation has not been fulfilled yet”. The third line of the semantic characterization means that the obligation has not been fulfilled yet. This semantic definition is equivalent to the following definition in the logic LT L SDL: Definition 38. def Ok (ϕ, k ) = X −k O(Fk+k ϕ) ∧ ¬O(Fk+k −1 ϕ) ∧ G<k (¬ϕ ∨ O(¬ϕ) if k = 0 def . where G<k ϕ = ϕ ∧ XG<k−1 ϕ otherwise Notice that contrary to the previous definitions, we need a past operator to define Ok . The definition of the obligation with deadline is then straightforward. Definition 39 (Obligation with deadline). Given a product model ((S, <t , Rd ), V ), a state (i, w) ∈ S, a natural number k ∈ N, and a formula ϕ of LT L SDL, we define the truth relation for Ok (ϕ) as follows i, w |= Ok (ϕ) iff ∃k ∈ N such that i, w |= Ok (ϕ, k ) Notice that Ok is not defined in our logical language because of the existential quantifier, and we do not have a decidability result concerning our logic enriched with Ok . Figure 4.1 illustrates this definition. In the fist state, an obligation to satisfy p before 2 time units is posted, since O (F2 p) is true and O(F1 p) is false. So O2 (p) holds in the first state. Since p is not satisfied in this first state, the deadline obligation is propagated: O1 (p) is true in the next state. Since it is prohibited to satisfy p in the second state (O (¬p) holds), the deadline obligation is propagated again: O0 (p) holds in the third state. CHAPTER 4. PROPAGATION PROPERTY 60 p p p O(F2(p) O2(p) p O(¬p) O1(p) O0(p) Figure 4.1: Deadline obligation Notice that in this example, the obligation with deadline is violated because p does not hold in the third state, and the prohibition in the second state is also violated, because p is true in this state. Actually, we can express, from the behaviour of the ideal histories, the following rules: it is obligatory to satisfy p either in the first or in the third state, and it is prohibited to satisfy p in the second state. In this example, the current history does not comply with any rule. Now we study the properties which are satisfied by this new operator. Property 12 (Properties of Ok ). • Because of the ’minimality’ criterion, the monotonicity property with respect to the deadline is not valid. Indeed, Ok (ϕ) means that it is obligatory to satisfy ϕ before k, and not obligatory to satisfy ϕ before a shorter deadline. • The monotonicity property with respect to the obligatory formula does not hold either. This is problematic, and will be discussed at the end of this section. • The ’no learning’ property does not hold, which is a positive result. XOk (ϕ) ⇒ Ok (Xϕ) • The ’perfect recall’ property is valid. |= Ok (Xϕ) ⇒ XOk (ϕ) 4.1. DEADLINE OBLIGATION 61 • The propagation property is valid. |= Ok (ϕ) ∧ (¬ϕ ∨ O(¬ϕ)) ⇒ XOk−1 (ϕ) • Axiom D for O0 is valid: |= ¬(O0 (ϕ) ∧ O0 (¬ϕ)) • Ok1 and Fk2 interact as follows: If it is obligatory to satisfy ϕ before k1 + k2 , then it is obligatory to satisfy Fk2 ϕ before k1 . |= Ok1 +k2 (ϕ) ⇒ Ok1 (Fk2 ϕ) On the other hand, the converse property is not valid. Ok1 (Fk2 ϕ) ⇒ Ok1 +k2 (ϕ) Given a state (i, w) the first two lines of the semantic definition of Ok1 (Fk2 ϕ) and Ok1 (Fk2 ϕ) are equal, because Fk1 Fk2 . Indeed, according to our definition, Ok1 (Fk2 ϕ) implies that Fk2 ϕ has not been fulfilled since the obligation were posted, whereas Ok1 +k2 (ϕ) only implies that ϕ has not been fulfilled since the obligation were posted, which is a weaker condition. Proofs are given in the appendix. Let us further investigate the properties of Ok . The following question arises from the ’minimality’ criterion: although the deadline k is ’minimal’ in Ok , i.e., Ok (ϕ) does not imply necessarily Ok (ϕ), for k k, is it possible anyway to have Ok1 (ϕ) and Ok2 (ϕ), for k1 = k2 in the same state? The answer is positive. Indeed, it may be the case that • k1 time units ago, an obligation to satisfy ϕ before k1 + k1 was posted, i.e., Ok1 (ϕ, k1 ) is satisfied • and k2 time units ago, an obligation to satisfy ϕ before k2 + k2 was posted, i.e., Ok2 (ϕ, k2 ) is satisfied Figure 4.2 illustrates such a situation. If we consider the instant 2, we have: • an obligation to satisfy p before 2 time units was posted two time units ago • an obligation to satisfy p before 3 time units was posted one time unit ago • p has not been satisfied yet CHAPTER 4. PROPAGATION PROPERTY 62 p p p p 0 O(F2(p) 1 2 O0(p) 3 4 O(F3(p) O2(p) Figure 4.2: Obligation to satisfy p before two distinct deadlines Thus, instant 2 satisfies O0 (ϕ) and O2 (ϕ). Another question concerns the monotonicity property with respect to the obligatory formula. In order to validate it, a solution could be to change again the semantic definition of our operator as follows: Definition 40 (Monotonous obligation with deadline). |= ψ ⇒ ϕ (i, w) |= Okm (ϕ) iff ∃ψ ∈ LLT L SDL and (i, w) |= Ok (ψ) So, this operator has the monotonicity property. |= Okm (ϕ1 ∧ ϕ2 ) ⇒ Okm (ϕ1 ) ∧ Okm (ϕ1 ) It also has the following properties we have studied for Ok : • propagation property m (ϕ) |= Okm (ϕ) ∧ (O(¬ϕ) ∨ ¬ϕ) ⇒ XOk−1 • interaction between Ok1 and Fk2 |= Ok1 +k2 (ϕ) ⇒ Ok1 (Fk2 (ϕ) But this monotonous operator lacks the ’perfect recall’ property and axiom D: • Okm (Xϕ) ⇒ XOkm (ϕ) 4.2. GENERAL PROPAGATION PROPERTY 63 • ¬(O0m (ϕ) ∧ O0m (¬ϕ)) Thus, although the two definitions we have proposed for a deadline obligation operator in a product setting are interesting in many points, we have not obtained a fully satisfactory solution. Rather than defining an operator dedicated to deadline obligations, the next section proposes another semantics for the (general) obligation in a temporal framework which takes into account interactions and validate a generalized propagation property. 4.2 General propagation property We want to consider a propagation property as general as possible. For instance we want to capture the obligation with deadline, or the obligation to meet something eventually (without deadline). The obligation to satisfy ϕ now, or ψ next seems to be the most general kind of obligation for which we want to study the propagation. Indeed, the obligation with deadline O(Fk (ϕ)) (with k > 0) can be re-written O(ϕ ∨ XFk−1 (ϕ)), and the obligation to satisfy ϕ eventually O(F ϕ) can be re-written O(ϕ ∨ XF (ϕ)). Starting from the product LT L SDL of temporal and deontic logics, we propose a logical framework which guarantees this propagation property. 4.2.1 Propagation property and product As a first attempt for formalizing a propagation property to be added to the product logic, we consider: O(ϕ ∨ Xψ) ∧ ¬ϕ ⇒ XO(ψ) (4.1) If it is obligatory to meet ϕ now, or ψ next, and ϕ is not satisfied now, then it will be obligatory next to meet ψ. Let us first discuss the nature of the formula ϕ. Intuitively, ϕ only concerns the present. Indeed, the propagation property expresses that what will be obligatory at the next step may depend on what happens now (ϕ not being true). So it is natural to consider that ϕ is a propositional formula. Otherwise, if ϕ contained future operators, what will be obligatory at the next step would depend on something which has not happened yet. Let us now refine the formalization of the propagation property. We do not want that from the propagation property and the properties of the temporal deontic logic it follows that Oϕ∧¬ϕ ⇒ XO (ψ). Yet this property does follow from 4.1 in combination with (a temporal variant of) weakening of obligations: Oϕ ⇒ O(ϕ∨Xψ). To solve this problem, we re-formalize the propagation property, in order to prevent that in combination with temporal weakening it can be used to derive this unwanted property. To achieve this, we restrict the propagation property (4.1) to the case where O (ϕ) is false2 , 2 Another strategy might be to attack the temporal weakening property directly. 64 CHAPTER 4. PROPAGATION PROPERTY and we thus arrive at the following property instead of (4.1): O(ϕ ∨ Xψ) ∧ ¬Oϕ ∧ ¬ϕ ⇒ XO (ψ) (4.2) for any propositional formula ϕ, and any temporal formula ψ Similarly, we may explicitly exclude that O (Xψ) holds in the premise of the property. So we may formulate the propagation formula as follows: O(ϕ ∨ Xψ) ∧ ¬Oϕ ∧ ¬OXψ ∧ ¬ϕ ⇒ XO (ψ) (4.3) for any propositional formula ϕ, and any temporal formula ψ However, the conjunction of the ’perfect recall’ property for temporal formulas (O(Xϕ) ⇒ XO (ϕ) for any temporal formula ϕ) and property (4.3) is equivalent to property (4.2). Indeed, property (4.2) obviously implies property (4.3) and the ’perfect recall’ property (with ⊥ for ϕ in property (4.2)). On the other hand, suppose that property (4.3) and the ’perfect recall’ property hold. Also suppose that O(ϕ∨Xψ)∧¬O ϕ∧¬ϕ holds, for a propositional formula ϕ, and a formula ψ. If ¬O(Xψ), then, from property (4.3) we can deduce XO (ψ). Otherwise, from the ’perfect recall’ property, we also deduce XO(ψ). So, property (4.2) holds. So, in the product setting, since, the ’perfect recall’ property is valid, properties (4.2) and (4.3) are equivalent. But, now we have to conclude that the propagation property is not compatible with a genuine product: we can consistently add property (4.2) to the product logic, but we will never have a case where XO (ψ) is really a consequence of O(ϕ ∨ Xψ) ∧ ¬Oϕ ∧ ¬ϕ being true. In fact, a product model satisfies property (4.3) only if it does not satisfy the hypothesis O(ϕ∨ Xψ)∧ ¬O (ϕ)∧ ¬O(Xψ)∧ ¬ϕ. (Indeed, if a product model satisfied the hypothesis O (ϕ∨ Xψ)∧ ¬O (ϕ)∧ ¬O (Xψ)∧ ¬ϕ, in some state s, for some ϕ and ψ, then, from the ’no learning’ property, we could deduce ¬XO(ψ) in s.) This corresponds to a product model where all the ideal states of a given state have the same valuation, which is clearly not interesting to work with. We then propose to drop the ‘no learning’ property XO ϕ ⇒ OXϕ. So, we will no longer have a genuine product. But this is in accordance with intuitions. Indeed, looking at the propagation property, it may be the case that obligation O(ψ) holds in the next state while it does not hold in the current state (even if O(ϕ ∨ Xψ) holds in the current state). The above discussion shows that this is incompatible with a product; we have to allow some dynamics in the deontic dimensions because obligations may be inherited from earlier states. We do however preserve the ‘perfect recall’ property O Xϕ ⇒ XO ϕ that expresses that no obligations are ‘forgotten’ over time. So, in the remainder, we will study property (4.2), which is shorter. 4.2. GENERAL PROPAGATION PROPERTY 4.2.2 65 Semantics based on the restriction of the ideal states In this section, our goal is to define a semantics that satisfies the propagation property and the perfect recall property. To account for propagation, in the semantics we have to introduce a stronger interaction between what happens and what is obligatory, i.e., between what is true in the current state and what is true in the (next) ideal states. If we want to satisfy the perfect recall property, the set of ideal histories in the next state is a subset of the set of the ideal histories in the current state. The principle of propagation then should point us to what subset to take. Our idea is that for ideal histories at a next moment we should only take into account the histories that share the same past as the current history until the present moment. The reason for this is that we assume obligations do not apply to the past, but only to the present and the future. Then, clearly, we do not want to consider a past which is different from the ‘current’ past, as ideal. We thus only assess ideality for the histories that share their past with the current history. The collective past of the set of histories thus obtained then represents what actually has happened. And what actually has happened, is going to influence what is obliged currently, according to the preservation property we aim at. Let us define the predicate SamePast(s, s ) which says that the states s and s of a temporal deontic product model share the same past : SamePast((i, w), (i , w )) def = i = i ∧ ∀j < i V (j, w) = V (j, w ) This can also be formulated as follows SamePast((i, w), (i , w )) def = i = i ∧ V (w)<i = V (w )<i When interpreting an obligation in a state s, we only consider the states s which satisfy sRd s and SamePast(s, s ). Definition 41 (Semantics of the obligation (2)). Given a product model (S, <t , Rd ), a state s, and a formula ϕ, we now consider the following semantics for obligation: s |= Oϕ iff ∀s ∈ S if SamePast(s, s ) and sRd s then s |= ϕ Remark 4 (Ideal state, ideal history). For any instant i ∈ N, histories w, w , if SamePast((i, w), (i, w )) and (i, w)Rd (i, w ), then, we say that • (i, w ) is an ideal state for (i, w) • w is an ideal history for (i, w) With this new semantics, the deontic realm is described by fewer and fewer histories (which means that more and more formulas are obligatory) CHAPTER 4. PROPAGATION PROPERTY 66 when time passes. This is conform to the fact that we keep O(Xϕ) ⇒ XO (ϕ), and avoid XO(ϕ) ⇒ O(Xϕ); no obligations are forgotten, but some obligations may appear (in particular when they are propagated from a more general obligation in the previous state). w3 w2 w1 w0 {q} {} {p, q} {} {} {q} {} {p} {p} {p} {p} {p} {q} {q} {} {q} {} {p} 0 1 2 {p} {} 3 4 Figure 4.3: Semantics of obligation Propagation of obligations Let us illustrate, by the way of an example, how an obligation may propagate. Consider the product model illustrated in Figure 4.3, where, in state (0, w0 ), histories w1 , w2 , and w3 , are ideal. Then, we have for instance 0, w0 |= O(p ∨ XXp) ∧ ¬p. Since w0 does not satisfy p at instant 0, the history w1 which satisfies p at instant 0 is not ideal anymore at the next instant. So, only w2 and w3 (which satisfy XXp at instant 0) remain ideal at instant 1. Thus, the propagation applies, and we have 0, w0 |= XO (Xp). Let us now state the propagation property and propose a proof in the general case where ϕ is a propositional formula and ψ can be any formula. Property 13 (Propagation property). Let M be a temporal deontic product model. Then it satisfies the propagation property (4.2) for the obligation operator of definition 41: M |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ ⇒ XO(ψ) for ϕ propositional formula, and ψ any temporal formula. Proof. Let M = ((S, <t , Rd ), V ) be a temporal deontic model, and s = (i, w) ∈ S a state such that s |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ. Every s which is ideal in s, i.e., such that SamePast(s, s ) and sRd s , satisfies ϕ ∨ Xψ, and it is not the case that every such s satisfies ϕ. If some of these states s = (i, w ) have the same valuation as s, then they satisfy ¬ϕ (since ϕ is propositional, and s |= ¬ϕ), and ϕ ∨ Xψ. So, 4.2. GENERAL PROPAGATION PROPERTY 67 they satisfy Xψ. Thus, every state (i + 1, w ) which is ideal in (i + 1, w) satisfies ψ, i.e., (i + 1, w) |= Oψ. Otherwise (if none of the states s have the same valuation as s), there is no ideal state having the same past as (i + 1, w). So, every formula is obligatory in (i + 1, w). In particular, (i + 1, w) |= Oψ. Notice that we have proved the propagation property for any formula ψ although we are only interested in temporal formulas ψ. So we have that some of the obligations that may appear at a next state are due to the propagation property. In fact, the following property claims that the propagation property completely characterizes the new obligations that appear. New obligations We consider that an obligation O(ψ) is new if it holds in a state (i + 1, w) whereas it was not obligatory to satisfy Xψ in the previous state (i, w), i.e. if i, w |= XO(ψ) ∧ ¬O(Xψ). Property 14 (Characterization of new obligations). We suppose that the set P of atomic propositions is finite. For any formula ψ, if in a state s both the formulas XO(ψ) and ¬O(Xψ) hold, then there exists a propositional formula ϕ such that s |= O(ϕ ∨ Xψ) ∧ ¬ϕ So, if, in the next state, there will be an obligation to satisfy ψ and if this obligation is new (i.e., now, there is no obligation to meet ψ next), then it is due to a current obligation to satisfy ϕ ∨ Xψ where ϕ is propositional and not fulfilled. Proof. Let ψ a formula and s a state such that s |= XO(ψ) ∧ ¬O(Xψ). Let E the set of the ideal states of s which do not satisfy Xψ: def E = {s ∈ S / sRd s and SamePast(s, s ) and s |= ¬Xψ} We now define the set V (E) of all the valuations of states in E. This set is def finite (even if E is infinite) because it belongs to 22 . V (E) = {V (s) / s ∈ E}. Then we define the propositional formula P def ϕ = ( v∈V (E) p∈v p ∧ ¬p) p∈v / Then every ideal state of s either satisfies Xψ or is in E and satisfies ϕ. So s |= O(ϕ ∨ Xψ). Moreover, since s |= XO (ψ), the states in E - which do not satisfy Xψ - become not ideal at the next step. So they do not share the same atomic propositions with s. Thus s |= ¬ϕ. CHAPTER 4. PROPAGATION PROPERTY 68 Axiom D Unfortunately, not everything is fine. In particular, the deontically ideal histories may shrink to the empty set when time passes, as we saw in the proof of property 13. This conflicts with our desire to stay in accordance with SDL where obligations are always consistent: ¬O⊥. Another formulation is axiom D: Oϕ ⇒ Pϕ. Then, if from a state s, there is no ideal state with the same past, these properties cannot be satisfied, and every formula is obligatory in s, including ⊥. In particular this occurs if there is a violation of a proposition p in a state s = (i, w), i.e., if s |= O (p) ∧ ¬p. In this case no ideal state is associated with (i + 1, w). Property 15. With this semantics of obligation, axiom D is not valid: ¬O(⊥) and Oϕ ⇒ Pϕ for any formula ϕ As a solution to this problem, we might consider to add a constraint on the models expressing that from every state there exists an ideal state with the same past. Definition 42 (Ideal existence constraint on models). Let M = ((Sd , <d , Rd ), V ) be a temporal deontic product model. We say that M satisfies the ideal existence constraint if ∀s ∈ S ∃s ∈ S such that sRd s and SamePast(s, s ) This constraint now guarantees validity of axiom D. Property 16 (Axiom D). Let M be a temporal deontic product model that satisfies the ideal existence constraint. Then M |= ¬O⊥ or equivalently M |= Oϕ ⇒ Pϕ for any formula ϕ. However, again we have to face a problem: the ideal existence constraint interacts with the identical past criterion in an undesirable way. In particular, the above-mentioned situation where an obligation Op is violated in the current state (i, w) (i.e., i, w |= O(p) ∧ ¬p) is no longer possible. Indeed, in this situation, let us recall that no ideal state is associated with (i + 1, w), which directly conflicts with the ideal existence constraint. So, if in our logic, we impose both properties (axiom D and the propagation property), we actually get that obligations can never be violated. Property 17 (No violation). Let M be a model satisfying the ideal existence constraint and ϕ a formula. Then M |= ¬(O(ϕ) ∧ ¬ϕ). The conclusion has to be that we still have to refine the semantics: the violation of obligations should be possible, without losing the interaction between what happens and the deontic realm. We will propose a solution based on a preference deontic relation in section 4.2.4. 4.2. GENERAL PROPAGATION PROPERTY 4.2.3 69 Correspondence between the propagation property and a condition on models We have proposed a semantics which ensures the propagation property (4.2), and guarantees that every new obligation that appears in some state is ’due’ to the propagation of an obligation in the previous state. We have also expressed a sufficient condition on models for validating axiom D. Another possibility would be to follow the approach of the correspondence theory [125, 126] : the question would be to determine the class of the LT L⊗SDL-models which satisfy property (4.2). Notice that, because of the restriction on ϕ and ψ in property (4.2), to propositional formulas and temporal formulas respectively, we cannot determine the class of frames which characterize our property, as usually done in the correspondence theory. In fact, we need valuations and thus, we reason about models instead of frames. General temporal and deontic framework We first exhibit a class of frames which characterizes the fusion LT L ⊗ SDL. We consider a sub-class C1 of the class given in chapter 3, section 3.1.1, in order to stay closer to the notation of product frames. Indeed, it is then easier to establish the link with the semantics proposed in the previous section. This sub-class C1 still defines the same set of valid formulas, so it also characterizes LT L ⊗ SDL. Definition 43 (Class C1 of frames). We consider frames (N × W, <t , Rd ) where • N × W is the set of states. W represents a set of histories, and time is represented by N. • <t ⊆ (N × W ) × (N × W ) is defined from the usual strict order on N, as for the product LT L SDL, and from which we define the semantics of temporal operators, as usual. It is straightforward to show that <t satisfies the three conditions given in section 3.1.1, page 42. • Rd ⊆ (N × W ) × (N × W ) is a serial relation on (N × W ), and allows to define the semantics of obligation as usual. Without loss of generality, we assume that Rd only associates states which belong to the same instant: if (i, w)Rd (i , w ) then i = i 3 . Given a frame F in C1 , a valuation F is a function V : N × W → 2P which associates each state with a set of atomic propositions. A model based on F is a pair (F, V ), where V is a valuation for F . 3 Indeed, if a model based on (W, <t , Rd ) satisfies a formula ϕ, then we can build a model based on (Z × W, <t , Rd ) which also satisfies ϕ, such that Rd only associates states which belong to the same instant. CHAPTER 4. PROPAGATION PROPERTY 70 The definition of the satisfaction relation between a state (i, w) and a formula, denoted by |= 4.2.3 in remark 5 below, is defined straightforwardly: the satisfaction of temporal operators is defined with <t , and the satisfaction of obligation is defined with Rd . Remark 5. Notice that the semantics we have defined in section 4.2.2 (we denote the satisfaction relation by |= 4.2.2 ) can be defined in the framework of the present section (with satisfaction relation denoted by |=4.2.3 ): iff i, w |=4.2.2 ϕ i, w |=4.2.3 ϕ in the product model (N × W, <t , Rd , V ) in the model (N × W, <t , Rd ∩ SamePast, V ) (W, R), and where (N × W, <t , Rd , V ) is based on a product frame (N, <) satisfies the ideal existence constraint (cf definition 42) which ensures that (Rd ∩ SamePast) is serial. We are going to state a necessary condition on the one hand, and a sufficient condition on the other hand, on a C1 -model for satisfying the propagation property. Then, we will state a necessary and sufficient condition for satisfying the propagation property for safety formulas. Before stating these conditions, let us define some notations on sequences. • Given a temporal deontic model (N × W, <t , Rd , V ), and a history w ∈ W , we denote (w) the infinite sequence (V (0, w), V (1, w), . . .) of all the valuations along history w. If I is an infinite (resp. finite) interval, (w)I represents the infinite (resp. finite) sequence (V (i, w))i∈I . For instance, (w)]i,j] , with i < j, represents the finite sequence (V (i + 1, w), V (i + 2, w), . . . , V (j, w)); the infinite sequence (w)i denotes the suffix of (w) starting from index i. • Idi,w is the set of the sequences of valuations of the histories which are ideal from (i, w): def Idi,w = {(w )i / (i, w)Rd (i, w )} • Ai,w (resp. Bi,w ) is the set of the sequences of valuations of the histories which are ideal and have (resp. have not) the same valuation as w at i: def Ai,w = {(w )i ∈ Idi,w / V (i, w) = V (i, w )} def Bi,w = Idi,w − Ai,w • In the space of infinite sequences, we use the topology induced by the distance defined in chapter 2, section 2.3.3. Let us remind some basic properties. If two sequences x, y have the same elements until index k, def then their distance is d(x, y) = 1/k. A sequence x is in the closure of 4.2. GENERAL PROPAGATION PROPERTY 71 a set E of sequences if ∀k ∈ N ∃y ∈ E such that x and y have the same elements until index k. (Since we consider a metric space, the closure of E also equals the set of the limits of sequences in E.) Given a set E of sequences, the closure of E is denoted by E. Necessary condition Property 18 (Necessary condition). If a model (F, V ), where F = (N × W, <t , Rd ) is in C1 , satisfies the propagation property (4.2) then Rd satisfies one of the three following conditions: for every i ∈ N, w, w ∈ W such that w ∈ Idi+1,w (a) either (w )i is in the closure of Ai,w (w )i ∈ Ai,w (b) or Ai,w is empty and a strong constraint on (w )i applies Ai,w = ∅ and ∀cl ∈ Idi,w /≡i (w )i ∈ cl where the equivalence relation ≡i on Idi,w is defined as follows (Idi,w is then the quotient set): w ≡i w” iff V (i, w ) = V (i, w”). /≡i (c) or all the states which are ideal in (i, w) have the same valuation at i, and (w )i is in the closure of Idi,w Idi,w /≡i is a singleton and (w )i ∈ Idi,w Proof. Suppose that a model M = (N × W, <t , Rd , V ) in C1 satisfies the propagation property (4.2), and that w ∈ Idi+1,w , for some i ∈ N and w ∈ W . We consider three cases. First case: suppose that Ai,w = ∅ and that Idi,w /≡i is not a singleton (i.e., there are two ideal states which have a different valuation at i). We show that condition (a) holds. Indeed, suppose that it is not the case. Then / Ai,w,k where Ai,w,k is the there is an instant i + k such that (w )[i+1..i+k] ∈ def set of the valuations of any history in Ai,w between i + 1 and i + k: Ai,w,k = {(w )[i+1..i+k] / (w )i ∈ Ai,w }. For each seq ∈ Ai,w,k , we define the formula def p ∧ ¬p) ∧ . . . ∧ X k−1 ( p ∧ ¬p), where ψseq = ( seq(i) is p∈seq(1) p∈seq(1) / th the i element of seq. def can define the formula ψ = p∈seq(k) / p∈seq(k) P Since Ai,w,k is finite (contained in 2k∗2 ), we ψseq . Since Idi,w /≡i is not a singleton, seq∈Ai,w,k def Bi,w is not empty. So, we can define ϕ = v∈V (Bi,w ) p∈v p ∧ p∈v / ¬p, where V (Bi,w ) is the set of all the valuations of the states in Bi,w . Since all histories CHAPTER 4. PROPAGATION PROPERTY 72 in Ai,w satisfy Xψ at i, and all histories in Bi,w satisfy ϕ at i, we can deduce that i, w |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ. So, i + 1, w |= O (ψ), and then / i + 1, w |= ψ, which is in contradiction with the fact that (w )[i+1..i+k] ∈ Ai,w,k . Thus, if Ai,w = ∅ and Idi,w /≡i is not a singleton, then condition (a) holds. Second case: suppose that Ai,w = ∅ and Idi,w /≡i is a not singleton. Let cl ∈ Idi,w /≡i be an equivalence class. We show that (w )i ∈ cl. Suppose that it is not the case. There is an instant i + k such that the valuation of w differs from any w” in cl at least in one instant between i + 1 and i + k. We build ψ as in the case (a), with cl instead of Ai,w . We define def ( p ∧ ¬p). Therefore, i, w |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ). ϕ = v∈V (Idi,w \cl) p∈v p∈v / Moreover, i, w |= ¬ϕ since none of the ideal states have the same valuation as (i, w) (Ai,w = ∅). So, i + 1, w |= ψ, and this is in contradiction with / cl. So, if Ai,w = ∅ and Idi,w /≡i is not a singleton, the fact that (w )i ∈ then condition (b) holds. Therefore, we can deduce that if Idi,w /≡i is a not singleton, then either (a) holds or (b) holds. Third case: now, we have to prove that if Idi,w /≡i is a singleton, then (w )i ∈ Idi,w . Actually, we can prove (w )i ∈ Idi,w without any hypothesis. We only need the ’perfect recall’ property for temporal formulas (O (Xψ) ⇒ XO(ψ) for any temporal formula ψ) which is a consequence of the propagation property. The construction of ψ during the proof follows the same idea as in the previous proof. Thus, we have a precise characterization of the histories that are candidate to be ideal in a given state (i + 1, w): they have to satisfy one of the three conditions (a), (b), and (c), which concern valuations at future instants. Condition (a) expresses that a candidate is arbitrary close (if we only look at the future) to a history which is ideal in (i, w), and which has the same valuation as w at i. We can consider that conditions (b) and (c) apply in ’degenerate cases’. Condition (b) applies if there is no state which is ideal in (i, w) and has the same valuation as w at i. It states that a candidate is arbitrary close to some history in every equivalence class of Idi,w , according to equivalence relation ≡i . A candidate to be ideal in (i + 1, w) can be viewed as a candidate to be a permitted behaviour in (i + 1, w). Therefore, (b) is a very strong constraint on the number of different behaviours which can be permitted in (i + 1, w). Condition (c) applies if all the ideal states in (i, w) have the same valuation. In this context, two contradictory propositional formulas cannot be permitted in (i, w). Another undesirable property is that in (i, w), every permitted propositional formula is also obligatory. Besides, if i, w |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ) for some propositional formula ϕ and some temporal formula ψ, then ϕ is necessarily equivalent to ⊥. So, in a such a state (i, w), the propagation property is necessarily reduced to the ’perfect recall’ property. 4.2. GENERAL PROPAGATION PROPERTY 73 So condition (c) applies in a context which imposes very strong constraints, and it states that a candidate is arbitrary close to some history which is ideal in (i, w). From this characterization, we can deduce that the problem we had with ’propositional violations’ in the semantics of section 4.2.2 was inevitable. Let us remind that we have exhibited in section 4.2.2 a class of models which validate the propagation property and axiom D, but ’propositional violations’ are not satisfiable in this class of models. On the other hand, let M be an arbitrary temporal deontic model which validates the propagation property (and axiom D), and (i, w) a state in M which satisfies some ’propositional violation’, such as, for instance, O(p)∧¬p, for p ∈ P atomic proposition. We can easily deduce that Ai,w = ∅. Therefore, it follows from property 18 that one of the ’degenerate conditions’ (b) and (c) holds. Remark 6. Form these considerations we can deduce that if we consider the class of models exhibited in section 4.2.2 in the framework of the present section, as suggested by remark 5, then for every state (i, w), and every history w ∈ Idi+1,w , condition (a) holds. Sufficient condition In this section, we present a sufficient condition to satisfy the propagation property. Actually, a ’suppression’ of the closure operators in conditions (a), (b), and (c) provides a sufficient condition. Property 19 (Sufficient condition). Given a model (F, V ), where F = (N × W, <t , Rd ) is in C1 , • if for every i ∈ N, w, w ∈ W such that w ∈ Idi+1,w , either (a ), or (b ), or (c ) holds • then (F, V ) satisfies the propagation property (4.2). (a ) w has the ’same future’ as some history w” in Ai,w (w )i ∈ Ai,w (b ) or Ai,w is empty, and a strong constraint on the valuation of w applies (for the future instants) Ai,w = ∅ and ∀cl ∈ Idi,w /≡i (w )i ∈ cl (c ) or all the states which are ideal in (i, w) have the same valuation as each other, and w has the ’same future’ as some history w” which is ideal at i Idi,w /≡i is a singleton and (w )i ∈ Idi,w 74 CHAPTER 4. PROPAGATION PROPERTY Proof. Let (N × W, <t , Rd , V ) be a model in C1 , i ∈ N a nonnegative integer, and w, w ∈ W two histories. Suppose that (i, w) satisfies O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ, for a given propositional formula ϕ and a temporal formula ψ. Let w ∈ Idi,w be an ideal history. We have to prove that i + 1, w |= ψ in each one of the cases (a ), (b ), and (c ). Suppose that (a ) holds. Since every history in Ai,w satisfies ψ at i + 1, then w also satisfies ψ at i + 1. The proof in the cases (b ) and (c ) is left to the reader. (Notice that in the case (c ), the propositional formula ϕ of the propagation property is necessarily ⊥.) Necessary and sufficient condition Now, we propose a restriction of propagation property (4.2) so that the necessary condition provided in property 18 becomes also sufficient. Definition 44 (Propagation property for safety formulas). O(ϕ ∨ Xψ) ∧ ¬Oϕ ∧ ¬ϕ ⇒ XO(ψ) (4.4) for any propositional formula ϕ, and any safety formula ψ Property 20. A model (F, V ), where F = (N × W, <t , Rd ) is in C1 , satisfies the propagation property (4.4) if and only if for every i ∈ N, w, w ∈ W such that w ∈ Idi,w , one among the three conditions (a), (b), and (c), defined in property 18, is satisfied. Proof. Let (N × W, <t , Rd , V ) be a model in C1 , i ∈ N a nonnegative integer, and w, w ∈ W two histories. Suppose that (i, w) satisfies O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ, for a given propositional formula ϕ and a temporal safety formula ψ. Let w ∈ Idi,w be an ideal history. We have to prove that i + 1, w |= ψ in each one of the cases (a), (b), and (c). Suppose that (a) holds. Since every history in Ai,w satisfies ψ at i + 1, and ψ is a safety formula, then every history in Ai,w also satisfies ψ at i + 1. So, (i + 1, w ) satisfies ψ. The proof is similar for cases (b) and (c). 4.2.4 Semantics with levels of deontic ideality In this section, we refine the semantics given in section 4.2.2 in order to validate axiom D without losing the ability to deal with ‘contrary to duty’ (CTD) situations. In states where there is a violation, something happens that is contrary to what is obligatory for that state. It should not be the case that such situations cause the deontic realm to collapse. So when there is a violation, it should still be possible to point out what is obligatory and what is not, despite of the violation in the present state. We look for a solution to the problem by switching to levels of ideality. Rather than an accessibility relation which gives the ideal states, we consider 4.2. GENERAL PROPAGATION PROPERTY 75 a preference relation d , where s d s means that the state s is “at least as good as” the state s. This allows us to have several “levels of ideality”. The ideal states will be the best states among those which share the same past as the current state. The idea is now that if a state (i, w) violates an obligation of a propositional formula then the ideal states of (i + 1, w) are states which were not ideal for (i, w): the deontic realm thus switches to a lower level of ideality. This contrasts with the setting of the previous section, where in this case there would be no ideal states left. Definition 45 (Temporal deontic frame and model). A temporal deontic frame (S, <t , d ) is defined as the product (N, <) × (W, ) of a temporal frame (N, <) and a deontic frame (W, ), where , considered as a preference relation, is a total quasi-order (total and transitive relation) on W . A temporal deontic model is defined as a product model based on a temporal deontic frame. For the temporal and boolean operators the satisfaction relation is defined as above. For the obligation operator it is defined as follows. Definition 46 (Semantics of the obligation (3)). Given a temporal deontic model ((S, <t , d ), V ), and a state s ∈ S, ϕ is obligatory if there is a state with the same past as s such that every “better” state with the same past satisfies ϕ. s |= Oϕ iff ∃s ∈ S such that SamePast(s, s ) and ∀s ∈ S if (SamePast(s, s ) ∧ s d s ) then s |= ϕ Remark 7. If every set of histories has at least one maximum element for the quasi-order (i.e., the relation , defined by w w iff w w, is a well-quasi-order), then we can define the set of the best states among those having the same past: def BestSamePast(s) = {s ∈ S / SamePast(s, s ) and ∀s ∈ S if SamePast(s, s ) then s d s } In this case, the semantic definition of O(ϕ) becomes more simple: s |= Oϕ iff ∀s ∈ BestSamePast(s) s |= ϕ In a state s, the states in BestSamePast(s) are called the ideal states. In the remainder, during informal discussions, we will implicitly suppose that is a well-quasi-order so that reasoning about ideal states makes sense. For the newly defined models (definition 45) with levels of ideality, there is no need for a constraint to guarantee the validity of axiom D. CHAPTER 4. PROPAGATION PROPERTY 76 Property 21 (Axiom D). Axiom D is valid for this semantics of obligation: |= ¬O(⊥) and |= O(ϕ) ⇒ P(ϕ) for any formula ϕ The proof is obvious. So axiom D is valid and violations can be satisfied. However, there is still a phenomenon that has to be considered more closely. When an obligation of a proposition p is violated in a state (i, w), then the ideal histories at the step i + 1 are completely disjoint from the ideal histories at the step i. This is easy to see: if (i, w) |= ¬p ∧ Op, then all the ideal states of (i, w) satisfy p. On the other hand, the ideal states of (i + 1, w) have the same past as (i + 1, w), and thus they are states (i + 1, w ) such that (i, w ) does not satisfy p. So none of the ideal histories of (i, w) are ideal for (i + 1, w) and vice versa. The problem is now that in such states, the propagation property is not guaranteed anymore because of the change to a completely different set of lower level ideal histories. Actually, the condition that makes the set of ideal histories change between (i, w) and (i + 1, w) is a little more general than suggested by the example with the violation of an atomic proposition. More generally, the condition concerns the violation of an obligation for any propositional formula which can be seen as an immediate obligation, that is, any propositional formula concerning the present moment. So, if such an obligation is violated, the current ideal histories will not be considered as ideal in the future. The current norms become obsolete, and we switch to the norms of a lower level. If not, we have a strong link between what is obligatory now and next, and the propagation property holds. To characterize these two kinds of states, we define the condition IdealPropagate(s) on a state s which expresses that for every state with the same past as s, there is better state which still has the same past at the next step. This condition ensures that some of the current ideal histories are still ideal at the next step. Given a temporal deontic model ((S, <t , d ), V ) and a state s ∈ S, def IdealPropagate(s) = ∀s ∈ S if SamePast(s, s ) then ∃s ∈ S such that SamePast(s, s ) and V (s) = V (s ) and s d s Remark 8. If (W, ) is a well-quasi-order, then IdealPropagate(s) is defined in a more simple way: IdealPropagate(s) def = ∃s ∈ BestSamePast(s) such that V (s) = V (s ) Property 22. We suppose that the set P of atomic propositions is finite. Given a temporal deontic model ((S, <t , d ), V ) and a state s ∈ S, the condition IdealPropagate(s) holds iff there is no violation of a propositional formula in s, that is, iff for any propositional formula ϕ, s |= ¬(O(ϕ) ∧ ¬ϕ). 4.2. GENERAL PROPAGATION PROPERTY 77 Proof. We first prove that if IdealPropagate(s) does not hold, then there is some propositional formula ϕ such that s |= O(ϕ) ∧ ¬ϕ. We then prove the other direction. ’⇐’ : Suppose that IdealPropagate(s) does not hold, i.e., ∃s ∈ S such that SamePast(s, s ) and ∀s d s if SamePast(s, s ) then V (s) = V (s ) Then, we consider such a state s and define the set V AL(s ) of all the valuations of the states which are at least as good as s and share the same past. def V AL(s ) = {V (s”) / s d s” and SamePast(s , s”)} V AL(s ) is finite since it is included in the set 22 . Let us consider the propositional formula ϕ defined as follows: P def ϕ = v∈V AL(s ) ( p∈v p ∧ ¬p) p∈v / Since every such state s has a valuation which is distinct from the valuation of s, then s |= ¬ϕ. Besides, from the definition of obligation we have that s |= O (ϕ). Thus, s |= O(ϕ) ∧ ¬ϕ. ’⇒’ : Let us suppose now that there exists some propositional formula ϕ such that s |= O (ϕ) ∧ ¬ϕ. Then, ∃s ∈ S such that SamePast(s, s ) and ∀s d s if SamePast(s, s ) then s |= ϕ Every such s has a valuation which differs from the valuation of s, i.e., V (s ) = V (s), since s |= ¬ϕ and s |= ϕ. Therefore, IdealPropagate(s) does not hold. In a state s that satisfies IdealPropagate(s), the deontic realm that will be considered next is a subset of the current deontic realm. So we still have, as in section 4.2.2, that no obligations are forgotten, but some may appear. If IdealPropagate(s), then s |= O(Xϕ) ⇒ XO(ϕ), but XO(ϕ) ⇒ O(Xϕ) does not hold necessarily. Let us illustrate this preference semantics with the example on Figure 4.4. For the sake of simplicity, the preference relation between histories is modeled by the fact each history is associated with an integer which represents the level of ideality of this history. w5 , w4 , and w3 , are the best histories (level 10). The level of w1 and w2 is 5, and w0 has the worst level: 2. The quasi-order on histories which is implicitly defined by these levels is a wellquasi-order, so every set of histories has a set of maximum elements, and CHAPTER 4. PROPAGATION PROPERTY 78 w5, 10 w4, 10 w3, 10 w2, 5 w1, 5 w0, 2 {p} {p, q} {p, q} {} {p} {} {p} {p, q} {} {} {p} {} {q} {} {p, q} {} {p} {} {p} {p, q} {p} {} {p} {p} {p} {p, q} {p} {} {p, q} {q} {p} {p, q} {p} {} {p} 0 1 2 3 4 {p} 5 Figure 4.4: Preference semantics the set of the ideal histories can be defined in each state. For the successive states of w0 , the ideal states are surrounded in Figure 4.4. From state (0, w0 ), the ideal states are w3 , w4 , and w5 . While one of these histories has the same valuation as w0 everything works as in the semantics of section 4.2.2. At instant 2, every ideal history has a valuation which differs from the valuation of w0 . Therefore, IdealPropagate(2, w0 ) does not hold (the obligatory formula p ⇔ q is violated). So, at the next instant, the set of the ideal histories switch to the lower level of ideality. In this example, in every state of w0 except (2, w0 ), IdealPropagate is satisfied. Property 23 (Propagation). A state which does not satisfy any violation of a propositional formula satisfies the propagation property. If IdealPropagate(s) then s |= O(ϕ ∨ Xψ) ∧ ¬Oϕ ∧ ¬ϕ ⇒ XOψ for ϕ propositional formula, and ψ any formula. Proof. The proof is similar to the proof of property 13 in section 4.2.2, except that we have not the case where every formula is obligatory in the temporal successor of s. We still have, as in section 4.2.2, property 14, a more precise characterization. Property 24 (Characterization of new obligations). We suppose that the set P of atomic propositions is finite. For any formula ψ, if in a state s, 4.2. GENERAL PROPAGATION PROPERTY 79 which satisfies IdealPropagate(s), both the formulas XO(ψ) and ¬O(Xψ) hold, then there exists a propositional formula ϕ such that s |= O(ϕ ∨ Xψ) ∧ ¬O(ϕ) ∧ ¬ϕ When an obligation appears, it is necessarily due to the propagation of some more general obligation in the previous state. So the propagation property completely characterizes the new obligations that appear. Proof. The proof follows the same idea as the proof of property 14 in section 4.2.2. As said in the introduction of section 4.2, as a consequence of the general propagation property, if a state s satisfies IdealPropagate(s), then it satisfies the following property of propagation for an obligation with deadline, since Fk ϕ ⇔ ϕ ∨ XFk−1 ϕ, for k > 0: s |= O (Fk ϕ) ∧ ¬O(ϕ) ∧ ¬ϕ ⇒ XO(Fk−1 ϕ) for any deadline k > 0, and ϕ propositional formula. This property expresses that if it is obligatory to satisfy ϕ before a deadline k (and it is not obligatory to satisfy it now) then, if ϕ is not true now, the obligation is propagated. In a state which does not satisfy IdealPropagate, that is, a state which violates an obligation of some propositional formula, the deontic realm of the next state switches to a lower level. We consider that when a state violates the present rules, then they become obsolete. In such a state, O (Xϕ) ⇒ XO(ϕ) is not guaranteed, and neither is any link between what is satisfied in the current state, and what is obligatory next. 4.2.5 Branching time structures Many proposals to combine temporal and deontic concepts use a branching time structure, where the ideal alternatives are subsets of the possible future worlds [71, 16, 13, 43]. It is also possible to consider a preference relation instead of an ideality relation. For the sake of simplicity, in this section, we will only consider ideality relations. In this section, we investigate the relation between this branching time point of view and our product-based point of view. Our identical past criterion (given through the predicate SamePast) may be viewed as an encoding of such a branching time structure in our product framework. Figure 4.5 illustrates a natural translation of a product model (without deontic relation) into a branching time model. Notice that we need to add a starting state which belongs to every history in order to ensure that the obtained model is a tree. Nevertheless, the translation of the ideality relation is not straightforward. Indeed, in our product view, ideal histories CHAPTER 4. PROPAGATION PROPERTY 80 w3 w2 w1 w0 {p} {p} {q} {q} {} {q} {} {p, q} {} {} {q} {} {p} {p} {} {q} {} {p} {p} {p} 0 1 2 3 4 {p} {p} {q} {q} {} {q} {} {p, q} {} {} {p} {p} {} Figure 4.5: Tree-like representation of a product structure are taken among histories that have the same past as the current history until the current instant. So, in the branching time view, we have the following statement: (a) in a given state s, ideal histories are part of the histories which go through the predecessor of s In order to illustrate (a), let us come back to the product view of the example, and consider history w0 . Suppose that initially, i.e., in (0, w0 ), histories w1 , w2 , and w3 are ideal. Then, the identical past criterion imposes that • at instant 1 and 2, only w1 and w2 remain ideal • at instant 3 and 4, only w1 remain ideal In the branching time view, it is easy to see that the corresponding ideality relation, which associates a instant/history pair with a set of ideal instant/history pairs, verify statement (a) in the successive states of w0 . This differs from the standard way to model ideal histories in a branching time setting. Indeed, in a given state s, usual approaches, as, e.g., in [13, 16], consider that ideal histories are part of the histories that go through s, i.e., the histories which can still happen in s. (A path formula is then obligatory if every ideal history satisfies it.) In such a framework, an atomic proposition p cannot be true in the current state s, and, at the same time, false in some ideal history. Indeed, the present state of every ideal history is s. These approaches thus have problems modelling immediate obligations. For example, O(p) ∧ ¬p, where p is an atomic proposition, is not satisfiable in such logics. {p} w3 w2 w1 w0 5 Decision procedure and axiomatization This chapter deals with a decision procedure and an axiomatization of our logic. Different quantifiers are hidden in the semantic definition of obligation. This makes it difficult to establish logical results. So, we propose to decompose the modality O into more primitive normal operators. Two accessibility relations are involved: the relation ’at least as good as’, which models preference between histories, and the relation ’has the same past as’ which will be denoted by SamePast. Indeed, let us remember that the semantics of obligation is defined as follows: O(ϕ) is satisfied in state s if : there is a state s with the same past as s such that every state with the same past, which is at least as good as s , satisfies ϕ. s |= Oϕ iff ∃s ∈ S such that SamePast(s, s ) and ∀s ∈ S if (SamePast(s, s ) ∧ s d s ) then s |= ϕ In order to define O in terms of more primitive modal operators, it is natural to introduce a modal operator [SP ] which corresponds to the relation ’has the same past’, and another operator [SP ∩ ] which corresponds to the intersection of both semantic relations. The obligation operator O will be defined in terms of the primitive operators [SP ] and [SP ∩ ]. Let us define the obtained language. Definition 47 (Language with primitive operators). Given a set P of atomic propositions, the language obtained after the decomposition of obligation into more primitive operators is defined by the following syntax: ϕ ::= | p | ¬ϕ | ϕ ∨ ϕ | Xϕ | ϕU ϕ | [SP ]ϕ | [SP ∩ ]ϕ where is a logical constant (’true’), and p ∈ P is an atomic proposition. We define the following usual abbreviations: def def < SP > ϕ = ¬[SP ]¬ϕ < SP ∩ > ϕ = ¬[SP ∩ ]¬ϕ 81 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION 82 • [SP ]ϕ means in every state that has the same past as the current state, ϕ holds. • [SP ∩ ] means in every state that has the same past and is at least as good as (or preferred to) the current state, ϕ holds. Let us formally define the semantics of these new operators. Definition 48 (Semantics of the primitive operators). Given a product model (S, <t , d , V ), a state s ∈ S, and a formula ϕ, we define the semantics of the primitive operators as follows: s |= [SP ]ϕ iff ∀s ∈ S s |= [SP ∩ ]ϕ iff ∀s ∈ S if SamePast(s, s ) then s |= ϕ if s s and SamePast(s, s ) then s |= ϕ A formula is satisfiable if there is a state which satisfies it. A formula is valid if every state satisfies it. Definition 49 (Obligation). We define the obligation operator as follows: def O(ϕ) = < SP > [SP ∩ ]ϕ Notice that the semantic characterization of O coincides with the abovementioned semantic definition of obligation. In section 5.1, we give a tableaux-like decision procedure for a fragment of our language. In section 5.2, we give an axiomatization of this fragment. 5.1 Tableaux decision procedure for satisfiability As a first remark, our logic lacks the finite model property. Indeed, it can easily be shown that the following formula has only infinite models, i.e., models ((N, <) (W, ), V ) where W is an infinite set of histories: [SP ]AtM ostOnce(p) ∧ G < SP > p where AtM ostOnce(p) stands for G(p ⇒ XG¬p). To establish the decidability of this logic would require complex techniques, such as quasi-model method [135, 57]. In this section, we show the decidability of the until-free fragment of the logic, using a tableaux-like decision procedure. We describe a tableaux method with explicit accessibility relations. We use the notation of prefixed formulas i, w : ϕ, where the prefix i, w intuitively represents a state that satisfies the formula ϕ. i is a non-negative integer, and w is a history. Contrary to usual prefixed tableaux [55, 92], we do not encode accessibility relation into the node names. We represent explicitly the 5.1. TABLEAUX DECISION PROCEDURE FOR SATISFIABILITY 83 three distinct accessibility relations (’temporal successor’, ’at least as good as’, and ’same past’). We suppose that the set P of atomic propositions is finite. A tableau T is a structure we keep as close to a model as possible. It consists of a set of histories W , a set of moments M ⊆ N, a labelling function L which associates each moment/history pair with a set of formulas, a quasiordering R on W , and a set of equivalence relations (RSP i )i∈M on W . Intuitively, (w, w ) ∈ R means that history w is at least as good as w; (w, w ) ∈ RSP i means that histories w and w have the same past until i (they satisfy the same propositions until the moment before i). Tableaux rules specify how, and under which conditions, T is updated. Let us describe, in the next section, the tableau data structure and update operations. 5.1.1 Tableau data structure and update operations A tableau for a formula φ is a tuple T = (W, M, v0 , L, R, (RSP i )i∈M ) where • W is a set of histories • M ⊆ N is a set of moments; a node of the tableau is then a moment/history pair (i, w) ∈ M × W • v0 ∈ M × W is the root • L : M × W → 2sub(φ) is a label function which associates each node with a set of sub-formulas of φ. In the remainder, we write i, w : ϕ for ϕ ∈ L(i, w). The label of the root contains φ: φ ∈ L(v0 ). • R ⊆ W × W is a reflexive and transitive relation on W • RSP i ⊆ W × W for each i ∈ M , is an equivalence relation on W . The following property between the different RSP i is satisfied: (∗) ∀w, w ∈ W ∀i ∈ M (w, w ) ∈ RSP i ⇒ ∀j ∈ M j < i ⇒ (w, w ) ∈ RSP j We now give the procedural semantics of our tableau operations add_f orm, new_world, new_instant, and add_pair, which update a data structure T . • add_f orm(i, w, ϕ) adds the formula ϕ to the label L(i, w). • add_pair(R ; (w, w )), for R = R or R = RSP i , adds pair (w, w ) to relation R, and updates R with its reflexive and transitive closure in case R = R, with its reflexive, transitive, and symmetric closure in case R = RSP i . Moreover, if R = RSP i , then for every j ∈ M such that j < i, RSP j is updated so that constraint (∗) is satisfied. 84 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION • new_history adds a new history to W and returns the corresponding name. • add_inst(i) adds instant i to the set M if i ∈ / M. We can combine these atomic actions with the two following combinators: the sequential operator ’;’ and the nondeterministic choice operator ’[]’. 5.1.2 Tableaux rules In this section, we present our tableaux rules. • double negation rule i,w:¬¬ϕ add_f orm(i,w,ϕ) ¬¬ • rule α (resp. β) is the usual rule for conjunction (resp. disjunction). i, w : ¬(ϕ1 ∨ ϕ2 ) α add_f orm(i, w, ¬ϕ1 ); add_f orm(i, w, ¬ϕ2 ) i, w : ϕ1 ∨ ϕ2 β add_f orm(i, w, ϕ1 ) [] add_f orm(i, w, ϕ2 ) This presentation of rule β corresponds to a depth-first computation, as in [54], whereas other presentations (equivalent to ours) compute both possibilities in parallel (width-first computation). • rules X and ¬X extend the label of the successor node as follows: i, w : Xϕ X add_inst(i + 1) ; add_f orm(i + 1, w, ϕ) i, w : ¬Xϕ ¬X add_inst(i + 1) ; add_f orm(i + 1, w, ¬ϕ) • rules Π add a new history if a node is labelled by a ’diamond’ formula of the form ¬[SP ]ϕ or of the form ¬[SP ∩ ]ϕ. w i, w : ¬[SP ]ϕ ΠSP := new_history ; add_f orm(i, w , ¬ϕ) : add_pair(RSP i , (w, w )) i, w : ¬[SP ∩ ]ϕ ΠSP ∩ w := new_history ; add_f orm(i, w , ¬ϕ) ; add_pair(R , (w, w )) ; add_pair(RSP i , (w, w )) 5.1. TABLEAUX DECISION PROCEDURE FOR SATISFIABILITY 85 • rules K adds formula ϕ to a node i, w if node (i, w) is labeled by a ’box’ formula of the form [SP ]ϕ, or of the form [SP ∩ ]ϕ, and w is an accessible history from w. i, w : [SP ]ϕ and (w, w ) ∈ RSP i add_f orm(i, w , ϕ) KSP i, w : [SP ∩ ]ϕ and (w, w ) ∈ RSP i and (w, w ) ∈ R add_f orm(i, w , ϕ) KSP ∩ • rule update_SP applies if two states which share the same past until moment i still satisfy the same propositions at i. Besides, for each atomic proposition, either this proposition or its negation has to be satisfied in both states (i.e., the states have to be saturated). Then RSP i+1 is updated so that w and w are considered as having the same past until i + 1. (w, w ) ∈ RSP i and ∀p ∈ P (i, w : p and i, w : p) or (i, w : ¬p and i, w : ¬p) update_SP add_pair(RSP i+1 ; (w, w )) • rule Saturation aims at saturating the states in atomic propositions so that rule update_SP can be applied. p∈P and i ∈ M and w ∈ W saturation add_f orm(i, w, p ∨ ¬p) • rule −totality aims at guaranteeing the totality of R. / R and (w , w) ∈ / R (w, w ) ∈ −totality add_pair(R, (w, w )) [] add_pair(R, (w , w)) Definition 50 (Closed tableau). A tableau is said to be closed if • ϕ and ¬ϕ label some node i, w, • or ∃w, w ∈ W i, w : p ∃i ∈ M and ∃p ∈ P such that i, w : ¬p and (w, w ) ∈ RSP i+1 Definition 51 (Completed and open tableau). A tableau T is completed if for every rule r • either r is not enabled, i.e., the premise of r is not satisfied • or r is enabled, and the application of the consequent of r has no effect We consider that add_inst(i) has no effect if i ∈ M , add_f orm(i, w, ϕ) has no effect if ϕ ∈ L(i, w), and add_pair(R, (w, w )) has no effect if (w, w ) ∈ R, with R = R or R = RSP i . A tableau is open if it is completed and not closed. 86 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION 5.1.3 Soundness and completeness Theorem 16 (Soundness). If a formula ϕ is satisfiable then there is an open tableau whose root is labeled by ϕ. Definition 52 (Tableaux interpretation). ˆ V) (Ŵ , ), Let T = (W, M, v0 , L, R, (RSP i )i∈M ) be a tableau and ((N, <) ˆ be a model. An interpretation of T in ((N, <) (Ŵ , ), V ) is a mapping ι from W to Ŵ such that for every w1 , w2 in W , and every nonnegative integer i: ˆ • (w1 , w2 ) ∈ R implies ι(w1 )ι(w 2 ), and • (w1 , w2 ) ∈ RSP i implies ∀j < i V (j, ι(w1 )) = V (j, ι(w2 )) Definition 53 (Satisfiable tableau). A tableau T for a formula φ is satisfiable if there is a model ((N, <) (W, ), V ) and a tableau interpretation ι of ˆ T in ((N, <) (Ŵ , ), V ) such that for every node (i, w) and every formula ϕ ∈ L(i, w), we have i, ι(w) |= ϕ. Lemma 1. Let T be a satisfiable tableau. The tableau T (or one of the two tableaux T , T ”, in case the nondeterministic choice operator is used) obtained by the application of some rule is also satisfiable. ˆ V̂ ) and a Proof. Let T be a satisfiable tableau. There is a model (Ŵ , , tableau interpretation ι such that for every node (i, w) and every formula ϕ ∈ L(i, w), we have i, ι(w) |= ϕ. We have to consider each rule and prove that the application of this rule preserves the tableau satisfiability. • ¬¬, α, β, X, ¬X, saturation, −totality: the proof is left to the reader. • rule KSP (the proof for KSP ∩ is similar). Suppose that i, w : [SP ]ϕ. Then rule KSP adds ϕ to any node (i, w ) such that (w, w ) ∈ RSP i . By hypothesis, i, ι(w) |= [SP ]ϕ, and, since (w, w ) ∈ RSP i , we have SameP ast(i, ι(w), ι(w )). Thus, i, ι(w ) |= ϕ, and so T is still satisfiable. • rule ΠSP (the proof for ΠSP ∩ is similar): Suppose that i, w : ¬[SP ]ϕ. Then the application of ΠSP creates a new history w , labels it with ¬ϕ, and adds (w, w ) to RSP i . We have to extend the mapping ι so that it associates a history with the new prefix w . By hypothesis, i, ι(w) |= ¬[SP ]ϕ. Then there is some ŵ ∈ Ŵ such that SameP ast(i, ι(w), ŵ ) and i, ŵ |= ¬ϕ. Then we define ι by: ι(s) = ŵ ι(s) if s = w else ι is a tableau interpretation, and T is satisfiable. 5.1. TABLEAUX DECISION PROCEDURE FOR SATISFIABILITY 87 • rule update_SP : Let i, w and i, w be two nodes of T such that (w, w ) ∈ RSP i and ∀p ∈ P (i, w : p and i, w : p) or (i, w : ¬p and i, w : ¬p). Then the pair (w, w ) is added to RSP i+1 . We must show that ∀j < i + 1 V̂ (j, ι(w)) = V̂ (j, ι(w )). Since ι is a T -interpretation, then ∀j < i V̂ (j, ι(w)) = V̂ (j, ι(w )). Besides, ∀p ∈ P (i, w : p and i, w : p) or (i, w : ¬p and i, w : ¬p). So ∀p ∈ P i, ι(w) |= p iff i, ι(w ) |= p. So V̂ (i, ι(w)) = V̂ (i, ι(w )). Proof of the soundness theorem (16). Suppose ϕ is a satisfiable formula. then there is a model (W, , V ), a nonnegative integer i ∈ N and a history w ∈ W such that i, w |= ϕ. Then the tableau whose only node (i, w) is labelled by ϕ, and whose relations (RSP i ) and R are reduced to singleton {(w, w)}, is satisfiable (with the identity function as a tableau interpretation). Then, by lemma 1, the application of any rule provides a satisfiable tableau. Since a closed tableau is obviously unsatisfiable, we can generate a (possibly infinite) open tableau whose root is labelled by ϕ. Theorem 17 (Completeness). If there is an open tableau whose root (i, w) is labeled by ϕ, then ϕ is satisfiable. Proof. Let T = (W, M, v0 , L, R, (RSP i )i∈M ) be an open tableau whose root ˆ V ) from T such that (Ŵ , ), v0 is labeled by φ. We build a model ((N, <) for every w ∈ W and i ∈ M , i, w : ϕ iff i, ŵ |= ϕ. We define def Ŵ = W and ˆ def = R We can now define the valuation V as follows, for any i ∈ N, w ∈ Ŵ : def • if i ∈ M then V (i, w) = {p ∈ P / (i, w : p)} def • if i ∈ / M then V (i, w) = ∅ We now prove by induction on the structure of ϕ that for every i ∈ M , ˆ V )). Cases ϕ1 ∨ ϕ2 , w ∈ W , if i, w : ϕ then i, w |= ϕ (in the model (Ŵ , , ¬(ϕ1 ∨ ϕ2 ), Xϕ, ¬Xϕ, are obvious. • Suppose i, w :< SP > ϕ. Rule ΠSP ensures the existence of a node i, w labeled by ϕ such that (w, w ) in RSP i . Then, since T is open, ∀p ∈ P, ∀j < i, j, w : p iff j, w : p. So, ∀j < i V (j, w) = V (j, w ), and i, w |= ϕ (by induction hypothesis). So i, w |=< SP > ϕ. The proof for < SP ∩ > ϕ is similar. 88 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION • Suppose i, w : [SP ]ϕ. i, V (j, w) = V (j, w ). By rule KSP , we have i, w |= ϕ, and thus i, w Let w ∈ Ŵ be a history such that ∀j < Thanks to rule update_SP , (w, w ) ∈ RSP i . that i, w : ϕ. By the induction hypothesis, |= [SP ]ϕ. The proof for [SP ∩ ]ϕ is similar. 5.1.4 Termination We now define a terminating strategy which is still sound and complete. Termination is based on loop detection. Although it is clear that the number of created instants is bounded by the modal depth of ϕ with respect to X, the tableau construction may create an infinite number of histories. We have to block the creation of new histories when a loop is detected. Since we have two modal operators that can create new histories, we define looping histories with respect to each one. • a history w is looping with respect to < SP > if – rule ΠSP is applicable in (i, w), for some i ∈ M – w has been created by rule ΠSP at instant i and there exists an older history w such that (w , w) ∈ RSP i and L(i, w) ⊆ L(i, w ) (such a history w is denoted by loopSP (w)) • a history w is looping with respect to < SP ∩ > if – rule ΠSP ∩ is applicable in (i, w), for some i ∈ M – w has been created by rule ΠSP ∩ at instant i and there exists an older history w such that (w , w) ∈ RSP i , (w , w) ∈ R and L(i, w) ⊆ L(i, w ) (such a history w is denoted by loopSP ∩(w)) Definition 54 (Strategy). Let us consider the algorithm which consists in applying successively the following steps while the tableau is not closed, starting from the tableau such that W = {w}, M = {0}, v0 = (0, w), L(v0 ) = {φ}, R = {(w, w)}, and RSP 0 = {(w, w)}. • Application of classical rules ¬¬, α, β as much as possible. • Loop detection step for < SP >: mark every looping history with respect to < SP >. • Loop detection step for < SP ∩ >: mark every looping history with respect to < SP ∩ >. • Application of rules ΠSP and ΠSP ∩ on every state on which they have not already been applied, and which is not marked with respect to < SP > and < SP ∩ >, respectively. 5.1. TABLEAUX DECISION PROCEDURE FOR SATISFIABILITY 89 • Application of rule saturation and then rule update_SP as much as possible. • Application of rule −totality on every pair (w, w ) on which it has not been applied. • Application of rules X, ¬X, KSP , and KSP ∩ as much as possible. Property 25 (Termination). The strategy given above terminates. Proof. First, remark that (1) M is finite (bounded by the modal depth of the initial formula φ with respect to X) (2) there are finitely many sets of sub-formulas of the initial formula φ We show that there cannot be an infinite sequence of histories (w0 , w1 , w2 , . . .) such that each wk+1 is created by the application of rule ΠSP or ΠSP ∩ to some point of the history wk . Indeed, suppose it is the case. Suppose that there are infinitely many applications of rule ΠSP . Since there are finitely many sub-formulas of φ, there is a formula ¬[SP ]ϕ which triggers rule ΠSP infinitely often. Suppose that ΠSP is triggered infinitely often by ¬[SP ]ϕ at instant 0. Then, ¬[SP ]ϕ appears necessarily in the scope of [SP ] or [SP ∩ ] in L(0, wk ) for some wk in the sequence, and we can prove that there exists k from which ¬[SP ]ϕ labels every history of the sequence (∀k” > k ¬[SP ]ϕ ∈ L(0, wk” )). So, there is an application of ΠSP which creates a history wk0 (at instant 0) such that • ¬[SP ]ϕ ∈ L(0, wk0 ) • ∃k < k0 such that L(0, wk0 ) ⊆ L(0, wk ) (because of remark (2)) and (wk , wk0 ) ∈ SP0 Therefore, wk0 is looping with respect to ΠSP , and our strategy cannot generate such an infinite sequence. We then prove that ΠSP cannot be triggered infinitely often at instant 1, 2, . . . , and max(M ). (Existence of max(M ) follows from remark (1).) The same reasoning shows that there cannot be infinitely many applications of ΠSP ∩. Property 26. The strategy given above is sound and complete. Proof. The soundness of the strategy obviously follows from the soundness of the tableaux system (theorem 16). On the other hand, in order to prove the completeness of the strategy, the completeness proof of theorem 17 has to be adapted. Suppose that 90 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION T = (W, M, v0 , L, R, (RSP i )i∈M ) is an open tableau resulting from our ˆ V ) where Ŵ contains every history which strategy. We build a model (Ŵ , , is not marked as a looping history (at the last iteration of the strategy). Every pair (w, wloop ) in R, where wloop is a looping history with respect to < SP > (resp. < SP ∩ >), is replaced by the pair (w, loopSP (wloop )) ˆ We then have to prove that i, w : ϕ implies (resp. loopSP ∩(wloop )) in . i, w |= ϕ by induction on the structure of ϕ, for every non-looping history w. The proof for cases ϕ1 ∨ ϕ2 , ¬(ϕ1 ∨ ϕ2 ), Xϕ, ¬Xϕ, [SP ]ϕ, and [SP ∩ ]ϕ is similar to the proof of theorem 17. Suppose that i, w :< SP > ϕ. Rule ΠSP ensures the existence of a node i, w labeled by ϕ such that (w, w ) ∈ RSP i . If w is not looping, then we can conclude i, w |= ϕ as in the proof of theorem 17. If w is looping with respect to < SP >, then we can prove that i, loopSP (w ) |= ϕ. Notice that w cannot be looping with respect to < SP ∩ > since we suppose it has been created by application of rule ΠSP in node i, w. The proof for case < SP ∩ > is similar. 5.2 Axiomatization In this section, we present an axiomatization of our logic. For technical reasons, we enrich our language with three modal operators: X −1 , [], and []. X −1 is needed for the axiomatization of [SP ], and [] and [] are needed for the axiomatization of [SP ∩ ]. Our axiomatic system is complete with respect to a semantics which slightly differs from the one given in the introduction of this chapter. Firstly, time is modeled by the set Z of integers instead of the set N of non-negative integers. Second, we drop the constraint of totality of the quasi-ordering . We call Lmin the logic defined by this semantics, and whose language contains the modal operators X, X −1 , [SP ], [SP ∩ ], [], []. The predicate SamePast is defined as follows in the context where time is modeled by Z: def SameP ast((i, w), (i , w )) = i = i and ∀j ∈ Z if j < i then V (j, w) = V (j, w ) Let us give the semantics of these new operators. i, w |= X −1 ϕ i, w |= []ϕ i, w |= []ϕ iff iff iff i − 1, w |= ϕ ∀w ∈ W if w w ∀w ∈ W if w w then i, w |= ϕ then i, w |= ϕ A formula is satisfiable if there is a state (i, w) ∈ Z × W which satisfies it. A formula is valid if every state satisfies it. In this section we will propose an axiomatic system for Lmin . For all fordef def mulas ϕ, we define X 0 ϕ = ϕ, for each positive integer i, X i ϕ = X i−1 Xϕ, def and for each negative integer i, X i ϕ = X i+1 X −1 ϕ. 5.2. AXIOMATIZATION 5.2.1 91 Admissible forms For the definition of the special rules of inference, we will need expressions of a special form, called admissible forms, denoted by capital Latin letters A, B, etc. They are necessary to prove lemma 2 (items 1 and 2) in section 5.2.4. More precisely, if a formula φ matches the premise of a rule, we will need to apply this rule to Lφ and ϕ ⇒ φ, for L ∈ {X, X −1 , [SP ], [SP ∩ ], [], []}, and ϕ an arbitrary formula. This will allow to prove that if a set x of formulas is closed under inference rules, then {Lφ / φ ∈ x} and {ϕ ⇒ φ / φ ∈ x} are also closed under inference rules. Let the language of Lmin be extended with a new atomic proposition . Admissible forms are defined by the following syntax (ϕ denotes an arbitrary Lmin -formula): A ::= | (ϕ ⇒ A) | XA | X −1 A | [SP ]A | []A | []A | [SP ∩ ]A Note that in each admissible form, has a unique occurrence. Let A be an admissible form and ϕ be a formula. The result of the replacement of the unique occurrence of in its place in A with φ will be denoted by A(φ). 5.2.2 Axiomatization Our axiomatic system for Lmin is based on the following set of axioms and rules of inference: Axioms (A0) Classical tautologies (K) For all L ∈ {X, X −1 , [SP ], [], [], [SP ∩ ]}, L(ϕ1 ⇒ ϕ2 ) ⇒ (Lϕ1 ⇒ Lϕ2 ). (A1) ¬Xϕ ⇔ X¬ϕ, ϕ ⇒ XX −1 ϕ. (A2) ¬X −1 ϕ ⇔ X −1 ¬ϕ, ϕ ⇒ X −1 Xϕ. (A3) [SP ]ϕ ⇒ ϕ, [SP ]ϕ ⇒ [SP ][SP ]ϕ, ϕ ⇒ [SP ]SP ϕ. (A4) []ϕ ⇒ ϕ, []ϕ ⇒ [][]ϕ, ϕ ⇒ []ϕ. (A5) []ϕ ⇒ ϕ, []ϕ ⇒ [][]ϕ, ϕ ⇒ []ϕ. (A6) if i < j then for all p ∈ P , the following formulas are axioms: X i p ⇒ X j [SP ]X i−j p, X i ¬p ⇒ X j [SP ]X i−j ¬p. (A7) X[]ϕ ⇔ []Xϕ, X −1 []ϕ ⇔ []X −1 ϕ. (A8) X[]ϕ ⇔ []Xϕ, X −1 []ϕ ⇔ []X −1 ϕ. 92 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION (A9) [SP ]ϕ ∨ []ϕ ⇒ [SP ∩ ]ϕ. Rules of inference Modus ponens: From ϕ1 and ϕ1 ⇒ ϕ2 infer ϕ2 . necessitation: For all L ∈ {X, X −1 , [SP ], [], [], [SP ∩ ]}, from ϕ infer Lϕ. [SP ] special rule: If ∈ {[], []} and i < 0, then from {A(¬(ϕ ∨ X i p) ∨ X i p) : p ∈ P } infer A(¬[SP ]ϕ). [SP ∩ ] special rule: From {A(SP (ϕ ∧ p) ∨ (ϕ ∧ ¬p)) : p ∈ P } infer A(SP ∩ ϕ). Special rules are needed because of two non-standard aspects of our logic: • the semantic relation associated with [SP ] refers to the valuation of a given model • operator [SP ∩ ] corresponds to the intersection of two semantic relations Their origin is more technical that intuitive: they have been exhibited so that the truth lemma (lemma 4) can be proved for formulas of the form [SP ]ϕ and [SP ∩ ]ϕ. Special rule [SP ∩ ] follows the idea already developed in [124, 18] to give a complete axiomatization for the intersection of some semantic relations. Although intersection is not modally definable in ordinary quantifier-free modal languages, it becomes definable in languages with propositional quantifiers. Indeed, the following quantified axiom modally defines semantic intersection. < R1 ∩ R2 > ϕ ⇔ ∀p (< R1 > (ϕ ∧ p)∨ < R2 > (ϕ ∧ ¬p))) Rule [SP ∩ ] ’simulates’ right to left direction while axiom (A9) corresponds to the left to right direction. A formula ϕ is a theorem of Lmin if it belongs to the least set of formulas containing all axioms and closed under the rules of inference. 5.2.3 Soundness and completeness Theorem 18. (Soundness of Lmin ) Let ϕ be a formula. If ϕ is a theorem of Lmin then ϕ is valid in every model. 5.2. AXIOMATIZATION 93 Proof. By induction on the length of a deduction of ϕ in Lmin , we show that ϕ is valid in every model. We only develop the special rule cases . We treat the case where admissible form is . [SP ] special rule: Let ∈ {[], []}∗ and i<0. Let ϕ be a formula such that ∀p ∈ P (ϕ ∨ X i p) ⇒ X i p is a valid. We show that ¬[SP ]ϕ is valid. Suppose that it is not the case: there is a model ((Z, <) (W, ), V ), and a state j, w ∈ Z × W such that j, w |= [SP ]ϕ. Let p be an atomic proposition which does not appear in ϕ. Let V a valuation such that V −1 (p) = {(j + i, w ) / ¬SamePast((j, w), (j, w ))}. Considering the model ((Z, <) (W, ), V ), we have j, w |= (ϕ ∨ X i p). Indeed, let w a history accessible from w by the composition of relations corresponding to . Either (j, w ) has the same past as (j, w) and j, w |= ϕ, or (j, w ) has not the same past as (j, w), and j, w |= X i p. Thus, we deduce that j, w |= X i p. This is in contradiction with the definition of V since (j, w) has the same past has itself. [SP ∩ ] special rule: Suppose that there is a model M = ((Z, <) (W, ), V ), and a state (i, w) in M such that i, w |= [SP ∩ ]ϕ. We have to show that ∃p ∈ P and ∃M , (i , w ) such that i , w |= [SP ](ϕ∨p)∧[](ϕ∨¬p). Consider an atom p which does not appear in ϕ. Let us define a valuation V such that V −1 (p) = {(i, w ) / SamePast((i, w), (i, w )) and ¬(w w )}, (W, ), V ), and V −1 (q) = V −1 (q)∀q = p. Then, in the model ((Z, <) i, w |= [SP ](ϕ ∨ p) ∧ [](ϕ ∨ ¬p). Theorem 19. (Completeness of Lmin ) Let ϕ be a formula. If ϕ is valid in every model then ϕ is a theorem of Lmin . The completeness of Lmin is more difficult to establish than its soundness and we defer proving that Lmin is complete with respect to the class of all models till section 5.2.5. 5.2.4 Theories In this section we introduce the notions of theories and maximal theories, the latter having a key role in the proof of the completeness theorem. A set x of formulas is called a theory if it satisfies the following conditions: (th 1) x contains the set of all theorems of Lmin . (th 2) x is closed under modus ponens. (th 3) x is closed under the [SP ] special rule. (th 4) x is closed under the [SP ∩ ] special rule. 94 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION Obviously the smallest theory is the set T Hmin of all theorems and the greatest theory is the set of all formulas. The later theory is called trivial theory. A theory x is called consistent if ⊥ ∈ / x, otherwise it is called inconsistent. It is a well-known fact that a theory x is consistent iff it is not trivial and that x is inconsistent if it contains a formula ϕ together with its negation ¬ϕ. A theory x is called a maximal theory if it is consistent and for any formula ϕ: ϕ ∈ x or ¬ϕ ∈ x. A set Σ of formulas is called consistent if it is contained in a consistent theory. It can be shown that a single formula ϕ is consistent (considered as a singleton {ϕ}), iff it is not equivalent to ⊥. In the literature (see, e.g., [23]) instead of maximal theory, the notion of a maximal consistent set is used, where consistency is defined without using the notion of theory. It can be proved that each maximal theory is a maximal consistent set in the classical sense, and each maximal consistent set which is closed under the special rules for [SP ] and [SP ∩ ] is a maximal theory. We will use the following properties of maximal theories without explicit reference (x is a maximal theory): • ∈x • ¬ϕ ∈ x iff ϕ ∈ / x, • ϕ1 ∨ ϕ2 ∈ x iff ϕ1 ∈ x or ϕ2 ∈ x, • ϕ1 ∧ ϕ2 ∈ x iff ϕ1 ∈ x and ϕ2 ∈ x. Let x be a set of formulas. If L ∈ {X, X −1 , [SP ], [], [], [SP ∩ ]} then define Lx = {ϕ : Lϕ ∈ x}. If ϕ is a formula then define x + ϕ = {ϕ : ϕ ⇒ ϕ ∈ x}. For all sets x of formulas, we define X 0 x = x,for each def def positive integer i, X i ϕ = X i−1 Xϕ, and for each negative integer i, X i ϕ = X i+1 X −1 ϕ. In the next lemma we summarize some properties of theories. Lemma 2. Let x be a theory. The following statements hold. 1. Lx is a theory too. 2. x + ϕ is the smallest theory containing x and ϕ. 3. x + ϕ is inconsistent iff ¬ϕ ∈ x. 4. If x is consistent and ¬A(¬[SP ]ϕ) ∈ x then for all ∈ {[], []} , and for all i < 0, there exists p ∈ P such that x + ¬A(¬(ϕ ∨ X i p) ∨ X i p) is consistent. 5. If x is consistent and ¬A(SP ∩ ϕ) ∈ x then there exists p ∈ P such that x + ¬A(SP (ϕ ∧ p) ∨ (ϕ ∧ ¬p)) is consistent. 5.2. AXIOMATIZATION 95 Proof. We show statements 1 and 4. Statement 1. Let ϕ be a theorem. Then by the necessitation rules, Lϕ is a theorem too. Hence, Lϕ ∈ x, so ϕ ∈ Lx. Thus, Lx contains the set of all theorems. Let ϕ1 ∈ Lx and ϕ1 ⇒ ϕ2 ∈ Lx. Then Lϕ1 ∈ x and L(ϕ1 ⇒ ϕ2 ) ∈ x. By the axiom (K), L(ϕ1 ⇒ ϕ2 ) ⇒ (Lϕ1 ⇒ Lϕ2 ) ∈ x. Applying modus ponens twice, we obtain that Lϕ2 ∈ x, so ϕ2 ∈ Lx. Thus Lx is closed under modus ponens. To show that Lx is closed under the [SP ] special rule, let ∈ {[], []} and i < 0. Suppose that we have A(¬(ϕ∨X i p)∨X i p) ∈ Lx. Then, for all p ∈ P , we obtain LA(¬(ϕ ∨ X i p) ∨ X i p) ∈ x. Notice that LA(¬(ϕ ∨ X i p) ∨ X i p) is an admissible form. Since x is closed under the [SP ] special rule, we obtain LA(¬[SP ]ϕ) ∈ x. Hence, A(¬[SP ]ϕ) ∈ Lx. Thus, Lx is closed under the [SP ] special rule. Similarly, one can prove that Lx is closed under the [SP ∩ ] special rule. Statement 4. Suppose that ¬A(¬[SP ]ϕ) ∈ x. Since x is consistent, then A(¬[SP ]ϕ) ∈ / x. Thus, since x is closed under the [SP ] special rule, then for all ∈ {[], []}∗ and for all i < 0, there exists p ∈ P such that / x. (Otherwise, A(¬[SP ]ϕ) would necessarily be A(¬(ϕ ∨ X i p) ∨ X i p) ∈ in x.) Since x is a theory, ¬A(¬(ϕ ∨ X i p) ∧ ¬X i p) ∈ x. From statement 3, we deduce that x + ¬A(¬(ϕ ∨ X i p) ∨ X i p) is consistent. The proof of statement 5 is similar. Now we are ready for the main lemma in this section: Lemma 3 (Lindenbaum’s lemma). Each consistent theory can be extended to a maximal theory. Proof. Suppose x is a consistent theory and let ϕ0 , ϕ1 , . . . be an enumeration of all formulas. We define an increasing sequence of consistent theories x0 , x1 , . . . by induction as follows. Let x0 = x and suppose that for some integer n, the consistent theory xn has already been defined. For the definition of xn+1 we consider two cases. Case 1: xn + ϕn is consistent. Then define xn+1 = xn + ϕn . Case 2: xn + ϕn is not consistent. Then ¬ϕn ∈ x. In this case we consider two sub-cases: Sub-case 2.1: ϕn is neither in the form of a conclusion of the [SP ] special rule nor in the form of a conclusion of the [SP ∩ ] special rule. Then let xn+1 = xn . Sub-case 2.2: ϕn is in the form of a conclusion of the [SP ] special rule or in the form of a conclusion of the [SP ∩ ] special rule. We only consider the case where ϕn is in the form of a conclusion of the [SP ∩ ] special rule, i.e. ϕn is in the following form A(SP ∩ ϕ) where A is an admissible form. Therefore, there are finitely many such representations for ϕn : Ai (SP ∩ 96 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION ϕi ) for i = 1, . . . , k. We define inductively an increasing sequence of consistent theories xin for i = 0, . . . , k, as follows. Let x0n = xn . Suppose xin is defined and consistent. Then it contains ¬ϕn = ¬Ai (SP ∩ ϕi ) and, by the properties of theories mentioned above, there exists a propositional variable pi ∈ P such that xin + ¬Ai (SP (ϕi ∧ p)∨ (ϕi ∧ ¬p)) is consistent. We define xi+1 as follows: xi+1 = xin + ¬Ai (SP (ϕi ∧ p) ∨ (ϕi ∧ ¬p)). n n . Now, we put xn+1 = xkn Finally, we define y = ∞ i=0 xi . It is straightforward to demonstrate that y is a maximal theory which extends x. 5.2.5 Canonical model construction The canonical model of Lmin is the structure Mc = ((N, <) (Wc , c ), Vc ) defined as follows: • Wc is the set of all maximal theories, • c is the binary relation on Wc defined by x c y iff []x ⊆ y, • Vc is the function which associates each pair (i, x) ∈ Z × Wc with the set Vc (i, x) = {p : X i p ∈ x} of atomic propositions. To prove the completeness of our axiomatic system, it suffices to demonstrate the following lemma. Lemma 4 (Truth lemma). Let ϕ be a formula. For all integers i ∈ Z and for all maximal theories x ∈ Wc , Mc , (i, x) |= ϕ iff X i ϕ ∈ x. Proof. The proof is done by induction on the complexity of ϕ. We only consider the cases ϕ = Lφ for L ∈ {X, X −1 , [SP ], [], [], [SP ∩ ]}. Case ϕ = Xφ. Assume Mc , (i, x) |= Xφ. Consequently, Mc , (i + 1, x) |= φ. By induction hypothesis, X i+1 φ ∈ x. Hence, X i Xφ ∈ x. Reciprocally, assume X i Xφ ∈ x. Therefore, X i+1 φ ∈ x and, by induction hypothesis, Mc , (i + 1, x) |= φ. Thus, Mc , (i, x) |= Xφ. Case ϕ = X −1 φ. Similar to the previous case. Case ϕ = [SP ]φ. Assume Mc , (i, x) |= [SP ]φ. For the sake of the contradiction, assume X i [SP ]φ ∈ x. Consequently, [SP ]φ ∈ X i x and φ ∈ [SP ]X i x. Hence, the theory [SP ]X i x + ¬φ is consistent. By Lindenbaum’s lemma, there exists a maximal theory y such that [SP ]X i x + ¬φ ⊆ y. Remark that [SP ]X i x ⊆ y and ¬φ ∈ y. Let z = X −i y. Remark that X i z = y. Since ¬φ ∈ y, then X −i X i ¬φ ∈ y and X i ¬φ ∈ z. Therefore, X i φ ∈ z and, by induction hypothesis, Mc , (i, z) |= φ. Since Mc , (i, x) |= [SP ]φ, then x and z do not have the same past with respect to i. Thus, there exists an integer j ∈ Z such that i > j and for some atomic proposition p, either X j p ∈ x and X j p ∈ z or X j p ∈ x and X j p ∈ z. Without loss of generality, let us suppose that X j p ∈ x and X j p ∈ z. Remark that [SP ]X i x ⊆ X i z. Since 5.2. AXIOMATIZATION 97 X j p ∈ z, then X j−i p ∈ X i z. Since [SP ]X i x ⊆ X i z, then [SP ]X j−i p ∈ X i x. Consequently, we have X j p ∈ x and X i [SP ]X j−i p ∈ x: a contradiction with i > j and axiom (A6). Reciprocally, assume that X i [SP ]φ ∈ x and let us show that Mc , (i, x) |= [SP ]φ. For the sake of the contradiction, assume that Mc , (i, x) |= [SP ]φ. Consequently, there exists y ∈ Wc such that x and y have the same past with respect to i and Mc , (i, y) |= φ. By induction hypothesis, X i φ ∈ y and φ ∈ X i y. Since X i [SP ]φ ∈ x, then ¬[SP ]φ ∈ X i x. Let ∈ {[], []} be such that x ⊆ y and j ∈ Z be such that i > j. Remark that j −i < 0. Since X i x is a theory, then X i x is closed under the [SP ] special rule. Since ¬[SP ]φ ∈ X i x, then there exists an atomic proposition p such that ¬(φ ∨ X j−i p) ∨ X j−i p ∈ X i x. Therefore, X i (φ ∨ X j−i p) ∈ x and X j ¬p ∈ x. Thus, (X i φ ∨ X j p) ∈ x. Since x ⊆ y, then X i φ ∈ y or X j p ∈ y. If X i φ ∈ y then φ ∈ X i y: a contradiction. If X j p ∈ y then X j p ∈ x, seeing that x and y have the same past with respect to i and i > j. This contradicts the fact that X j ¬p ∈ x. Case ϕ = [SP ∩ ]φ. Similar to the previous case (use the special rule for [SP ∩ ] and the axiom (A9) instead of the special rule for [SP ] and the axiom (A6). Case ϕ = []φ. Assume Mc , (i, x) |= []φ. For the sake of the contradiction, assume X i []φ ∈ x. Consequently, []φ ∈ X i x and φ ∈ []X i x. Hence, the theory []X i x + ¬φ is consistent. By Lindenbaum’s lemma, there exists a maximal theory y such that []X i x + ¬φ ⊆ y. Remark that []X i x ⊆ y and ¬φ ∈ y. Let z = X −i y. Remark that X i z = y. Since ¬φ ∈ y, then X −i X i ¬φ ∈ y and X i ¬φ ∈ z. Therefore, X i φ ∈ z and, by induction hypothesis, Mc , (i, z) |= φ. Since Mc , (i, x) |= []φ, then x c z. Thus, there exists a formula ψ such that []ψ ∈ x and ψ ∈ z. Hence, X −i ψ ∈ y, X −i ψ ∈ []X i x + ¬φ, X −i ψ ∈ []X i x and X i []X −i ψ ∈ x. Thus, []X i X −i ψ ∈ x and []ψ ∈ x: a contradiction. Reciprocally, assume that X i []φ ∈ x and let us show that Mc , (i, x) |= []φ. For the sake of the contradiction, assume that Mc , (i, x) |= []φ. Consequently, there exists y ∈ Wc such that x c y and Mc , (i, y) |= φ. By induction hypothesis, X i φ ∈ y. Since x c y, then []x ⊆ y. Consequently, X i φ ∈ []x and []X i φ ∈ x. Hence, X i []φ ∈ x: a contradiction. Case ϕ = []φ. Similar to the previous case. Now, we are ready for proving the main theorem of this section. Proof of theorem 19. Let ϕ be a formula. Assume ϕ is not a theorem of Lmin . Consequently, T Hmin + ¬ϕ is a consistent theory. By Lindenbaum’s lemma, there exists a maximal theory x such that T Hmin + ¬ϕ ⊆ x. Hence, ¬ϕ ∈ x, ϕ ∈ x and X 0 ϕ ∈ x. By the lemma 4, Mc , (0, x) |= ϕ. Thus, ϕ is not valid. 98 CHAPTER 5. DECISION PROCEDURE AND AXIOMATIZATION 6 Computer security application: coherence, compatibility, and compliance In this chapter, we investigate an application of the proposed logic to the specification and the verification of security properties. We want to consider independently a (formal model of a) system, a (formal specification of a) policy, and then to determine whether the system is compliant with the policy. The first way to deal with this problematics is to consider the system as a set of possible behaviours, the policy as a set of authorized/correct behaviours, and then to check whether the system is included in the policy. Two main approaches deal with this: on-the-fly methods and static methods. The former consists in representing the policy by a security automaton [116] and to run the system in tandem with a simulation of the security automaton. Each step of the system generates an input symbol sent to the security automaton. If the security automaton is able to perform a transition on this input symbol, then the system is allowed to perform the step, else, the system is terminated. Ligatti et al. proposed in [87] an extension of security automata called edit automata, which are not only able to terminate the system, but also to suppress or add actions so that the policy is satisfied. Static methods consist in using model-checking techniques [39]. If the policy is modeled by a temporal formula and the system by an automaton, then we can check that the system enforces the policy. If it is not the case, some works study the synthesis of a controller so that the synchronized product [14] of the initial system and the controller meets the policy, considered here as the system specification. Thus the role of the controller is to guide the system so that the specification is satisfied. Notice that in the first approach, the policy is viewed as an automaton, whereas in the second approach it is viewed as a formula. Using a combination of deontic and temporal logic allows a richer analysis. Indeed, we are then able to express and reason about obligations, permissions, violations, and sanctions in the policy. 99 100 CHAPTER 6. COMPUTER SECURITY APPLICATION The first section of this chapter deals with the temporal formalism used to specify a system. Section 2 formally defines the compatibility (which is a weak version of compliance) of a system with a policy. Section 3 focuses on some interesting restrictions for which checking compatibility is decidable. Section 4 refines the definition of compatibility with five different diagnostic cases, which allow to define the notion of compliance. An algorithm is then provided to establish the diagnostic. 6.1 Specification of the system In this section, we define the model used to describe a system. We firstly discuss the representation of actions, and secondly we present Labeled Kripke Structures and State/Event LT L. 6.1.1 Events or actions? The notion of event is close to an action in dynamic logic [63]. But an event is atomic, and has no duration. Actions can be composed with several combinators: sequence, choice, iteration. Some propositions to combine dynamic and temporal logics [65] strengthen the temporal operator U (until). ϕ1 U α ϕ2 means that ϕ1 U ϕ2 is satisfied along some path which corresponds to the execution of action α. The expressive power of the obtained logic called DLT L is then increased to ω-regular language, i.e., the same expressiveness as the Monadic Second Order Theory of ω-sequences S1S. On the other hand, the specification of properties can be less intuitive, if we explicitly reason about action occurrences. For instance, consider the sentence “If useri uses the resource, he will release it”. usei is a proposition, and releasei an event (or an atomic action in dynamic logic). In a state/event logic, we express it naturally: usei ⇒ F releasei But in a dynamic temporal logic, we cannot put actions and propositions at the same level. We have to use specific operators to introduce actions: usei ⇒ U Σ∗;releasei where Σ represents any atomic action. Moreover, in many cases the composition of events, can be expressed without using the combinators of dynamic logic. For instance, the formula e1 ∧ Xe2 expresses that the event e1 happens, followed by e2 , which corresponds to the action e1 ; e2 in a dynamic logic. The formula e1 U e2 means that there is an arbitrary number of executions of e1 , followed by an execution of e2 , and corresponds to the execution of the composed action e1 ∗ ; e2 . Besides, the semantics of events is much simpler, and there exists efficient tools for state/event logics [36, 35]. In the remainder of the thesis, we will use a state/event based formalism called Labeled Kripke Structures [36] (LKS) to model a system. 6.1. SPECIFICATION OF THE SYSTEM 6.1.2 101 Labeled Kripke Structures Original LKSs correspond to usual finite automata with labels on both states and transitions. They are used as models of the state/event extension of LT L. It allows us to reason on both propositions and events. Such an automaton over the sets (P, E) of propositions and events is defined as a tuple (S, S0 , Δ, V ) where • S is the set of states, • S0 ⊆ S is the set of initial states, • Δ ⊆ S × (2E \ {∅}) × S is a transition relation, where (s, E, s ) ∈ Δ if there is a transition from s to s labelled by E, which means that all the events in E occur simultaneously during this transition, • V : S → 2P is the valuation function which associates each state with a set of atomic propositions. Notice that this definition of transitions slightly differs from [36], where two given states cannot be related by several distinct transitions. A state s may have several successors by E because several distinct outgoing transitions may be labeled by E. {e1, e2} s1 s2 {p} {q} {e2} {e3} Figure 6.1: Labeled Kripke Structure Figure 6.1 shows an illustration of an LKS where the atomic propositions are p and q, the events are e1 , e2 , and e3 , and the initial state is s1 . Definition 55 (Syntax of State/Event Linear Temporal Logic (SE-LT L)). Given a set P of atomic propositions, and a set E of events, the language LSEL−T L of SE-LT L is defined as follows ϕ ::= p | e | ⊥ | ϕ ⇒ ϕ | Xϕ | ϕU ϕ where p ∈ P is an atomic proposition, and e ∈ E is an event. Given an LKS A = (S, S0 , Δ, V ), an SE-LT L formula is interpreted on a state/event trace σ = (s0 , E0 , s1 , E1 , . . .), which is an alternating sequence 102 CHAPTER 6. COMPUTER SECURITY APPLICATION of states and event sets such that s0 ∈ S0 , and ∀i ∈ N (si , Ei , si+1 ) ∈ Δ. We note σi (resp. σ i ) the ith state (resp. event set) of σ. A trace is either infinite, or ends with a state which has no successor by Δ. We say that such a state/event sequence σ is a trace of A, or is a accepted by A. Definition 56 (State/Event semantics). Given an LKS A = (S, S0 , Δ, V ) over the sets (P, E) of propositions and events, and a state/event trace σ, we define the satisfaction relation |= for propositions and events as follows: σ, i |=SE−LT L p σ, i |=SE−LT L e iff iff p ∈ V (σi ) e ∈ σi where p ∈ P where e ∈ E The satisfaction relation for constant ⊥, operators ⇒, X, and U , are defined as in LT L. A trace σ satisfies ϕ iff its first state satisfies it : σ |=SE−LT L ϕ iff σ, 0 |=SE−LT L ϕ An LKS satisfies ϕ iff all its traces satisfy it. For instance, considering the LKS illustrated by Figure 6.1, the following holds: (s1 , {e1 , e2 }, s2 , {e3 }, s2 , {e2 }, . . .) |=SE−LT L p ∧ e1 ∧ e2 ∧ Xe3 Actually, SE-LT L does not increase the expressive power of LT L. Indeed, an SE-LT L formula can be considered as an LT L formula with P ∪ E as the set of atomic propositions, i.e., events are considered as propositions. Given a state/event trace σ, with a state valuation V : S → 2P , we can easily define an LT L valuation σ ∗ : N → 2P ∪E such that σ, i |=SE−LT L ϕ iff σ ∗ , i |=LT L ϕ: def ∀i ∈ N σ ∗ (i) = V (σi ) ∪ σ i Moreover, there is a translation T which associates each LKS A with a usual Kripke structure T (A) that satisfies the same formulas: A |=SE−LT L ϕ iff T (A) |=LT L ϕ However, in [36], an experimental study shows that the state/event formalism makes the specification of a system more concise, and thus easier. It is also shown that state/event formulation yields significant gains in time (and memory) during verification. 6.2 Deontic extension and compatibility In this section, we present how to adapt the semantics of the temporal and deontic combinations studied in chapter 4 to the state/event case so that we can formally define the compatibility of a system with respect to a security policy. The internal consistency of a policy is defined as the satisfiability of the corresponding formula. 6.2. DEONTIC EXTENSION AND COMPATIBILITY 6.2.1 103 Deontic extension We do not resume the discussion about the different possible semantics. We leave the deontic relation R as generic as possible, so that it can represent either an ideality relation or a preference relation, depending on the choice we make for the semantics of obligation. The resulting logic is a conservative extension of both SDL and SE-LT L, called State/Event Deontic Linear Temporal Logic (SED-LT L). Definition 57 (Syntax of LSED−LT L ). Given a set P of atomic propositions and a set E of events, the state/event temporal deontic language is defined by the following syntax: ϕ ::= p | e | ⊥ | ϕ ⇒ ϕ | Xϕ | ϕU ϕ | O ϕ where p ∈ P is an atomic proposition, and e ∈ E is an event. Definition 58 (Temporal and deontic model). Given a set P of atomic propositions and a set E of events, a state/event temporal and deontic model is a tuple M = (W, R, V ), where • W is a set of state/event sequences. • R ⊆ (N × W ) × (N × W ) is an accessibility relation from which the semantics of obligation is defined. It can represent either an ideality relation or a preference relation. • V is a valuation function which associates each state in a state/event sequence with a set of atomic propositions. Given a model (W, R, V ), a state/event trace σ ∈ W , and a nonnegative integer i ∈ N, the satisfaction relation M, σ, i |=SED−LT L ϕ is defined by structural induction on ϕ. For atomic propositions, events, constant ⊥, operators ⇒, X, and U , the satisfaction relation is defined as for SE-LT L. For operator O, different definitions (based on relation R) are possible. From such a state/event temporal deontic model, we can easily construct a temporal deontic model ((N, <) (W , R ), V ) as defined in chapter 4, where P ∪ E is considered as the set of atomic propositions. 6.2.2 Compatibility In this section we define the notion of compatibility of a system with respect to a policy. Roughly speaking, a system is said to be compatible with a policy if there is no contradiction when the system ’takes into account’ the norms specified by the policy. For instance, suppose that a policy specifies that when condition c1 is met, then it is obligatory to satisfy p, and when condition c2 is true, p is prohibited. Such a policy can be expressed by the 104 CHAPTER 6. COMPUTER SECURITY APPLICATION following formula G(c1 ⇒ O(p) ∧ c2 ⇒ O(¬p)). Consider a system which satisfies c1 ∧ c2 in some state. According to the policy, p is both obligatory and forbidden, which is not coherent. Let us consider another example where a contradiction arises from the ’combination’ of a system and its policy. Let us suppose that the policy specifies that when condition c is true, it is obligatory to satisfy p, and if an obligation to satisfy p is violated, then q will happen next: G c ⇒ O(p) ∧ (O(p) ∧ ¬p) ⇒ Xq q can be considered as a strong sanction: any system which is compatible with this policy satisfies q after having violated an obligation to satisfy p. A system which satisfies c ∧ ¬p in a state, and ¬q in one of its successors, is not compatible with this policy. Definition 59 (Compatibility). Let σ be a state/event sequence and ϕpol a formula in LSED−LT L which specifies the security policy. σ is compatible with ϕpol if there is a ’deontic extension’ of σ which satisfies ϕpol : σ |=compat ϕpol iff there exists M = (W, R, V ) such that M, σ, 0 |=SED−LT L ϕpol and σ∈W An LKS A is compatible with ϕpol iff all its state/event traces are compatible with ϕpol : A |=compat ϕpol iff for every trace σ of A σ |=compat ϕpol It can be interesting to reason about the ’combination’ of the system and the policy in order to express, for instance, that in the current state of the system’s execution, it is obligatory to satisfy p, according to a given policy. Definition 60 (Combination of a system and its policy). Let σ be a state/event trace, ϕpol a formula in LSED−LT L which specifies the security policy, and ϕ a formula in LSED−LT L. ϕ is explicitly obligatory (resp. permitted) in σ, i considering policy ϕpol , if every ’deontic extension’ of σ which satisfies ϕpol , also satisfies O(ϕ) (resp. P(ϕ)) at i. We use the notation σ, i |=pol Oexp (ϕ) (resp. σ, i |=pol Pexp (ϕ)). σ, i |=pol Oexp (ϕ) iff σ, i |=pol Pexp (ϕ) iff for every M = (W, R, V ) if σ ∈ W and M, σ, 0 |=SED−LT L ϕpol then M, σ, i |=SED−LT L O(ϕ) for every M = (W, R, V ) if σ ∈ W and M, σ, 0 |=SED−LT L ϕpol then M, σ, i |=SED−LT L P(ϕ) Notice that P exp (ϕ) is not equivalent to ¬O exp (¬ϕ). Indeed, ¬P exp (ϕ) ∧ ¬O exp (¬ϕ) is satisfiable: it can be the case that a formula ϕ is neither (explicitly) permitted nor (explicitly) forbidden. 6.2. DEONTIC EXTENSION AND COMPATIBILITY 6.2.3 105 Illustration Let us illustrate these notions with the following example. We consider a bank policy concerning customer behaviours. The sets P and E of atomic propositions and events are P = {positive} and E = {credit, debit, pay_charges, go_to_jail} positive is true when the balance is positive. credit (resp. debit) labels any transition that credits (resp. debits) the account. pay_charges models the payment of charges by the customer, and go_to_jail is an event by which the customer has no longer an access to his/her account. We consider the conjunction of the following rules as the policy ϕpol : • If the balance is negative, then it is obligatory to credit the account. G ¬positive ⇒ O(credit) (1) • If an obligation to credit the account is violated, then tomorrow it will be obligatory to pay charges before two days. (2) G O(credit) ∧ ¬credit ⇒ XO(F2 pay_charges) • If an obligation to pay the charges is violated, the customer is going to jail tomorrow. G O(pay_charges) ∧ ¬pay_charges ⇒ X go_to_jail (3) Notice that rules (2) and (3) specify a sanction in case an obligation is violated. Rule (2) specifies a new obligation, and rule (3) expresses that event go_to_jail is going to occur. The former sanction can be considered as a weak sanction because it may be violated, while the latter is a strong sanction: we cannot reason about the violation of this sanction, and a behaviour can be compatible with the policy only if it performs this sanction. These notions of weak and strong sanctions will be further discussed in the restricted context of section 6.4. The LKS illustrated by Figure 6.2 represents the behaviour of a bank customer. Consider the following trace σ of this bank customer behaviour. σ = (s1 , {debit}, s2 , {credit}, s2 , {debit}, s3 , {credit, pay_charges}, . . .). In the second state of σ, the balance is negative (σ, 1 |= ¬positive). So, every ’deontic extension’ of σ that satisfies ϕpol also satisfies O(credit) in the second state. Therefore, there is an explicit obligation to credit the account: σ, 1 |=pol O exp (credit). In the third state, the balance is still negative, so it is still explicitly obligatory to credit the account (σ, 2 |=pol O exp (credit)). Yet, no credit operation occurs (σ, 2 |= ¬credit). Thus, in the fourth state, there is an explicit obligation to pay some charges before two time units (σ, 4 |=pol O exp (F2 pay_charges)). CHAPTER 6. COMPUTER SECURITY APPLICATION 106 debit debit credit s1 credit { } credit, pay charges s2 credit debit {} credit, pay charges s3 {} Figure 6.2: Bank customer 6.3 Decidable fragment In this section, we consider the fragment SED-LT L− of our logic such that checking whether an LKS A is compatible with its policy ϕpol (formulated in this fragment) is decidable, and checking the internal consistency of a policy is decidable. Decision procedures are decomposed as follows. Firstly, we consider deontic subformulas of ϕpol as special atoms in order to apply usual translation of an LT L formula into an ’equivalent’ Büchi automaton Apol [60]. Secondly, in every transition of the obtained Büchi automaton, we suppress the transitions which contain deontic inconsistencies. We are then able • to check internal consistency of ϕpol , i.e., satisfiability in SED-LT L− , by an emptiness test on Apol • to check whether A is compatible with ϕpol by a language inclusion test between A and Apol . 6.3.1 Preliminaries In this section we define the fragment language, and recall the definition of Büchi automata. Fragment language In SED-LT L− , the scope of deontic operators is restricted to propositional formulas. The language LSED−LT L− is defined by the following syntax: ϕ ::= p | e | ⊥ | ϕ ⇒ ϕ | Xϕ | ϕU ϕ | O ϕprop 6.3. DECIDABLE FRAGMENT 107 where p ∈ P is an atomic proposition, e ∈ E is an event, and ϕprop is a propositional formula over P ∪ E: ϕprop ::= p | e | ⊥ | ϕprop ⇒ ϕprop Given a formula ϕpol in LSED−LT L− , let DSF (ϕpol ) be the set of the deontic subformulas of ϕpol , i.e., the subformulas of the form O(ϕprop ): def def DSF (ϕ1 ⇒ ϕ2 ) = DSF (ϕ1 ) ∪ DSF (ϕ2 ) DSF (Xϕ) = DSF (ϕ) def def DSF (ϕ1 U ϕ2 ) = DSF (ϕ1 ) ∪ DSF (ϕ2 ) DSF (O ϕprop ) = {O ϕprop } DSF (p) = ∅ DSF (e) = ∅ DSF (⊥) = ∅ When there is no ambiguity, we use the notation DSF instead of DSF (ϕpol ) for ease of reading. Büchi automata Büchi automata [19, 122] are finite state automata which accept infinite sequences. They have been proved to be equivalent to Monadic Second Order theory (M SO) over infinite sequences, also known as Second Order Theory with one Successor (S1S). The decidability of emptiness checking (i.e., whether there exists an infinite sequence accepted by a given automaton) thus provides the decidability of S1S, which contains LT L. Efficient translations of LT L formulas into Büchi automata have been investigated (see, e.g., [133, 61, 70, 60]) in order to provide a decision procedure for satisfiability and model checking problems. Let us recall the definition of Büchi automata. Definition 61 (Büchi automata). A Büchi automaton is a tuple A = (S, S0 , L, Δ, F ), where • S is a set of states • S0 ⊆ S is a set of initial states • L is a set of labels • Δ ⊆ S × L × S is a transition function • F is a set of final states A run ρ of A on a given input σ ∈ Lω is an infinite sequence in S ω such that ρ0 ∈ S0 and ∀i ∈ N (ρi , σi , ρi+1 ) ∈ Δ. An infinite sequence σ ∈ Lω is accepted by A if there is a run ρ of A on σ such that some final state s ∈ F occurs infinitely often in ρ. The set of the infinite sequences accepted by A is called the language of A, denoted by L(A). CHAPTER 6. COMPUTER SECURITY APPLICATION 108 In the case of the translation of a temporal formula ϕ into a Büchi automaton Aϕ , the set of labels is 2P (where P is the set of atomic propositions in ϕ). However, for the sake of conciseness, the following representation of transitions is often adopted. All the transitions between two given states s1 and s2 are represented by one ’condensed’ transition labeled by a propositional formula ϕprop . It means that for every proposition set li which satisfies ϕprop , there is a transition from s1 to s2 labeled by li . For instance, if the set of atomic propositions is {p, q}, a transition labeled by the propositional formula ¬p actually stands for two transitions in the original representation: one transition labeled by {q}, and another transition labeled by ∅ (empty set). 6.3.2 Checking internal consistency and compatibility In this section, we present the translation of the policy ϕpol (resp. the system A) into a Büchi automaton Apol (resp. and A). Checking internal consistency of the policy corresponds to checking emptiness of Apol . The verification of the compatibility of the system with respect to its policy corresponds to the ? following inclusion test: L(A) ⊆ L(Apol ). Translation of ϕpol into Apol Using a standard translation technique [133, 61, 60], from ϕpol we can com , S P ∪E∪DSF , Δ , F ), which pute the Büchi automaton Apol = (Spol pol 0 , 2 pol accepts exactly the infinite sequences which satisfy - according to LT L semantics - ϕpol , where deontic subformulas are considered as atoms. For every transition δ = (s1 , l, s2 ) ∈ Δpol , we apply SDL satisfiability decision procedure to the following deontic formula: φ ∧ ¬φ φ∈DSF ∩l φ∈DSF \l If the decision procedure returns unsatisfiable then we suppress δ. We then suppress deontic labels of the remaining transitions (the set of labels is now 2P ∪E ) and call Apol the resulting Büchi automaton. Let us illustrate this translation by the following simple example. Consider a policy ϕpol defined as the conjunction of the following rules. • G (c1 ⇒ O(p)) • G (c2 ⇒ O(¬p)) • G (O(p) ∧ ¬p) ⇒ Xq Figure 6.3 represents automaton Apol , where both states are accepting states. It is the translation of the ϕpol into a Büchi automaton obtained 6.3. DECIDABLE FRAGMENT 109 with the tool LTL 2 BA [60]. At this point, we consider c1 , c2 , p, O(p), and O(¬p), as atomic propositions. The condensed representation of transition explained in section 6.3.1 is used. Moreover, on each transition, the label is very long and will not be presented entirely. ¬c1 ∨ (¬p) ∨ ¬c2 ∧ (p) ∨ (p) ∧ (¬p) ººº ¬c1 ∧ ¬c2 ∧ p ∨ ¬c1 ∧ ¬ (p) ∧ ¬c2 ∨ ¬c1 ∧ (¬p) ∧ p ∨ ¬c1 ∧ ¬ (p) ∧ (¬p) ∨ (p) ∧ (¬p) ¬c1 ∧ ¬c2 ∧ q ∨ ¬c1 ∧ (¬p) ∧ q ∨ ¬c2 ∧ (p) ∧ q ººº ¬c1 ∧ ¬ (p) ∧ ¬c2 ∧ q ∨ (¬p) ∧ (¬p) ∧ q ∧ p ∨ (p) ∧ ¬c2 ∧ q ∧ p ººº ººº Figure 6.3: Illustration of Apol Figure 6.4 illustrates automaton Apol obtained from Apol after the suppression of ’deontic inconsistent’ transitions, and the suppression of the remaining deontic labels. ¬c1 ∨ ¬c2 (¬c1 ∧ ¬c2) ∨ (¬c1 ∧ p) ∨ (¬c2 ∧ p) q ∧ (¬c1 ∨ ¬c2) (¬c1 ∧ q) ∨ (¬c2 ∧ p ∧ q) Figure 6.4: Illustration of Apol The following property shows that Apol can be used to check whether a trace is compatible with the policy. Property 27. Let ϕpol be an SED-LT L− formula which specifies a security policy, and Apol the Büchi automaton obtained by the above-mentioned procedure. Let σ be a state/event sequence over the sets P and E of atomic CHAPTER 6. COMPUTER SECURITY APPLICATION 110 propositions and events. σ is compatible with ϕpol if and only if its state-based translation is accepted by Apol . σ |=compat ϕpol iff σ ∗ ∈ L(Apol ) where σ ∗ ∈ (2P ∪E )ω is the sequence obviously obtained from σ by considering events as propositions. Sketch of the proof. Let σ a state/event trace over P and E, and ϕpol a formula of SED-LT L− . ’⇐’: Suppose that its state-based translation σ ∗ is accepted by Apol . Clearly it is possible to enrich state labels (atomic proposition sets) in σ with satisfiable subsets of DSF (in the sense of SDL) such that the enriched sequence σ satisfies ϕpol in the sense of SE-LT L (σ |=SE−LT L ϕpol ) where deontic subformulas are considered as atoms. Since each subset of DSF which labels a state of σ is SDL-satisfiable, and ϕpol contains only propositional formulas in the scope of deontic operators, then we can easily build a temporal deontic model M = (W, R, V ) such that σ ∈ W and M, σ |= ϕpo . ’⇒’: Suppose that σ |=compat ϕpol . There exists a temporal deontic model M = (W, R, V ) such that σ ∈ W and M, σ |=SED−LT L ϕpol . Let σ the state/event sequence obtained by adding to the state labels of each state i the following set of deontic subformulas: {φ ∈ DSF / M, σ, i |=SED−LT L φ}, i.e., the deontic subformulas φ which are true in i. Since SED-LT L is a conservative extension of SE-LT L, then σ |=SE−LT L ϕpol , where deontic subformulas are considered as atomic propositions. Besides, since SED-LT L is a conservative extension of SDL, that every set of deontic subformulas which labels some state σ, i is satisfiable for SDL. Thus, σ ∗ is accepted by Apol . Translation of an LKS A into a Büchi automaton A As explained in section 6.1.2, we can translate an LKS A = (S, S0 , Δ, V ) over the sets P and E of atomic propositions and events, into an equivalent state-based Kripke structure. Actually, it can also be translated into a transition-based Büchi automaton A = (S , S0 , 2P ∪E , Δ , F ), such that an infinite state/event sequence σ is accepted by A if and only if its state-based translation σ ∗ is accepted by A, where • S = S, S0 = S0 • Δ = {(s1 , E ∪ V (s1 ), s2 ) ∈ S × 2P ∪E × S / (s1 , E, s2 ) ∈ Δ} • F = S (every state is an accepting state) The following property states that the compatibility of an LKS A with respect to a policy ϕpol is equivalent to the inclusion of A into Apol . 6.4. BEYOND COMPATIBILITY 111 Property 28. Let A be an LKS which models a system, and ϕpol an SEDLT L− formula which specifies its security policy. Let A and Apol be respectively their corresponding Büchi automata. A is compatible with ϕpol if and only if the language accepted by A is a subset of the language accepted by Apol : A |=compat ϕpol iff L(A) ⊆ L(Apol ) Proof. The proof is immediate from property 27. Checking inclusion L(A) ⊆ L(Apol ) is equivalent to checking emptiness of L(A) ∩ L(Apol ), where L(Apol ) is the complement of L(Apol ). Since the complement of a Büchi automaton is computable [19, 113, 132], it follows that checking the compatibility of an LKS with respect to its security policy expressed in SED-LT L− is decidable. 6.4 Beyond compatibility The notion of compatibility is too weak to be interpreted as compliance. In this section, we discuss some cases where a trace is compatible with a policy whereas it is intuitively not compliant with the policy. In order to formally define compliance, which relies on more complex notions, we adopt a restricted fragment of SED-LT L− , which nevertheless allows to model many practical cases. 6.4.1 Policy language This section deals with the syntax of the restricted policy language. A policy is defined as a set (or a conjunction) of rules. We distinguish between two kinds of rules: • obligation/permission positioning rules of the form C → ϕ, where C is a propositional condition under which the rule is ’triggered’. ϕ is a deontic formula, i.e. either an obligation (“it is obligatory that ...”) or a permission (“it is permitted that ...”). • sanctioning rules of the form V ϕ, which express that if the violation V occurs, then sanction ϕ will be enforced in the next state. The sanction is necessarily an obligation (it cannot be a permission). The condition V is the conjunction of a propositional formula and a violation formula of the form V iol(e), that expresses that there is a violation concerning event e. We distinguish between two kinds of obligations: strong obligations and weak obligations. The violation of a weak obligation may trigger a sanction, which can also be violated if it is a weak obligation. All these violations 112 CHAPTER 6. COMPUTER SECURITY APPLICATION may be performed by a system which is still considered as compliant with the policy, if the sanctions are eventually enforced. On the other hand, we cannot reason about the violation of a strong obligation: a system which violates such a strong obligation is not compliant with the policy. Two kinds of violations may occur: a (weakly) obligatory event that does not happen, or a non-permitted event that happens. So we have in fact two violation formulas V iolO (e), which means “e is (weakly) obligatory, but it does not occur in the next transition”, and V iolP (e), which means “e does occur in the next transition whereas it is not permitted”. We consider that every event which is not permitted by the policy is prohibited, i.e., we work with the closed policy principle. The right hand side ϕ of a rule is either of the form P (ϕev ) (ϕev is permitted), or O(ϕev ) (ϕev is weakly obligatory), or Ô (ϕev ) (ϕev is strongly obligatory) where ϕev is a positive event formula, i.e., a propositional formula (without any negation) whose atoms are events. We only consider in this section immediate obligations, but we plan to take into account obligations with deadline. Here are some examples of rules that could be specified in the security def def policy, with P = {p, q} and E = {e1 , e2 }: • p ∧ q → O(e1 ) If p and q are true in the current state then there is a weak obligation that e1 occurs next. • p → P(e1 ∧ e2 ) If p is true in the current state then it is permitted that e1 and e2 occur simultaneously next. • p ∧ V iolO (e1 ) O (e2 ∨ e3 ) If p is true and the obligation to perform e1 is violated, then in the next state, there is a weak obligation to perform e2 or e3 . • p ∧ V iolO (e2 ∨ e3 ) Ô(e4 ) If p is true and the obligation to perform e2 or e3 is violated, then event e4 must occur next (and this cannot be violated). Let us formally define the rule language. We first define the language LE of (positive) event formulas (in the remainder, ϕev will denote an event formula): ϕev ::= e | ϕev ∧ ϕev | ϕev ∨ ϕev where e ∈ E is an event. The limitation to positive events (without any negation) is due to the choice not to reason on explicit prohibitions. Indeed, with the negation in the language of events, we would be able to express the obligation not to perform an event, which is equivalent to the prohibition to perform 6.4. BEYOND COMPATIBILITY 113 this event. This limitation then avoids prohibition/permission and obligation/prohibition conflicts, and allows to focus on violation management. The condition of a rule (left hand side of a rule) can be a propositional formula, a violation formula, or a conjunction of a propositional and a violation formula. We define the language LP of the propositional formulas by the following syntax (in the remainder of this section, ϕp will denote a propositional formula): ϕp ::= p | ϕp ∧ ϕp | ϕp ∨ ϕp | ¬ϕp where p ∈ P is an atomic proposition. The language Lviol of the violation formulas is defined by the following syntax: ϕviol ::= V iolO (ϕev ) | V iolP (ϕev ) def where ϕev ∈ LE is a positive event formula, and V iol0 (ϕev ) = O (ϕev )∧¬ϕev , def V iolP (ϕev ) = ϕev ∧ ¬P(ϕev ). The left hand side of a rule is a condition, and the right hand side is a positive deontic formula (permission, weak obligation, or strong obligation). In our framework, the obligation of a given event can be both violable if it appears as a weak sanction in some rule, and non violable if it appears as a strong sanction in some other rule. For instance, if p → O(e2 ) and V iolO (e1 ) Ô(e2 ) are two rules of the policy, then in the context p there is an obligation to perform e2 , which can be violated, but if there is a violation of an obligation to perform e1 , then the obligation to perform e2 is not violable. We define the language Lrule of the rules by the following syntax: ϕ ::= → (O(ϕev ) | P (ϕev ) | Ô(ϕev )) ϕp | ϕp ∧ ϕviol (O(ϕev ) | Ô(ϕev )) where ϕp ∈ Lp is a propositional formula, ϕev ∈ LE is a positive event formula, and ϕviol ∈ Lviol is a violation formula. A policy is defined as a set of rules. 6.4.2 Compliance of a system with its security policy Given a model A = (S, S0 , Δ, V ) of a security system, and a policy, we focus on the meaning of the compliance of the system with the policy, in our context of violation management. We actually reason on a single trace of the system (the compliance of the whole system is then defined by the compliance of all its traces). We first give an intuition of the definition, and then formally specify these aspects. CHAPTER 6. COMPUTER SECURITY APPLICATION 114 Informal view Roughly speaking, we say that a system is compliant with a policy if • either there is no violation, • or each time some violation occurs, the associated sanction is enforced. To state more precisely the notion of enforcement, we introduce some vocabulary and a support example. s1 debit s2 debit s3 go_to_ jail s4 p Figure 6.5: State/Event trace Example Let us come back to the bank example introduced in section 6.2.3. Consider the state/event trace illustrated by Figure 6.5 together with the policy consisting of rules (1), (2), and (3). 1. ¬p → P (debit) 2. V iolP (debit) O(pay_charges) 3. V iolO (pay_charges) Ô(go_to_jail) The first event (debit) is performed without permission since P(debit) cannot be deduced from the rules in the context of state s1 (recall we only work with closed policies). Therefore, according to rule (2) there is an obligation in state s2 to perform event pay_charges as a sanction. During the second transition, event pay_charges is not performed, so the sanction is also violated. According to rule (3), there is then a strong obligation to perform go_to_jail as a second sanction, in state s3 . It is effectively performed by the behaviour of the bank customer. Thus, according to our approach, this system is compliant with its security policy, even if the sanctions triggered by security rules (1) and (2) are violated. Vocabulary We say that an obligation O(ϕev ) is fulfilled if ϕev holds in the current state, i.e., if the event formula ϕev is going to be performed during the next transition. In the example of Figure 6.5, the (strong) obligation to perform go_to_jail is fulfilled in state s3 . A violation may induce several obligations. In the example, V iolP (debit) holds in state s1 (because of the first transition). Then rule (2) triggers the 6.4. BEYOND COMPATIBILITY 115 obligation O(pay_charges). (Recall that an obligation which is triggered by a violation is also named sanction). Then, in s3 , because of the violation V iolO (pay_charges), rule (3) triggers the sanction Ô (go_to_jail). We say that the initial transition labeled by debit triggers the sequence of sanctions [O(pay_charges), Ô (go_to_jail)]. A transition is called managed if every sequence of sanctions which is triggered by this transition ends with a fulfilled obligation. In the example, the first transition is then managed. When a transition is not managed, i.e., when it triggers some sequence of sanctions which does not end with a fulfilled obligation, we can distinguish between three situations: • Some triggered sequence of sanctions ends with a strong obligation which is not fulfilled, then the transition is called ultimately strong • Some triggered sequence of sanctions ends with a weak obligation which is not fulfilled, and no sanction is specified by the policy in case this weak obligation is violated, then the transition is called ultimately unexpected • There is an infinite triggered sequence of sanctions, then the transition is called never caught. This last situation is illustrated by the system described in Figure 6.6, together with the following policy: e1 s1 p s2 e2 Figure 6.6: Infinite sequence of weak sanctions (1) p → O(e2 ) (2) V iolO (e2 ) O (e1 ) (3) V iolO (e1 ) O (e2 ) In state s1 , according to rule (1), it is obligatory to perform e2 since p is true. So, performing event e1 violates this obligation, and rule (2) triggers O (e1 ) in the destination state s2 . Then, doing event e2 violates this obligation. The system is then back to state s1 , where rule (3) triggers O(e2 ). 116 CHAPTER 6. COMPUTER SECURITY APPLICATION If we consider the infinite state/event trace generated by this automaton, then in every state of this trace, there is a violation which triggers some rule. Therefore, the initial transition triggers the infinite sequence of sanctions [O (e1 ), O(e2 ), O(e1 ), O(e2 ), . . .]. The specification of this situation is not straightforward. Indeed, a definition which first comes in mind is a transition is never caught if after this transition, all the successive states satisfy some violation. The following example shows that it does not correspond to a transition which is never caught. Let us consider the system described by Figure 6.7 and the following policy (1) (p ∨ q) → O(e1 ) (2) V iolO (e1 ) O(e2 ) In state s1 , p is true, so, according to rule (1), it is obligatory to perform e2 s2 q s1 p e2 Figure 6.7: Violation in every state e1 . The first transition violates this obligation. According to rule (2), it is then obligatory in s2 to perform e2 , and this obligation is fulfilled by the next transition. Similarly, in state s2 , q is true, so it is obligatory to perform e1 . This obligation is violated by the next transition, but the associated sanction will be fulfilled by the transition from s1 to s2 . So, considering the state/event trace of this system, there is a violation in every state, and yet each triggered sequence of sanctions is eventually fulfilled, i.e., each transition is managed. We now see the need to precise the notion of triggered sequence of sanctions before clearly defining our diagnostic cases. Triggered sequence of sanctions Each obligation of a triggered sequence can be related to the previous one in a complex way. Each obligation can actually be divided into two parts: the part which is inherited from the previous obligation of the sequence, and the part which is only due to the current state. For instance, let us consider the following policy: (1) p → O(e1 ) (2) V iolP (e2 ) O(e4 ) (3) V iolO (e1 ) O(e3 ) 6.4. BEYOND COMPATIBILITY 117 (4) q → O(e5 ) (5) V iolO (e4 ∧ e5 ) Ô(e6 ) (5’) V iolO (e5 ) Ô(e7 ) s1 p e2 s2 {e6, e7} s3 q Figure 6.8: State/Event sequence Let us analyse the first transition of the state/event sequence illustrated by Figure 6.8. This transition violates the obligation to perform e1 and the nonpermission to perform e2 . So, according to rules (3) and (2), this transition triggers the sanction O (e3 ) ∧ O(e4 ), i.e., O (e3 ∧ e4 ). This obligation holds in the second state s2 , and is violated by the next transition. Now, do we consider that rules (5) and (5’) are triggered? In order to answer, let us notice that in the current state (s2 ), q holds, so it is obligatory to perform e5 according to rule (4). This obligation, which is also violated, does not play the same role in the sequence of sanctions as obligation O (e3 ∧ e4 ), which is inherited from previous violations. Inherited obligations are important to determine whether the current violation is unexpected (and the triggered sequence of sanctions ends), or there is an ’enabled’ rule (and the triggered sequence is continued). In order to distinguish between these two cases, we consider separately the rules which can be triggered depending on the set of obligations we assume to hold in the current state: (a) current obligations are supposed to be only inherited sanctions (b) current obligations are supposed to be both inherited and ’new’ sanctions (c) current obligations are supposed to be only ’new’ sanctions If there exists an enabled rule in case (a), then the triggered sequence of sanctions is continued. If there exists an enabled rule in case (b) which is not enabled rule in case (c), then the triggered sequence of sanctions is also continued. Otherwise, we consider that the current violation is unexpected, and the sequence of triggered obligations ends In the example, if we consider rule (5’) instead of rule (5), then the violation of obligation O (e3 ∧e4 ) is unexpected, and the sequence of sanctions triggered by the first transition ends (it has only one element). Indeed, if we only suppose that e3 ∧ e4 is obligatory (case (a)), then no rule is enabled. In the case (b) ((e3 ∧ e4 ) ∧ e5 is obligatory), rule (5’) is enabled, and in the case 118 CHAPTER 6. COMPUTER SECURITY APPLICATION (c) it is also enabled, so our criterion is not satisfied. On the other hand, if we consider rule (5), then our criterion is satisfied: rule (5) is enabled in the case (b) but not in the case (c). The sequence of sanctions is then continued. To sum up, given a state/event sequence, and a current transition, there are five different diagnostic cases to consider: 1. no violation occurs 2. the transition is managed 3. the transition is ultimately strong 4. the transition is ultimately unexpected 5. the transition is never caught It is clear that cases 1 and 2 correspond to a transition which is compliant with its security policy and that the cases 3 and 5 correspond to a transition which is not. Case 4 is less clear: one can consider that there is a lack in the policy specification, and the transition is still compliant with the (specified part of the) policy. On the other hand, we cannot consider that the sanction is enforced (because no sanction is specified), so it is also reasonable to conclude that the transition is not compliant with the security policy. We will adopt the latter point of view. Definition 62 (Compliance). A state/event trace is said to be compliant with a policy iff for every transition 1. either there is no violation 2. or the transition is managed A system is compliant iff all its traces are compliant. Formal definitions In this section, we formally define the notion of triggered sequence of obligations, which allows to define the five diagnostic cases, and thus the compliance. The definition of these concepts is out of the scope of the language of deontic and temporal logics. Indeed, we will reason about individual rules, and about sequences of sanctions in which a causal relation between their elements is involved. We then propose ad-hoc definitions based on a syntactical point of view. 6.4. BEYOND COMPATIBILITY 119 Auxiliary definitions Given a state/event sequence σ and a policy pol, we need the following auxiliary definitions. (σ is implicit in the following definitions for ease of reading.) In the remainder, if A is a set of formulas, φ. then A denotes the formula φ∈A W Obl(i) (resp. SObl(i)) is the set of the formulas which are weakly (resp. strongly) obligatory in the ith state of σ, and which are not sanctions (they are not triggered by any sanctioning rule). def W Obl(i) = {φ / ∃(ϕp → O(φ)) ∈ pol such that σ, i |= ϕp } def SObl(i) = {φ / ∃(ϕp → Ô(φ)) ∈ pol such that σ, i |= ϕp } P erm(i) is the set of all the event sets which are permitted in state i. Notice that it may be the case that {e1 } and {e2 } are permitted whereas {e1 , e2 }, i.e., the simultaneous occurrence of e1 and e2 , is not. Therefore, P erm(i) is necessarily a set of event sets and not simply a set of events. We denote P erm(i) the event formula which characterizes permitted events. def P erm(i) = {E ⊆ E / ∃(ϕp P (ϕev )) ∈ pol such that ϕev ⇒ ( E ) and σ, i |= ϕp } def ( E) P erm(i) = E∈P erm(i) W SancP (i) (resp. SSancP (i)) is the set of the formulas which are weakly (resp. strongly) obligatory in state i + 1 because of the occurrence of nonpermitted events in the current transition. W SancP (i) = def {φ / ∃(ϕp ∧ V iolP (ϕev ) O(φ)) ∈ pol such that σ, i |= ϕp ∧ ϕev and P erm(i) ϕev } def {φ / ∃(ϕp ∧ V iolP (ϕev ) Ô(φ)) ∈ pol such that σ, i |= ϕp ∧ ϕev and P erm(i) ϕev } SSancP (i) = The set W SancO (i, ϕ) represents the formulas which are weakly obligatory in state i+1 of a state/event trace σ because of the violation V iolO (ϕev ) (where ϕev is implied by ϕ), i.e., because obligation O(ϕev ) is not fulfilled by the current transition. W SancO (i, ϕ) def = {φ / ∃(ϕp ∧ V iolO (ϕev ) O(φ)) ∈ pol such that ϕ ⇒ ϕev and σ, i |= ϕp ∧ ¬ϕev } Similarly, we define SSanc(i, ϕ) as the set of the formulas which are strongly obligatory in state i because of the violation V iolO (ϕev ), (whereϕev CHAPTER 6. COMPUTER SECURITY APPLICATION 120 is implied by ϕ) : SSancO (i, ϕ) def = {φ / ∃(ϕp ∧ V iolO (ϕev ) Ô(φ)) ∈ pol such that ϕ ⇒ ϕev and σ, i |= ϕp ∧ ¬ϕev } During the informal discussion, we saw that the criterion which allows to determine whether the violation of a given sanction is unexpected is quite complex. We explained the need to distinguish between an inherited part new O(ϕinh ev ) and a ’new’ part O (ϕev ) in the sanction. def new ExistsSanc(i, O (ϕinh ev ), O (ϕev )) = ∃(ϕp ∧ V iolO (ϕev ) _) ∈ pol such that ϕinh ev ⇒ ϕev and σ, i |= ϕp ∧ ¬ϕev or ∃(ϕp ∧ V iolO (ϕev ) _) ∈ pol such that new ⇒ ϕ new ϕinh ev and ϕev ϕev and σ, i |= ϕp ∧ ¬ϕev ev ∧ ϕev Triggered sequence of sanctions We consider finite and infinite sequences, indexed by I. In the former case, I has the form 0..N for some non-negative integer N ∈ N. In the latter case, I = N. A sequence of new inh sanctions is denoted by (O (ϕinh k ), O (ϕk ))k∈I , where O(ϕk ) denotes the new inherited part of the sanction, and O(ϕk ) denotes the ’new’ part of the new sanction. It can also be denoted by (O inh k , O k )k∈I . The last pair of obligations (in case the sequence is finite) can be either a pair of weak obligations or a pair of strong obligations, and all the other obligations of the sequence are weak. new Definition 63 (Triggered sequence of sanctions). A sequence (O(ϕinh k ), O(ϕk ))k∈I th of sanctions is said to be triggered in the i state of a state/event trace σ if • the first sanction is due to the violations which occur in σ i O(ϕinh 0 ) ≡ W SancO (i, φ) ∧ W SancP (i) SSancO (i, φ) ∧ SSancP (i) (and there is only one or O(ϕinh 0 )≡ pair in the sequence) def where φ = W Obl(i) • The inherited part of a sanction in the sequence is due to the violation of the previous sanction new ≡ W SancO (i + k, ϕinh ∀k ∈ I \ {0} ϕinh k k−1 ∧ ϕk−1 ) new ≡ SSancO (i + k, ϕinh or ϕinh k k−1 ∧ ϕk−1 )(and k is the last index) • The new part of each sanction is due to the current state and the nonpermitted events in the previous transition. ≡ W Obl(i + k + 1) ∧ W SancP (i + k) ∀k ∈ I ϕnew k 6.4. BEYOND COMPATIBILITY 121 • each sanction in the sequence (except the last sanction if the sequence is finite) is violated, and this violation is not unexpected (there exists a new sanction according to the policy) ∀k ∈ I such that k is not the last index of the sequence of sanctions σ, i + k + 1 |= ¬ϕinh k and new ExistsSanc(i + 1, O(ϕinh k ), O(ϕk )) • if the sequence is finite (I = 0..N ) and the last pair of sanctions is weak, then, either the last sanction is fulfilled or the policy specifies no sanction new inh new if (Oinh N , ON ) is of the form (O(ϕN ), O(ϕN ) then inh new or ¬ ExistsSanc(i + N + 1, O(ϕinh σ, i + N + 1 |= ϕN N ), O(ϕN )) Let us come back to the example of page 117. We consider all the rules (1)-(5) and (5’). Then, the first transition triggered the sequence of sanctions [(O(e3 ∧ e4 ), O (e5 )), (Ô(e6 ∧ e7 ), )], according to this definition.(Notice that there is no ’new’ part in the last sanction.) Diagnostic cases We can now define the semantics of the different kinds of transitions in which a violation occurs: managed transition, ultimately strong transition, ultimately unexpected transition, and never caught transition, through the predicates managed, strong, unexpected, and never_caught. Definition 64 (Managed transition). Given a state/event sequence σ and a nonnegative integer i, the ith transition of σ is managed if every sequence of triggered sanctions is finite and ends with a fulfilled sanction. managed(σ, i) iff every sequence of sanctions triggered by σ i (there exists some) is finite new inh and for every triggered sequence of sanctions (Oinh k , Ok )k∈0..N , σ, i + N + 1 |= ϕN inh inh inh where Oinh N = O(ϕN ) or ON = Ô(ϕN ). Definition 65 (Ultimately strong transition). A transition is ultimately strong if there is a sequence of triggered sanctions which ends with an unfulfilled strong violation. strong(σ, i) new i iff ∃(Oinh k , Ok )k∈0..N sequence of sanctions triggered by σ inh such that Oinh N = Ô(ϕN ) and σ, i + N + 1 |= ¬ϕN Definition 66 (Ultimately unexpected transition). A transition is ultimately unexpected if the policy specifies no sanction for the violations which occur CHAPTER 6. COMPUTER SECURITY APPLICATION 122 during this transition, or for the violation of the last sanction of some triggered sequence of sanctions. unexpected(σ, i) iff viol(σ, i) and N oInitialSanc(i) new i or ∃(O(ϕinh k ), O(ϕk ))k∈0..N finite sequence of sanctions triggered by σ such that new σ, i + N + 1 |= ¬ϕinh and ¬ExistsSanc(i + N + 1, O(ϕinh N N ), O(ϕN ) where viol(σ, i) def = σ, i W Obl(i) or P erm(i) e e∈σi and def N oInitialSanc(i) = W SancP (i)= SSancP (i) = ∅ and W Sanc0 (i, W Obl(i)) = SSanc0 (i, W Obl(i)) = ∅ Definition 67 (Never caught transition). A transition is never caught if it triggers an infinite sequence of sanctions. never_caught(σ, i) iff there is an infinite sequence of sanctions triggered by σ i Property 29. A transition in which some violation occurs and which is not managed is either ultimately strong, or ultimately unexpected, or never caught. Given a policy pol, a state/event trace σ, a natural i, then the following property holds viol(σ, i) ∧ ¬managed(σ, i)) ⇔ (strong(σ, i) ∨ unexpected(σ, i) ∨ never_caught(σ, i)) Proof. Let σ a state/event sequence and i ∈ N a nonnegative integer. ’⇐’: If strong(σ, i) then there exists a triggered sequence of sanctions which ends with an unfulfilled (strong) obligation. It directly follows that ¬managed(σ, i). Suppose that unexpected(σ, i). Then, either there is a violation and no triggered sequence, or there is a triggered sequence which ends with an unfulfilled (weak) obligation. It follows that ¬managed(σ, i). Now, suppose that never_caught(σ, i). Then, there exists an infinite sequence of sanctions triggered by σ i . We deduce that ¬managed(σ, i). In the three previous cases, the existence of a triggered sequence of sanctions implies viol(σ, i). ’⇒’: We suppose that viol(σ, i) ∧ ¬managed(σ, i). Then, considering the definition of managed, we have that • either there is an infinite sequence of triggered sanctions (then never_caught(σ, i) holds) • or there is no triggered sequence of sanctions (then unexpected(σ, i) holds) 6.4. BEYOND COMPATIBILITY 123 • or there is a triggered sequence of sanctions which ends with an unfulfilled obligation. If this obligation is strong, then strong(σ, i) holds. new Otherwise, if there exists a sanction (ExistsSanc(σ, i+N +1, O inh N , O N )) then the sequence of sanction does not end at N . So, there does not exist any sanction, and unexpected(σ, i) holds. Definition 68 (Compliance). A trace σ is compliant iff for every transition in σ, either there is no violation, or the transition is managed. compliant(σ) iff ∀i ∈ N viol(σ, i) ⇒ managed(σ, i) From property 29, we deduce that a trace σ is not compliant iff ∃i ∈ N (strong(σ, i) ∨ unexpected(σ, i) ∨ never_caught(σ, i)). Compatibility vs compliance In order to compare both notions of compatibility and compliance, we first have to consider the policy as an SEDLT L-formula: • → is interpreted as usual implication: ⇒., • is interpreted as ’implies next’: ⇒ X • Ô(ϕev ) is interpreted as ϕev , • other operators already belong to SED-LT L, • a policy is interpreted as G ϕ, where ϕ is the conjunction of its rules. Property 30 (Compatibility vs compliance). Let σ be a state/event sequence, pol a policy (set of Lrule -formulas) and ϕpol its SED-LT L translation. σ is compatible with the ϕpol iff every transition in σ is not ultimately strong with respect to pol. Sketch of the proof. Let pol a policy (set of Lrule -formulas) and ϕpol its SED-LT L translation. ’⇒’: Let σ be a state/event sequence and i ∈ N a non negative integer such that strong(σ, i). There is a triggered sequence of sanctions new inh inh (O inh k , O k )k∈0..N such that O N = Ô(ϕN ) and σ, i+N +1 |= ¬ϕN . It inh new can be shown that (σ, i+k +1), ϕk ∧ϕk is obligatory in the ’combination’ of the system and the policy (cf definition 60, section 6.2.2) for every k < N . ∧ ϕnew In other words, every ’deontic extension’ of σ satisfies O(ϕinh k k ) in inh new state i + k + 1, i.e., σ, i + k + 1 |=pol O exp (ϕk ∧ ϕk ). Similarly, since Ô(ϕ) is interpreted as ϕ, every ’deontic extension’ of σ which satisfies ϕpol , satisfies ϕinh N in sate i+k+N +1. So, there cannot be any ’deontic extension’ of σ which satisfies ϕpol . So, σ is not compatible with ϕpol . 124 CHAPTER 6. COMPUTER SECURITY APPLICATION ’⇐’: Let σ be a state/event sequence which is not compatible with the policy. There is no ’deontic extension’ of σ which satisfies ϕpol . So, a conflict prevents from satisfying ϕpol with a temporal deontic model ’based’ on σ. Since there is no negative event formulas in the policy, there cannot be any obligation/prohibition conflict which would be in contradiction with axiom D, and there cannot be any contradiction with axiom K either. Since there is no negation of obligation and no negation of permission, there cannot be any permission/prohibition conflict. The only kind of rules which may cause a conflict is the rules where the consequent if a strong obligation of the form Ô(ϕev ), interpreted as ϕev in SED-LT L. This is exactly the conflict which arises if an ultimately strong transition occurs. In the next section, we provide an algorithm which checks the compliance of a transition of a given a system with a policy. It also allows to provide a diagnostic. 6.4.3 Diagnostic algorithm We present an algorithm that analyses the system and the policy, to check whether the five following properties hold, given the current transition t: 1. There is no violation in t 2. For every trace which starts from t, t is managed 3. There is some trace which starts from t, such that t is ultimately strong 4. There is some trace which starts from t, such that t is ultimately unexpected 5. There is some trace which starts from t, such that t is never caught Preliminary definitions We refer to propositional logic, and suppose we have access to a decision procedure for the validity of any propositional formula. Given an LKS A = (S, S0 , Δ, V ) over the sets P and E of propositions and events, we call s the propositional formula that characterizes the atomic propositions that are true in s ∈ S, succ(s, E) the set of the possible successors of s after a transition labelled by E, and Out(s) the set of all the event sets that label an outgoing transition from s: def s = p∈V (s) def p∧ ¬p p∈V / (s) succ(s, E) = {s ∈ S / (s, E, s ) ∈ Δ} 6.4. BEYOND COMPATIBILITY 125 def Out(s) = {E ∈ 2E / ∃s ∈ S such that (s, E, s ) ∈ Δ} Since we analyse a whole system A, we have to adapt auxiliary definitions given in section 6.4.2 to the branching time case. These definitions will make algorithms more readable. W Obl(i), SObl(i), P erm(i) only concern the current state, so they can easily be re-defined as W Obl(s), SObl(s), P erm(s), respectively. W SancP (i) and SSancP (i) concern the current transition, so they have to be re-defined as W SancP (s, E) and SSancP (s, E). W Sanc0 (i, ϕ) and SSancO (i, ϕ) depend on the current transition and a given event formula (supposed to be obligatory), so they can be re-defined as W SancO (s, E, ϕev ) and SSancO (s, E, ϕev ) new respectively. ExistsSanc(i, O(ϕinh ev ), O (ϕev )) depends on the current transition, and on two given formulas (supposed to be the inherited part, and the ’new’ part of the current obligation). These re-definitions are given in figure 6.9. We use so me variables to “diagnose” the situation. no_viol is true until some violation occurs, strong_violation is false until some strong sanction is not fulfilled, unexpected_violation is false until some violation occurs for which no sanction is specified, and never_caught is false until some never caught violation is detected. The detection uses a variable po which records the triples (current state, current transition, parsed obligation). In order to have more precise information, we could provide the trace of the different rules that are triggered, but we do not consider such trace here for the sake of brevity. Algorithms Given a state s and an outgoing transition labeled by E, CheckT ransition(s, E) (algorithm 1) provides the above-mentioned diagnostic. It first initialises the four diagnostic variables. Then, if a violation occurs during the transition, it sets no_viol to false, computes the weak and strong sanctions, and call CheckSanction (algorithm 2) on the next possible transitions in order to recursively check that the sanctions are fulfilled. CheckT ransition then returns the four variables that provide a diagnostic. CheckSanction(s, E, inh, new, so) (algorithm 2) aims at checking that the current transition complies with the sanctions which are triggered by the initial transition (on which CheckT ransition was called). inh is the set of the weakly obligatory formulas which are inherited from previous violations. It corresponds to the inherited part of the sanction in the triggered sequence of sanctions. new is the set of the formulas which are weakly obligatory because of the current state, and because of the non-permitted events which occurred during the previous transition. It corresponds to the ’new’ part of the sanction in the triggered sequence of sanctions. so is the set of the strong obligations which are inherited from previous sanctions. Since a CHAPTER 6. COMPUTER SECURITY APPLICATION 126 def W Obl(s) = {φ / ∃(ϕp O(φ)) ∈ pol such that s ⇒ ϕp } def SObl(s) = {φ / ∃(ϕp Ô(φ)) ∈ pol such that s ⇒ ϕp } def P erm(s) = {E ⊆ E / ∃(ϕp P(ϕ ev )) ∈ pol s.t. |= ϕev ⇒ ( E ) and |= s ⇒ ϕp } def ( E) P erm(s) = E∈P erm(s) W SancP (s, E) such that SSancP (s, E) such that def = def {φ {φ = def W SancO (s, E, ϕev ) = such that def SSancO (s, E, ϕev ) = such that {φ {φ / ∃(ϕp ∧ V iolP (ϕev ) O(φ)) ∈ pol s ⇒ ϕp and ( E) ⇒ ϕev and P erm(s) ϕev } / ∃(ϕp ∧ V iolP (ϕev ) Ô(φ)) ∈ pol s ⇒ ϕp and ( E) ⇒ ϕev and (P erm(s)) ϕev } / ∃(ϕp ∧ V iolO (ϕev ) O (φ)) ∈ pol ϕev ⇒ ϕev and ( E) ϕev and s ⇒ ϕp } / ∃(ϕp ∧ V iolO (ϕev ) Ô (φ)) ∈ pol ϕev ⇒ ϕev and ( E) ⇒ ϕev and s ⇒ ϕp } def new ExistsSanc(s, O(ϕinh ev ), O (ϕev )) = ∃(ϕp ∧ V iolO (ϕev ) _) ∈ pol such that ϕinh ev ⇒ ϕev and s ⇒ ϕp and ( E) ϕev or ∃(ϕp ∧ V iolO (ϕev ) _) ∈ pol such that new ⇒ ϕ new ϕinh ev and ϕev ϕev and s ⇒ ϕp and ( E) ϕev ev ∧ ϕev Figure 6.9: Auxiliary definitions in the branching-time case 6.4. BEYOND COMPATIBILITY 127 Algorithm 1: CheckTransition (s, E, wo, so) /* initialization of diagnostic variables no_viol := true; strong_violation := f alse; po := ∅; unexpected_violation := f alse; never_caught := f alse; if ( E) W Obl(s) or P erm(s) ( E) then no_viol := f alse; wo := W SancO (s, W Obl(s)) ∪ W SancP (s, E); so := SSancO (s, W Obl(s)) ∪ SSancP (s, E); if wo = ∅ and so = emptyset then unexpected := true; else foreach s ∈ succ(s, E) and E ∈ Out(s ) do CheckSanction(s , E , wo, ∅, so); */ return (no_viol, strong, unexpected, never_caught) strong obligation can only appear at the last position in a triggered sequence of sanctions, there is no need to consider ’new’ strong obligations which may hold in the current state. Such a ’new’ strong obligation which may appear during a transition (s , E ) is dealt with by the call CheckT ransition(s , E ). If the current transition does not perform strongly obligatory events, then the variable strong is set to true. If the current transition performs the inherited part of the current obligation, then the algorithm terminates. If the set of inherited weak obligations inh is already parsed in the current state/transition pair, then the variable never_caught is set to true and the algorithm terminates. If inh is not already parsed, then the set po of the parsed obligations is increased with the triple (s, E, wo). If no sanction is specified, according to our criterion which depends on inh and new, then the variable unexpected is set to true, else, the algorithm checks whether the new sanctions are enforced in the next states calling itself recursively on every possible successor. Property 31 (Termination). CheckT ransition terminates. Sketch of the proof. There is no loop, and the only recursive call is in CheckSanction. The termination of CheckSanction is straightforward, because the set of triples (state, transition, obligation) is finite (finiteness of the set of rules implies finiteness of the set of possible obligations), and the set of triples for which the obligation is not parsed (the complementary of the set po) is strictly decreasing at each recursive call, which guarantees the termination. 128 CHAPTER 6. COMPUTER SECURITY APPLICATION Algorithm 2: CheckSanction (s, E, inh, new, so) if ( E) so then strong :=true; if ( E) ( inh) then if (s, E, inh) ∈ po then never_caught := true; else po := po ∪ {(s, E, inh)}; new := wo ∪ W Obl(s); if ¬ExistsSanc(s, inh, new) then unexpected := true; else inh := W SancO (s, inh ∪ new); new := SSancP (s, E); so := SSanc(s, inh ∪ new); foreach s ∈ succ(s) and E ∈ Out(s ) do CheckSanction(s , E , inh, new, so); We now establish the soundness of CheckT ransition with respect to the definition of the diagnostic cases provided in section 6.4.2. Property 32 (Soundness). Given a system A = (S, S0 , Δ, V ), and a state s ∈ S, and an outing transition labeled by E ∈ Out(s) after the call of CheckT ransition(s, E), the following holds • no_viol = true iff for every state/event trace σ = (s, E, . . .) of A starting with s, E, no violation occurs during the first transition. • strong_violation, unexpected_violation, and never_caught all equal false iff for every state/event trace σ = (s, E . . .) of A starting with s, E, the first transition is managed: managed(σ, 0) • strong_violation = true iff there is some state/event trace σ = (s, E . . .) of A starting with s, E, such that strong(σ, 0) • unexpected_violation = true iff there is some state/event trace σ = (s, E, . . .) of A starting with s, E, such that unexpected(σ, 0) • never_caught = true iff there is some state/event trace σ = (s, E . . .) of A starting with s, E, such that never_caught(σ, 0) 6.4. BEYOND COMPATIBILITY 129 The proof is straightforward because the algorithm deals with concepts that are close to the semantics of the formal definitions. In particular, triggered sequences of sanctions are directly obtained from the successive values of inh, new, and so. 6.4.4 Concluding example In this section, we develop the aforementioned bank example and test the algorithm given in section 6.4.3. Figure 6.13 shows the output of this algorithm for some instances of a bank model. The bank system is modeled as an automaton that models the behaviour of a customer together with the state of his/her bank account. Let us remind that the sets P and E of atomic propositions and events are P = {positive} and E = {credit, debit, pay_charges, go_to_jail} debit debit credit s1 credit p s2 credit Figure 6.10: First example of a system debit debit credit s1 credit p s2 credit debit Figure 6.11: Second example of a system We consider the following policy: • credit, pay_charges, and go_to_jail operations are always permitted. → P (credit ∧ pay_charges ∧ go_to_jail) • When the balance is positive, it is permitted to perform a debit operation. positive → P (debit) • If the balance is negative, then it is obligatory to credit the account. ¬positive → O(credit) CHAPTER 6. COMPUTER SECURITY APPLICATION 130 debit debit credit credit s1 s2 p credit credit, pay _charges debit credit, pay _charges s4 debit s3 go_to_jail Figure 6.12: Third example of a system XX XXX variable XXX no_viol XXX system example2 example3 false false strong unexpected never_caught true false false false false false Figure 6.13: Output of CheckT ransition(s2 , {debit}) • If a debit operation is performed without permission, then it is obligatory to pay charges. V iolP (debit) O(pay_charges) • If an obligation to credit the account is violated, then it is obligatory to pay charges. V iolO (credit) O(pay_charges) • If an obligation to pay the charges is violated, the customer has a strong obligation to go to jail. V iolO (pay_charges) Ô(go_to_jail) The first system (Figure 6.10) is compliant with the policy, and never violates any obligation or prohibition (every trace σ satisfies ¬V iol(σ, i) for every i ∈ N). The second one (Figure 6.11) may clearly violate the obligation to credit the account in state s2 , if it performs event debit. Then, there is an obligation to pay charges, which can also be violated by performing again event debit. Then, there is a strong obligation to go to jail, which may be violated by performing debit, or also credit. So the second system is not compliant with the policy (a trace, for instance, which starts 6.4. BEYOND COMPATIBILITY 131 with σ = (s1 , {debit}, s2 , {debit}, s2 , {debit}, s2 , {debit}) satisfies the property strong(σ). The third one (Figure 6.12) is compliant but may violate some obligations: every trace satisfies viol(σ, i) ⇒ managed(σ, i) for every i ∈ N. For instance, a trace which starts with σ = (s1 , {debit}, s2 , {debit}) satisfies V iolO (credit) in its second state (σ, 1), but also satisfies managed(σ, 1). Figure 6.13 shows the value of diagnostic variables after the call of our algorithm on the transition starting from state s2 and labeled by {debit}. 132 CHAPTER 6. COMPUTER SECURITY APPLICATION 7 Conclusion 7.1 Summary The goal of this thesis was to propose a logical framework to deal with security properties. We have focused on the combination of deontic and temporal logics. The key interaction we have studied is the propagation of unfulfilled obligations. We have studied this interaction in the case of deadline obligations and for a more general form of obligations. We have then presented how such a logical framework can be useful for specifying and verifying security properties. Here are the main contributions of this work. • We have proposed semantic definitions for an operator dedicated to obligations with deadline in a combination (product) of temporal and deontic logics. This study showed that the semantic issues are more complex than expected. The last definition we came up with was satisfying, but the corresponding operator was out of the scope of the product language, and had a rather complex semantics. • We have then expressed a generalisation of the propagation of deadline obligations, which concerns a special temporal disjunction. To the best of our knowledge, this is the first time this general property has been studied. We have proposed a (semantically defined) logic which is a conservative extension of LT L and SDL, such that the propagation property is satisfied in every state where no ’immediate obligation’ is true. • We have exhibited a necessary and sufficient condition on an arbitrary temporal deontic model (based on an accessibility relation for each modality) to satisfy the propagation property. This condition showed that any such temporal deontic model which validates both axiom D and the propagation property has undesirable properties. 133 CHAPTER 7. CONCLUSION 134 • We have developed a tableaux-like decision procedure and an axiomatization for a fragment of our logic. They are based on a decomposition of the deontic operator into more primitive operators. • Using our logic as a security policy specification language, and a Labeled Kripke Structure to model a system, we have defined the notion of compatibility of a system with respect to a policy. We have proposed a decision procedure for the compatibility problem where the policy is specified in a fragment of our logic. A careful analysis showed that there are more subtle notions involved in the intuition of compliance, which is a strong version of compatibility. We have then restricted again the policy language and provided a definition of compliance. This definition has been refined into five diagnostic cases. We have then provided an algorithm to establish this diagnostic and thus check the compliance. 7.2 Future investigations Many future investigations are envisaged. In section 4.1, we did not consider decidability issues for the product LT L SDL enriched with deadline operators. Since decidability of the genuine product is complex to show, we have reasons to think that this open question is non trivial, and needs further studies. Several results are valid only for some restrictions of the temporal deontic language. A natural path for further investigations is to extend these results to a more powerful fragment, or even to the whole language. In chapter 5 we developed a decision procedure and an axiomatization for the until-free fragment of our logic. We plan to further investigate a tableaux method and an axiomatization for the whole logic. Concerning the security issues, we have also considered in section 6.3 a fragment of the logic in order to decide the compatibility of a system with respect to a policy. We only allowed propositional formulas in the scope of deontic operators. This restriction made it possible to use traditional techniques of temporal model checking, enriched with a standard deontic decision procedure. We need to investigate how far this approach could be extended if we allow nesting temporal operators inside deontic ones. Another possibility would be to use a temporal deontic decision procedure in order to check the compatibility. Indeed, let us remind that checking the compliance of a system with respect to a policy consists in checking for each trace, the existence of a ’deontic extension’ which satisfies the policy. Thus, checking compliance is somewhere between the satisfiability problem (we need to build a temporal deontic model which satisfies the policy) and the model checking problem (we need to check whether a given model ’satisfies’ a given formula, where ’satisfies’ means ’complies with’ in our case). 7.2. FUTURE INVESTIGATIONS 135 In section 6.4, we have restricted again the language in order to define the notion of compliance, and to check whether a given system complies with a policy. We have actually refined this concept into five diagnostic cases. Their definition involved complex notions and was out of the scope of our temporal deontic semantics. However, the comparison between compliance and compatibility, studied in section 6.4.2 established a connection with the semantic point of view adopted in sections 6.2 and 6.3. A natural extension would be to consider deadline obligations. Actually, we could easily extend our definitions and algorithms so that deadline obligations are propagated while they are not fulfilled. But then, the connection with the semantic point of view would not be possible. Indeed, let us remind that in our semantics, the propagation property is only true in the states which do not violate any immediate obligation. Moreover, section 4.2.3 showed that when immediate violations occur, problems are inevitable in a model which interpret temporal and deontic modalities with an accessibility relation. We then come to the following question: is it possible to consider a temporal deontic logic, with a non-classical deontic operator, such that the propagation property does not conflict with situations of ’immediate violations’ ? In this thesis, we have considered neither entities who give obligations, nor those who are concerned by obligations. In some works [128], deontic operators are indexed with the concerned agent: O a (ϕ) then means that agent a is obliged to satisfy ϕ. Another lead is to follow the idea of temporal logics of agency [123], such as AT L [10, 11] and ST IT logics [20, 71]. These logics can handle some interactions between agents. In particular, it is possible to express that a given group of agents can ensure a property. Horty developed in [71] a deontic logic in a STIT framework. It would be interesting to integrate these aspects in our context of propagation of obligations. 136 CHAPTER 7. CONCLUSION Conclusion Bilan Le but de cette thèse était de proposer un cadre logique pour spécifier des politiques de sécurité. Nous nous sommes intéressés à la combinaison des logiques déontique et temporelle. L’interaction clé que nous avons étudiée est la propagation des obligations non remplies. Nous avons étudié cette interaction dans le cas des obligations avec délai, ainsi que pour une forme plus générale d’obligations. Nous avons ensuite présenté comment un tel cadre logique pouvait être utile à la spécification et la vérification de propriétés de sécurité. Voici les principales contributions de ce travail. – Nous avons proposé plusieurs définitions sémantiques pour un opérateur dédié à l’obligation avec délai dans le contexte d’un produit de logiques temporelle et déontique. Cette étude nous a montré que pour avoir des propriétés satisfaisantes, la sémantique d’un tel opérateur doit être complexe. Notre définition la plus satisfaisante sors même du cadre de la logique produit. – Nous avons ensuite exprimé une généralisation de la propriété de propagation, qui concerne une disjonction temporelle particulière. A notre connaissance, c’est la première fois que cette propriété générale est étudiée. Nous avons proposé une logique, définie de manière sémantique, qui est une extension conservative de LT L et SDL, telle que la propriété de propagation est satisfaite dans tous les états dans lesquels aucune obligation immédiate n’est vraie. – Nous avons exhibé une condition nécessaire et suffisante sur un modèle temporel et déontique quelconque pour satisfaire la propriété de propagation. Cette condition montre que tout modèle temporel et déontique qui satisfait à la fois l’axiome D et la propriété de propagation a des conséquences indésirables. 137 CHAPTER 7. CONCLUSION 138 – Nous avons développé une procédure de décision basée sur une méthode des tableaux et une axiomatisation pour un fragment de notre logique. Elles sont basées sur la décomposition de l’opérateur déontique en opérateurs plus primitifs. – En utilisant notre logique pour spécifier une politique de sécurité, et une structure de Kripke avec labels pour modéliser un système, nous avons défini la notion de compatibilité d’un système vis à vis d’une politique. Nous avons proposé une procédure de décision pour le problème de compatibilité, si la politique est spécifiée dans un fragment de notre logique. Une analyse minutieuse a montré que des notions subtiles sont en jeu dans la notion intuitive de conformité, qui est une version plus forte de la compatibilité. Nous avons ensuite restreint à nouveau le langage de spécification d’une politique et proposé une définition de la conformité. Cette définition a été raffinée en cinq cas de diagnostic. Nous avons ensuite fourni un algorithme pour établir ce diagnostic et donc vérifier la conformité. Perspectives De nombreuses pistes de recherche sont envisagées. Dans la section 4.1, nous n’avons pas étudié la décidabilité du produit LT L SDL enrichi par l’opérateur d’obligation avec délai. Étant donné que la décidabilité du produit est difficile à montrer (la complexité est non élémentaire), nous avons des raisons de penser que cette question ouverte est non triviale, et nécessite une étude approfondie. Plusieurs résultats que nous avons établis ne sont valables que pour des restrictions du langage temporel déontique. Une voix de recherche naturelle est donc d’étendre ces résultats à un fragment plus riche, ou éventuellement à tout le langage. Dans le chapitre 5, nous avons par exemple développé une procédure de décision et une axiomatisation pour le fragment sans until de notre logique. Nous prévoyons d’étudier à la fois les tableaux et une axiomatisation pour la logique entière. En ce qui concerne les questions de décidabilité, nous avons considéré dans la section 6.3 un fragment de la logique de manière à pouvoir décider la compatibilité d’un système vis à vis d’une politique. Nous avons seulement autorisé les formules propositionnelles dans le champ des opérateurs déontiques. Cette restriction a rendu possible l’utilisation de techniques traditionnelles de model checking. Nous devons étudier à quel point cette approche pourrait être étendue si nous autorisons des formules temporelles dans le champ des opérateurs déontiques. Une autre possibilité serait d’utiliser une procédure de décision temporelle déontique pour vérifier la compatibilité. En effet, rappelons-nous que la vérification de la compatibilité d’un système vis à vis d’une politique consiste à vérifier que pour chaque trace, il existe un 7.2. FUTURE INVESTIGATIONS 139 «extension déontique» qui satisfait la politique. Donc, la vérification de la conformité se situe entre le problème de satisfiabilité (il faut construire un modèle temporel déontique qui satisfait la politique) et le problème de model checking (il s’agit de vérifier qu’un modèle donné «satisfait» une certaine formule, où «satisfait» veut dire «est compatible avec» dans notre cas. Dans la section 6.4, nous avons restreint à nouveau le langage de manière à pouvoir définir la notion de conformité, et vérifier qu’un système est conforme à une politique. Nous avons en fait raffiné ce concept en cinq cas de diagnostic. Leur définition a mis en jeu des notions complexes qui sortent du cadre de notre sémantique temporelle déontique. Cependant, la comparaison entre compatibilité et conformité, étudiée dans la section 6.4.2 a établi des liens avec le point de vue sémantique adopté dans les sections 6.2 et 6.3. Une extension naturelle serait de considérer les obligations avec délai. En fait, nous pourrions facilement étendre nos définitions et algorithmes de manière à ce que les obligations avec délai soient propagées tant qu’elles ne sont pas remplies. Mais le lien avec le point de vue sémantique ne serait alors plus possible. En effet, rappelons-nous que dans notre sémantique, la propagation n’est valide que dans les états qui ne violent pas d’obligation immédiate. De plus, la section 4.2.3 a montré que lorsque qu’une violation immédiate a lieu, alors des conséquences indésirables sont inévitables dans un modèle qui interprète les modalités temporelles et déontiques avec des relations d’accessibilité. Nous arrivons alors à la question suivante : est-il possible de considérer une logique temporelle déontique, munie d’un opérateur déontique non classique, telle que la propriété de propagation ne soit pas en conflit avec les situations de «violations immédiates» ? Dans cette thèse, nous n’avons considéré ni les entités qui donnent les obligations, ni celles qui les subissent. Dans certains travaux [128], les opérateurs déontiques sont indexés par les agents concernés : O a (ϕ) signifie alors que l’agent a a l’obligation de satisfaire ϕ. Une autre piste consiste à suivre l’idée des logiques temporelles avec agents [123], comme AT L [10, 11] ou les logiques ST IT [20, 71]. Ces logiques permettent de prendre en compte certaines interactions entre les agents. En particulier, il est possible d’exprimer qu’un certain groupe d’agents peut garantir une propriété. Horty a développé dans [71] une logique déontique dans un cadre STIT. Il serait intéressant d’intégrer ces aspects dans notre contexte de propagation des obligations. 140 CHAPTER 7. CONCLUSION A Proofs of section 4.1.4 A.1 Proofs of property 11 Let us remind the definition of Ok . Definition 69 (Obligation with deadline). O(ϕ) if k = 0 def Ok (ϕ) = O(Fk ϕ) ∧ ((¬ϕ ∨ O(¬ϕ)) ⇒ X Ok−1 (ϕ)) otherwise Property. The monotonicity property with respect to the obligatory formula holds: |= Ok (ϕ1 ∧ ϕ2 ) ⇒ Ok (ϕ1 ) Proof. Let i ∈ N, w ∈ W . i, w |= O0 (ϕ1 ∧ ϕ2 ) ⇒ O0 (ϕ1 ). Recursion hypothesis on k: |= Ok (ϕ1 ∧ ϕ2 ) ⇒ Ok (ϕ1 ). Let i ∈ N, w ∈ W . Suppose that i, w |= Ok+1 (ϕ1 ∧ ϕ2 ). Then, i, w |= O(Fk+1 ϕ1 ∧ ϕ2 ) ∧ (¬ϕ1 ∨ ¬ϕ2 ∨ O (¬ϕ1 ∨ ¬ϕ2 )) ⇒ XOk (ϕ1 ∧ ϕ2 ). Thus, i, w |= O(Fk+1 ϕ1 ). Moreover, suppose that i, w |= (¬ϕ1 ∨ O(¬ϕ1 )). We can deduce i, w |= ¬ϕ1 ∨ ¬ϕ2 ∨ O(¬ϕ1 ∨ ¬ϕ2 ), and thus i, w |= XOk (ϕ1 ∧ ϕ2 ). From the recursion hypothesis we have that i + 1, w |= Ok (ϕ1 ), i.e., i, w |= X Ok (ϕ1 ). So, i, w |= Ok+1 (ϕ1 ). Property. The ’perfect recall’ property holds: |= Ok (Xϕ) ⇒ XOk (ϕ) Proof. Let i ∈ N, w ∈ W . Since the ’perfect recall’ property for O holds, then i, w |= O0 (Xϕ) ⇒ XO0 (ϕ). Recursion hypothesis on k: |= Ok (Xϕ) ⇒ XOk (ϕ) Let i ∈ N, w ∈ W . Suppose that i, w |= Ok+1 (Xϕ). Since X commutes with O, Fk , and distributes on ∧ and ∨, then i, w |= X (O (Fk+1 ϕ) ∧ ((¬ϕ ∨ O (¬ϕ)) ⇒ Ok (Xϕ))). From the recursion 141 APPENDIX A. PROOFS OF SECTION 4.1.4 142 hypothesis, we deduce that i, w |= X (O (Fk+1 ϕ) ∧ ((¬ϕ ∨ O(¬ϕ)) ⇒ XOk (ϕ))), i.e., i, w |= XOk+1 (ϕ). A.2 Proofs of property 12 Let us first remind the definition of Ok . (i, w) |= Ok (ϕ, k ) iff (i − k , w) |= OFk+k ϕ and (i − k , w) O Fk+k −1 ϕ and ∀j ∈ N if i − k j < i then (j,w) |= ¬ϕ ∨ O(¬ϕ) To prove the properties, we will use a recursive definition of the operator Ok . Definition 70 (Recursive definition). (i, w) |= Okr (ϕ) iff (i, w) |= OFk ϕ ∧ ¬OFk−1 ϕ r ϕ ∧ (O¬ϕ ∨ ¬ϕ) or (i − 1, w) |= Ok+1 Property. Both definitions Ok et Okr are equivalents. Proof Let w ∈ W . Let k ∈ N, and ϕ a formula, then (0, w) |= Ok ϕ iff (0, w) |= Okr ϕ since both are equivalents to (0, w) |= O(Fk ϕ) ∧ ¬O(Fk−1 ϕ). Recursion hypothesis on i : For every k ∈ N, ϕ formula, (i, w) |= Ok ϕ iff (i, w) |= Okr ϕ. Suppose that the recursion hypothesis is true for i. Let k ∈ N. Suppose that (i + 1, w) |= Ok ϕ. Then ∃k0 ∈ N such that (1) (i + 1 − k0 , w) |= OFk+k0 ϕ (2) (i + 1 − k0 , w) OFk+k0 −1 ϕ (3) ∀ i + 1 − k0 j < i + 1(j, w) |= O (¬ϕ) ∨ ¬ϕ If k0 = 0 then (i + 1, w) |= OFk ϕ ∧ ¬OFk−1 ϕ. r ϕ ∧ (O (¬ϕ) ∨ ¬ϕ). Indeed, (i, w) |= If k0 = 0, then (i, w) |= Ok+1 O(¬ϕ) ∨ ¬ϕ from (3). And (i, w) |= Ok ϕ, since if k0 > 0, the definition of Ok+1 ϕ holds at point (i, w) with k0 − 1 in the role of k . From the recursion r ϕ. hypothesis, we have (i, w) |= Ok+1 r Thus, (i + 1, w) |= Ok ϕ. Suppose now that (i + 1, w) |= Okr ϕ. Then (1) either (i + 1, w) |= O Fk ϕ ∧ ¬OFk−1 ϕ r ϕ ∧ (O(¬ϕ) ∨ ¬ϕ) (2) either (i, w) |= Ok+1 A.2. PROOFS OF PROPERTY 12 143 If (1) then (i + 1, w) |= Ok ϕ, since the definition of Ok ϕ stands at with 0 in the role of k . r ϕ. From the recursion hypothesis, we If (2) then we have (i, w) |= Ok+1 deduce (i, w) |= Ok+1 ϕ. (2) also implies (i, w) |= (O(¬ϕ) ∨ ¬ϕ. So we have (i, w) |= Ok+1 ϕ ∧ (O (¬ϕ) ∨ ¬ϕ). From the properties of Ok , we deduce (i + 1, w) |= Ok ϕ. Property. |= Ok (Xϕ) ⇒ XOk (ϕ) Proof Let w ∈ W . ∀k ∈ N, (0, w) |= Ok (Xϕ) ⇒ XOk (ϕ). Indeed (0, w) |= Ok (Xϕ) iff (0, w) |= OFk Xϕ ∧ ¬OFk−1 Xϕ. X commutes with O, with Fk , and with ¬, we have (1, w) |= O Fk ϕ ∧ ¬OFk−1 ϕ. It follows (0, w) |= XOk (ϕ). Recursion hypothesis on i : For every k ∈ N, ϕ formula, (i, w) |= Ok (Xϕ) ⇒ XOk (ϕ). Let k ∈ N. Suppose (i + 1, w) |= Ok (Xϕ). Then (1) either (i + 1, w) |= OFk Xϕ ∧ ¬OFk−1 Xϕ (2) or (i, w) |= Ok+1 Xϕ ∧ (O (¬Xϕ) ∨ ¬Xϕ) If (1) then (i + 1, w) |= XOk (ϕ) in the same way as for the case i = 0. If (2), then the recursive hypothesis allows to deduce (i, w) |= XOk+1 (ϕ). Moreover (i, w) |= O (¬Xϕ) ∨ ¬Xϕ, then (i + 1, w) |= O(¬ϕ) ∨ ϕ. So, (i + 1, w) |= Ok+1 (ϕ) ∧ (O(¬ϕ) ∨ ϕ). From the definition of Ok , we have (i + 2, w) |= Ok (ϕ), i.e. (i, w) |= XOk (ϕ). Property. XOk (ϕ) ⇒ Ok (Xϕ) Figure A.1 shows a counter-example that invalidates the property (the first state satisfies XO1 (p) ∧ ¬O1 (Xp)). Property (Propagation property). |= Ok (ϕ) ∧ (O(¬ϕ) ∨ ¬ϕ) ⇒ XOk−1 (ϕ) Proof : Let w ∈ W , and k ∈ N. If (0, w) |= Ok ∧ (O (¬ϕ) ∨ ¬ϕ), then the definition of Ok−1 (ϕ) stands at state (1, w). Therefore, (0, w) |= Ok (ϕ) ∧ (O(¬ϕ) ∨ ¬ϕ) ⇒ XOk−1 (ϕ). Recursion hypothesis on i : For every k ∈ N, ϕ formula, (i, w) |= (Ok (ϕ) ∧ (O(¬ϕ) ∨ ¬ϕ)) ⇒ XOk−1 (ϕ). Let k ∈ N. Suppose that (i + 1) |= Ok (ϕ) ∧ (O (¬ϕ) ∨ ¬ϕ). The definition of Ok−1 (ϕ) stands at point (i + 2, w). So (i + 1) |= XOk−1 (ϕ). APPENDIX A. PROOFS OF SECTION 4.1.4 144 p p ¬p O2(p) ¬O1(Xp) O1(p) Figure A.1: Counter-example for the ’no learning’ property Bibliography [1] M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–284, 1991. [2] A. Abou El Kalam, R. E. Baida, P. Balbiani, S. Benferhat, F. Cuppens, Y. Deswarte, A. Miège, C. Saurel, and G. Trouessin. Organization based access control. In IEEE 4th International Workshop on Policies for Distributed Systems and Networks (Policy 2003), Lake Come, Italy, June 2003. [3] B. Alpern and F. B. Schneider. Recognizing safety and liveness. Distributed Computing, 2(3):117–126, 1987. [4] R. Alur. Techniques for automatic verification of real-time systems. PhD thesis, Stanford University, 1991. [5] R. Alur, C. Courcoubetis, and D. Dill. Model-checking for real-time systems. In Proceedings of the 5th Symposium on Logic in Computer Science (LICS’90), pages 414–425. IEEE Computer Society Press, 1990. [6] R. Alur and D. Dill. A theory of timed automata. Theoretical Computer Science, 126(2):183–235, 1994. [7] R. Alur, T. Feder, and T. Henzinger. The benefits of relaxing punctuality. Journal of the ACM, 43(1):116–146, 1996. [8] R. Alur and T. Henzinger. Real-time logics: complexity and expressiveness. In Proceedings of the 5th Symposium on Logic in Computer Science (LICS’90), pages 390–401. IEEE Computer Society Press, 1990. 145 146 BIBLIOGRAPHY [9] R. Alur and T. A. Henzinger. A really temporal logic. Journal of the ACM, 41:181–204, 1994. [10] R. Alur, T. A. Henzinger, and O. Kupferman. Alternating-time temporal logic. In Proceedings of the 38th Annual Symposium on Foundations of Computer Science, pages 100–109. IEEE Computer Society Press, 1997. [11] R. Alur, T. A. Henzinger, and O. Kupferman. Alternating-time temporal logic. Journal of the ACM, 49:672–713, 2002. [12] L. Aqvist. Some results on dyadic deontic logic and the logic of preference. Synthese, 66:95–110, 1986. [13] L. Aqvist. Combinations of tense and deontic logic. Journal of Applied Logic, 3:421–460, 2005. [14] A. Arnold. Finite transition systems. Prentice-Hall, 1994. [15] P. Bailhache. The deontic branching time: two related conceptions. Logique et Analyse, 141-142:159–175, 1993. [16] P. Bailhache. Canonical models for temporal deontic logic. Logique et Analyse, pages 3–21, 1995. [17] P. Balbiani, J. Broersen, and J. Brunel. Decision procedures for a deontic logic modeling temporal inheritance of obligations. In Proc. of 5th workshop Methods for Modalities (M4M5), Electronic Notes in Theoretical Computer Science. Elsevier, November 2007. [18] P. Balbiani and D. Vakarelov. Iteration-free pdl with intersection: a complete axiomatization. Fundamenta Informaticae, 45(3):173–194, 2001. [19] J. Büchi. On a decision method in restricted second-order arithmetic. In Proc. 1960 of Int. Congr. for Logic, Methodology, and Philosophy of Science, pages 1–11. Standford University Press, 1962. [20] N. Belnap and M. Perloff. Seeing to it that: a canonical form for agentives. Theoria, 54:175–199, 1988. [21] E. Bertino, B. Catania, E. Ferrari, and P. Perlasca. A Logical Framework for Reasoning about Access Control Models. ACM Transactions on Information and System Security, 6(1), February 2003. [22] C. Bettini, S. Jajodia, X. S. Wang, and D. Wijesekera. Obligation Monitoring in Policy Management. In International Workshop, Policies for Distributed Systems and Neworks (Policy 2002), Monterey CA, June 5–7 2002. BIBLIOGRAPHY 147 [23] P. Blackburn, M. de Rijke, and Y. Venema. Modal Logic. Cambridge University Press, 2001. [24] P. Bouyer, F. Chevalier, and N. Markey. On the expressiveness of tptl and mtl. In R. Ramanujam and S. Sen, editors, 25th Conference on Fundations of Software Technology and Theoretical Computer Science (FSTTCS’05), volume 3821 of Lecture Notes in Computer Science, pages 432–443, 2005. [25] P. Bouyer and A. Petit. Decomposition and composition of timed automata. In J. Wiedermann, P. van Emde Boas, and M. Nielsen, editors, Proceedings of the 26th International Colloquium on Automata, Languages and Programming (ICALP’99), volume 1644 of Lecture Notes in Computer Science, pages 210–219, Prague, Czech Republic, July 1999. Springer. [26] M. Bratman. Intention, plans, and practical reason. Harvard University Press, Cambridge Massachussetts, 1987. [27] J. Broersen. Strategic deontic temporal logic as a reduction to ATL, with an application to Chisholm’s scenario. In L. Goble and J.-J. C. Meyer, editors, Proc. of 8th International Workshop on Deontic Logic in Computer Science (DEON’06), volume 4048 of Lecture Notes in Computer Science, pages 53–68. Springer, 2006. [28] J. Broersen and J. Brunel. Preservation of obligations in a temporal and deontic framework. In E. H. Durfee and M. Yokoo, editors, Proc. of 6th International Joint Conference on Autonomous Agents & Multi Agent Systems (AAMAS-07), Honolulu, Hawaii, USA, pages 1108– 1110, http://www.acm.org/, 2007. ACM Press. short paper. [29] J. Broersen and J. Brunel. ‘What I fail to do today, I have to do tomorrow’: a logical study of the propagation of obligations. In F. Sadri and K. Satoh, editors, Proceedings of the 8th Workshop on Computational Logic in Multi-Agent Systems (CLIMA-VIII), Porto, Portugal, September 2007. [30] J. Broersen, F. Dignum, V. Dignum, and J.-J. C. Meyer. Designing a deontic logic of deadlines. In 7th International Workshop on Deontic Logic in Computer Science (DEON’04), Madeira, Portugal, 26-28 May 2004. [31] J. Brunel. Deontic logic for the specification of availability policies. In 6th school on Modeling and Verifying Parallel Processes (MOVEP’04), pages 40–45, 2004. students’ paper. 148 BIBLIOGRAPHY [32] J. Brunel, J.-P. Bodeveix, and M. Filali. A state/event temporal deontic logic. In L. Goble and J.-J. C. Meyer, editors, Proc. of 8th International Workshop on Deontic Logic in Computer Science (DEON’06), volume 4048 of Lecture Notes in Computer Science, pages 85–100. Springer, 2006. [33] J. Brunel, F. Cuppens, N. Cuppens-Boulahia, T. Sans, and J.-P. Bodeveix. Security Policy Compliance with Violation Management. In Proc. of the 5th ACM Workshop on Formal Methods in Security Engineering: From Specifications to Code, Washingthon, USA, pages 31–40. ACM Press, novembre 2007. [34] A. Chagrov and M. Zakharyaschev. Modal Logic, volume 35 of Oxford Logic Guides. Clarendon Press, 1997. [35] S. Chaki, E. Clarke, O. Grumberg, J. Ouaknine, N. Sharygina, T. Touili, and H. Veith. State/event software verification for branchingtime specifications. In Fifth International Conference on Integrated Formal Methods (IFM 05), volume 3771 of Lecture Notes in Computer Science, pages 53–69, 2005. [36] S. Chaki, E. M. Clarke, J. Ouaknine, N. Sharygina, and N. Sinha. State/event-based software model checking. In E. A. Boiten, J. Derrick, and G. Smith, editors, Proceedings of the 4th International Conference on Integrated Formal Methods (IFM ’04), volume 2999 of Lecture Notes in Computer Science, pages 128–147. Springer-Verlag, April 2004. [37] R. M. Chisholm. Contrary-to-duty imperatives and deontic logic. Analysis, 24(2):33–36, December 1963. [38] E. Clarke and E. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Proceedings of the 3rd Workshop of Logic of Programs (LOP’81), volume 131 of Lecture Notes in Computer Science, pages 52–71, 1981. [39] E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999. [40] E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244– 263, 1986. [41] F. Cuppens, N. Cuppens-Boulahia, and T. Sans. Nomad: a security model with non atomic actions and deadlines. In Proceedings of the 18th IEEE Computer Security Foundations Workshop, pages 186–196, June 2005. BIBLIOGRAPHY 149 [42] F. Cuppens and A. Miège. Modelling Contexts in the Or-BAC Model. In 19th Annual Computer Security Applications Conference (ACSAC ’03), 2003. [43] R. Demolombe, P. Bretier, and V. Louis. Formalisation de l’obligation de faire avec délais. In Proc. Journées Francophones sur la modélisation Formelle de l’Interaction (MFI’05), Caen, 2005. [44] S. Demri. Linear-time temporal logics with Presburger constraints: An overview. Journal of Applied Non-Classical Logics, 16(3-4):311– 347, 2006. [45] S. Demri, R. Lazić, and D. Nowak. On the freeze quantifier in constraint LTL: Decidability and complexity. Information and Computation, 205(1):2–24, 2007. [46] F. Dignum and R. Kuiper. Obligations and dense time for specifying deadlines. In Thirty-First Annual Hawaii International Conference on System Sciences (HICSS)-Volume 5, pages 186–195, 1998. [47] C. Dixon, M.-C. F. Gago, M. Fisher, and W. v. d. Hoek. Temporal logics of knowledge and their applications in security. Electronic Notes in Theoretical Computer Science, 186:27–42, 2007. [48] J. A. V. Eck. A System of Temporally Relative Modal and Deontic Predicate Logic and its Philosophical Applications. PhD thesis, Department of Philosophy, University Groningen, 1981. [49] J. A. V. Eck. A system of temporally relative modal and deontic predicate logic and its philosophical applications. Logique et Analyse, 99 and 100:249–290 and 339–381, 1982. [50] E. Emerson and J. Halpern. "sometimes" and "not never" revisited: On branching versus linear time temporal logic. Journal of the ACM, 33(1):151–178, january 1986. [51] E. A. Emerson and J. Y. Halpern. Decision procedure and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences, 30(1):1–24, 1985. [52] E. A. Emerson and A. Sistla. Deciding full branching time logic. Informationand Control, 61:175–201, 1984. [53] R. Fagin, J. Halpern, Y. Moses, and M. Vardi. Reasoning about Knowledge. The MIT Press, 1995. [54] L. Fariñas del Cerro and O. Gasquet. Tableaux based decision procedures for modal logics of confluence and density. Fundamenta Informaticae, 4:317–333, 1999. 150 BIBLIOGRAPHY [55] M. Fitting. Proof Methods for Modal and Intuitionistic Logics, volume 169 of Synthese library. D. Reidel Publishing Company, 1983. [56] D. Gabbay. Theoretical foundations for non-monotonic reasoning in expert systems. In K. Apt, editor, Logics and models of concurrent systems, volume 13, pages 439–457. Springer-Verlag, 1989. [57] D. Gabbay, A. Kurucz, F. Wolter, and M. Zakharyachev. ManyDimensional Modal Logics: Theory and Applications, volume 148 of Studies in Logic and the foundations of mathematics. Elsevier, 2003. [58] D. Gabbay, A. Pnueli, S. Shelah, and J. Stavi. On the temporal analysis of fairness. In Conference record of the 7th ACM Symposium on Principles of Programming Languages (POPL’80), pages 163–173. ACM Press, 1980. [59] D. M. Gabbay, I. Hodkinson, and M. Reynolds. Temporal logic (vol. 1): mathematical foundations and computational aspects. Oxford University Press, Inc., New York, NY, USA, 1994. [60] P. Gastin and D. Oddoux. Fast LTL to Büchi automata translation. In G. Berry, H. Comon, and A. Finkel, editors, Proceedings of the 13th Conference on Computer Aided Verification (CAV’01), number 2102 in Lecture Notes in Computer Science, pages 53–65. Springer Verlag, 2001. [61] R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification of linear temporal logic. In Protocol Specification Testing and Verification, pages 3–18, Warsaw, Poland, 1995. Chapman & Hall. [62] B. Hansson. An analysis of some deontic logics. Deontic Logic: Introductory and Systematic Readings, pages 121–147, 1971. [63] D. Harel, D. Kozen, and J. Tiuryn. Dynamic logic. In D. Gabbay and F. Guenther, editors, Handbook of Philosophical Logic Volume II — Extensions of Classical Logic, pages 497–604. D. Reidel Publishing Company: Dordrecht, The Netherlands, 1984. [64] M. A. Harrison, W. L. Ruzzo, and J. D. Ullma. Protection in operating systems. In Communication of the ACM, volume 19, pages 461–471, 1976. [65] J. G. Henriksen and P. S. Thiagarajan. Dynamic linear time temporal logic. Annals of Pure and Applied Logic, 96(1-3):187–207, 1999. [66] T. A. Henzinger, Z. Manna, and A. Pnueli. What good are digital clocks? In 9th International Colloquium on Automata, Languages and BIBLIOGRAPHY 151 Programming (ICALP’92), volume 623 of Lecture Notes in Computer Science, pages 545–558, 1992. [67] G. Het, G. Khan, and C. Paulin-Mohring. The coq proof assistant, a tutorial. Technical report, INRIA Rocquencourt and CNRS-ENS Lyon, 1999. [68] R. Hilpinen, editor. New Studies in Deontic Logic, volume 152 of Synthese Library. D. Reidel publishing company, 1981. [69] J. Hintikka. The modes of modality. Acta Philosophica Fennica, 16:65– 82, 1963. [70] G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–295, 1997. [71] J. Horty. Agency and Deontic Logic. Oxford University Press, 2001. [72] J. Horty. Nonmonotonic logic. In L. Goble, editor, The Blackwell Guide to Philosophical Logic. Blackwell Publishing, 2001. [73] S. Jajodia, S. Samarati, and V. S. Subrahmanian. A logical Language for Expressing Authorizations. In IEEE Symposium on Security and Privacy, Oakland, CA, May 1997. [74] H. W. Kamp. Tense Logic and the Theory of Linear Order. PhD thesis, UCLA, Los Angeles, California, USA, 1968. [75] R. Koymans. Specifying real-time properties with metric temporal logic. Real-Time Systmes, 2(4):255–199, 1990. [76] M. Kracht and F. Wolter. Properties of independently axiomatizable bimodal logics. Journal of Symbolic Logic, 56:1469–1485, 1991. [77] S. Kripke. Semantical analysis of modal logic I: Normal modal propositional calculi. Zeitschrift für Mathematische Logik und Grundlagen der Mathematik, 9:67–96, 1963. [78] S. Kripke. Semantical considerations on modal logic. Acta Philosophica Fennica, 16:83–9, 1963. [79] O. Kupferman and A. Pnueli. Once and for all. In Procedures of the 10th Symposium on Logic in Computer Science (LICS’95), pages 25–35, San Diego, June 1995. [80] A. Kurucz. Combining modal logics. In J. van Benthem, P. Blackburn, and F. Wolter, editors, Handbook of Modal Logic, volume 3 of Studies in Logic and Practical Reasoning, pages 869–924. Elsevier, 2006. 152 BIBLIOGRAPHY [81] R. E. Ladner. The computational complexity of provability in systems of modal propositional logic. SIAM Journal on Computing, 6(3):467– 480, 1977. [82] L. Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering, SE-3(2):125–143, 1977. [83] F. Laroussinie, N. Markey, and P. Schnoebelen. Temporal logic with forgettable past. In Proceedings of the 17th Symposium on Logic in Computer Science (LICS’02), pages 383–392. IEEE Comp. Soc. Press, 2002. [84] F. Laroussinie and P. Schnoebelen. Specification in ctl + past for verification in ctl. Information and Computation, 156(1-2):236–263, 2000. [85] O. Lichtenstein and A. Pnueli. Propositional temporal logics: decidability and completeness. Logic Journal of the IGPL, 8(1):55–85, 2000. [86] O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In G. Goos and J. Hartmanis, editors, Lecture Notes in Computer Science, volume 193, pages 196–218. Springer-Verlag, 1985. conf. Logics of Programs. [87] J. Ligatti, L. Bauer, and D. Walker. Edit automata: enforcement mechanisms for run-time security policies. International Journal of Information Security, 4(1):2–16, 2004. [88] A. Lomuscio and M. Sergot. Deontic interpreted systems. Sudia Logica, 75(1):63–92, 2003. [89] A. Lomuscio and M. Sergot. A formalisation of violation, error recovery, and enforcement in the bit transmission problem. Journal of Applied Logic, 2(93):93–116, 2004. [90] E. Mally. Grundgesetze des sollens: Elemente der logik des willens. Graz: Leuschner und Lubensky, Universitäts-Buchhandlung, 1926. [91] Z. Manna and A. Pnueli. The anchored version of the temporal framework. In J. de Bakker, W. de Roever, and G. Rosenberg, editors, Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 201–284. Springer-Verlag, 1989. [92] F. Massacci. Single step tableaux for modal logics. Journal of Automated Reasoning, 24:319–364, 2000. [93] L. McCarthy. Defeasible deontic reasoning. Fundamenta Infromaticas, 21:125–148, 1994. BIBLIOGRAPHY 153 [94] P. McDaniel. On Context in Authorization Policy. In Proceedings of the 8th ACM Symposium On Access Control Models and Technologies (SACMAT 2003), Como, Italy, June 2003. [95] J.-J. C. Meyer, R. Wieringa, and F. Dignum. The role of deontic logic in the specification of information systems. In Logics for Databases and Information Systems, pages 71–115, 1998. [96] J.-F. Monin. Comprendre les Méthodes formelles, panorama et outils logiques. CTST. Masson, 1996. Préface de G. Huet. [97] J.-F. Monin. Introduction aux méthodes formelles. CTST. Hermès, 2000. Edition revue et augmentée de [96]. [98] J.-F. Monin. Understanding Formal Methods. Springer Verlag, 2002. Translation of [97], updated. Translation editor M. Hinchey. [99] J. Park and R. Sandhu. The UCON-ABC Usage Control Model. ACM Transactions on Information and System Security, 7(1):128–174, 2004. [100] C. Paulin-Mohring. Extraction de programmes dansle calcul des constructions. PhD thesis, Université de Paris VII, 1989. [101] A. Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:45–60, 1981. [102] A. Pnueli and Y. Kesten. A deductive proof system for ctl*. In CONCUR 2002, volume 2421 of Lecture Notes in Computer Science, pages 24–40, 2002. [103] H. Prakken and M. Sergot. Contrary-to-Duty Imperatives, Defeasibility and Violability. In A. J. I. Jones and M. Sergot, editors, Second International Workshop on Deontic Logic in Computer Science (DEON’94), Oslo, Norway, 1994. [104] H. Prakken and M. Sergot. Dyadic deontic logic and contrary-to-duty obligations. In D. Nute, editor, Defeasible Deontic Logic, pages 223– 262. Kluwer, 1997. [105] H. Prakken and G. Vreeswijk. Logics for defeasible argumentation. In D. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic, pages 218–319. Kluwer Academic Publishers, 2002. [106] A. N. Prior. Time and Modality. Clarendon Press, 1957. [107] A. N. Prior. Past, Present, and Future. Clarendon Press, 1967. 154 BIBLIOGRAPHY [108] J.-P. Queille and J. Sifakis. Specification and verification of concurrent systems in cesar. In Proceedings of the 5thInternational Symposium on Programming (SOP’82), volume 137 of Lecture Notes in Computer Science, pages 337–351, 1982. [109] M. Reynolds. An axiomatization of full computation tree logic. Journal of Symbolic Logic, 66(3):1011–1057, 2001. [110] M. Reynolds. An axiomatization of PCTL*. Information and Computation, 201(1):72–119, 2005. [111] A. Ross. Imperatives and logic. Theoria, 7:53–71, 1941. [112] Y. Ryu and R. Lee. Deafisibe deontic reasoning: a logic programming model. In Proc. of the First International Workshop on Deontic Logic in Computer Science, pages 347–363, 1991. [113] S. Safra. On the complexity of ω-automata. In Proc. of 29th IEEE Symposium on Foundations of Computer Science, pages 319–327, 1988. [114] H. Sahlqvist. Completeness and correspondence in the first and second order semantics for modal logic. In S. Kanger, editor, Proc. Third Scand. Logic Symp, pages 110–143. North-Holland publishing company, 1975. [115] R. Sandhu, E. J. Coyne, H. L. Feinstein, and C. Youma. Role-based access control models. In IEEE Computer, volume 29, pages 38–47, 1996. [116] F. B. Schneider. Enforceable security policies. Information and System Security, 3(1):30–50, 2000. [117] K. Segerberg. Two-dimensional modal logics. Journal of Philosophical Logic, 2:77–96, 1973. [118] A. P. Sistla and E. Clarke. The complexity of propositional linear temporal logics. Journal of the Association for Computing Machinery, pages 733–749, 1985. [119] A. P. Sitla. Safety, liveness, and fairness in temporal logic. Formal Aspects in Computing, 6:495–511, 1994. [120] C. Stirling. Comparing linear and branching time temporal logics. In B. Banieqbal, H. Barringer, and A. Pnueli, editors, Temporal Logic in Specification, Altrincham, UK, April 8-10, 1987, Proceedings, volume 398 of Lecture Notes in Computer Science, pages 1–20. Springer, 1989. BIBLIOGRAPHY 155 [121] M. Strembeck and G. Neumann. An Integrated Approach to Engineer and Enforce Context Constraints in RBAC Environements. ACM Transactions on Information and System Security, 7(3):392–427, 2004. [122] W. Thomas. Languages, automata, and logic. In G. Rozenberg and A. Salomaa, editors, Handbook of Formal Languages, volume 3, pages 389–455. Springer, 1997. [123] N. Troquard. Independent agents in branching time. PhD thesis, Université de Toulouse, Università degli studi di Trento„ 2007. [124] D. Vakarelov. Modal rules for intersection. In Abstract of the 10th international congress of Logic, Methodology, and Philosophy of Science, Florence, Italy, 1995. [125] J. van Benthem. Correspondence theory. In D. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic, vol. II. reidel, 1984. [126] J. van Benthem and P. Blackburn. Modal logic: A semantic perspective. In J. van Benthem, P. Blackburn, and F. Wolter, editors, Handbook of Modal Logic, volume 3 of Studies in Logic and Practical Reasoning. Elsevier, 2007. [127] L. van der Torre. Contextual deontic logic: Normative agents, violations and independence. Annals of Mathematics and Artificial Intelligence, Special issue on Computational Logic in Multi-Agent Systems, 37:33–63, 2003. [128] L. van der Torre, J. Hulstijn, M. Dastani, and J. Broersen. Specifying multiagent organizations. In Seventh International Workshop on Deontic Logic in Computer Science (DEON’04), volume 3065 of Lecture Notes in Computer Science, pages 243–257, 2004. [129] L. van der Torre and Y. Tan. The temporal analysis of chisholm’s paradox. In Proceedings of 15th National Conference on Artificial Intelligence (AAAI’98), pages 650–655, 1998. [130] L. van der Torre and Y. Tan. Contrary-to-duty reasoning with preference-based dyadic obligations. Annals of Mathematics and Artificial Intelligence, 27:49–78, 1999. [131] H. van Ditmarsch, W. van der Hoek, and B. Kooi. Dynamic Epistemic Logic, volume 337 of Synthese Library. Springer, 2007. [132] M. Y. Vardi. The büchi complementation saga. In 24th Annual Symposium on Theoretical Aspects of Computer Science, volume 4393 of Lecture Notes in Computer Science, pages 12–22, 2007. 156 BIBLIOGRAPHY [133] M. Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994. [134] F. Wolter. Fusions of modal logics revisited. In M. Kracht, M. de Rijke, H. Wansing, and M. Zakharyaschev, editors, Advances in Modal Logic, volume 1, pages 361–379. CSLI Publications, Stanford, CA, 1998. [135] F. Wolter and M. Zakharyaschev. Satisifiability problem in description logics with modal operators. In A. Cohn, L. Schubert, and S. Shapiro, editors, 6th Conference on Principles of Knowledge Representation and Reasoning (KR’98), pages 512–523, 1998. [136] G. H. V. Wright. Deontic logic. Mind, 1951. Combinaison des logiques temporelle et déontique pour la spécification de politiques de sécurité Thèse soutenue le 12 décembre 2007 par Julien Brunel MOTS-CLES : logique temporelle, logique déontique, politique de sécurité RESUME : Pour spécifier formellement une politique de sécurité, il est naturel de raisonner d'une part sur la notion de temps, et d'autre part sur les notions d'obligation, de permission, et d'interdiction. En effet, il s'agit d'exprimer par exemple le droit d'accès à une ressource pendant une certaine durée, l'obligation de la libérer avant un instant donné, ou encore l'obligation qu'une certaine tâche ne soit pas exécutée pendant un temps trop important. Les logiques temporelle et déontique apparaissent comme des outils adéquats pour spécifier de telles notions. Dans cette thèse, nous étudions comment combiner de telles logiques. Nous étudions dans un premier temps le produit de la logique temporelle linéaire avec la logique déontique standard, et définissons une obligation avec délai dans ce contexte. L'obligation avec délai doit notamment satisfaire une propriété que l'on nomme propagation: tant qu'elle n'est pas remplie et que le délai n'est pas atteint, elle se propage à l'instant suivant. Nous proposons ensuite une sémantique qui valide une propriété de propagation plus générale, puis définissons une axiomatique et une procédure de décision pour fragment du langage qui ne contient pas l'opérateur temporel 'until'. Nous nous intéressons enfin à la notion de conformité d'un système vis à vis d'une politique de sécurité spécifiée dans un tel langage. La première définition que nous proposons est une version faible de la conformité que l'on nomme compatibilité. Nous restreignons ensuite le langage afin définir une version plus forte de la conformité, et proposons un algorithme pour vérifier la conformité d'un système vis à vis d'une politique. ABSTRACT : In order to formally specify a security policy, it is natural to reason about time on the one hand, and obligations, permissions, and prohibitions on the other hand. Indeed, we have to express for instance the permission to access a resource for a certain period, the obligation to release a resource before a deadline, or the prohibition to execute a task for a too long period. Temporal and deontic logics seem well suited to specify such concepts. In this thesis, we study how to combine these logics. Firstly, we study the product of linear temporal logic and standard deontic logic, and define obligation with deadline in this context. It has to satisfy a property called propagation property: while it is not fulfilled, it is propagated to the next instant. We then propose a more general propagation property, and propose a semantics to validate it. For the until-free fragment of our logic, we define an axiomatics and a tableaux-like decision procedure. Lastly, we investigate the notion of compliance of a system with respect to a policy specified in such a language. The first definition we come up with is a weak version of compliance called compatibility. For a new fragment of our logic, we adapt the Büchi approach of Vardi and Wolper to decide whether a system is compliant with a policy. We then restrict again the language so that we can define a stronger version of compliance. Actually, a careful analysis shows the necessity to refine the notion of compliance into 5 different diagnostic cases which give 'levels of compliance'. We provide an algorithm to establish this diagnostic.