Formal Specification and Runtime Verification of Parallel

Total Page:16

File Type:pdf, Size:1020Kb

Formal Specification and Runtime Verification of Parallel Formal Specification and Runtime Verification of Parallel Systems using Interval Temporal Logic (ITL) PhD Thesis Nayef Hmoud Alshammari This thesis is submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Software Technology Research Laboratory De Montfort University Leicester - United Kingdom 2018 Declaration of Authorship I declare that the work described in this thesis is original work undertaken by me for the degree of Doctor of Philosophy at the Software Technology Research Laboratory (STRL), at De Montfort University, United Kingdom. No part of the material described in this thesis has been submitted for any award of any other degree or qualification in this or any other university or college of advanced education. This thesis is written by me and produced using LATEX. I To my mother’s soul, Helalah bint Hujailan Alshammari (April 21st, 2016). May she rest in peace ... II Acknowledgement Firstly, I would like to express my sincere gratitude to my first supervisor Dr. Francois Seiwe and second supervisor Dr. Antonio Cau for their continuous support of my PhD study and related research, and for their patience, motivation, and immense knowledge. Their guidance helped me during the time of my research and writing of this thesis. I could not have had more qualified supervisors for my PhD study. Also, I would like to express my great appreciation to Dr. Antonio Cau for the remarkable theoretical and practical support which he offered during the study of my PhD. I would also like to thank my former supervisors Dr. Ben Moszkowski and Dr. Jordan Dimitrov for their roles during my PhD. Special deep thanks and appreciation to those who have endlessly and continuously believed in me and supported me especially my great sisters, Loulouah and Khaznah, and my best friend Dr. Dheidan Alshammari. Big thanks to my family, my friends and all those who have been relentlessly supportive during my PhD journey. III Abstract Runtime Verification (RV) is the discipline that allows monitoring systems at runtime in order to check the satisfaction or violation of a given correctness property. Parallel systems are more complicated than sequential systems. Therefore, systems that run in parallel need a parallel runtime verification framework to monitor their behaviour and guarantee correctness properties. Parallel systems have correctness properties different from correctness properties of sequential systems. For instance, as a correctness property of parallel systems, absence of deadlock has to be guaranteed and mutual exclusion mechanism has to be applied in case a resource is shared be- tween more than one system and the parallelism form is true concurrency. Therefore, sequential runtime verification framework can not handle systems that run in parallel due to the singularity issue of this kind of framework as they are built to handle a single system at a time, whereas for parallel systems a framework has to handle many systems at a time. AnaTempura is a runtime verification tool which can handle single systems at a time. To solve this problem, I evolved AnaTempura to be able to handle parallel systems. In this thesis, I propose a Parallel Runtime Verification Framework (PRVF) that can handle systems which use architectures of parallelism in their design such as multi-core processor architecture. The proposed model can check system behaviour at runtime in order to either guarantee satisfaction or detect violations of correctness properties. My technique is based on Interval Temporal Logic (ITL) and its executable subset Tempura to verify properties at runtime using the AnaTempura tool. I use, as a demonstration, the case study of private L2 cache memory of multi-core proces- sor architecture. My objectives are to i) design MSI protocol compliant with cache memory IV coherence and ii) fulfil main memory consistency model at runtime. I achieve this via a for- mal Tempura specification of the cache controller which is then verified at runtime against my objectives for memory consistency and cache coherence using AnaTempura. The presented spec- ifications allow to extend it allow to extend it to not only capture correctness but also monitor the performance of a cache memory controller. The case study is then evaluated via integrating AnaTempura with MATLAB in order to check correctness properties such as memory consis- tency and cache coherence. V Contents Declaration of AuthorshipI Acknowledgments III AbstractIV List of Figures XII List of Tables XVII List of Abbreviations XVIII 1 Introduction1 1.1 Background.....................................2 1.2 Problem Statement and Research Motivation....................3 1.3 Research Questions.................................6 1.4 Research Methodology...............................6 1.5 Success Criteria...................................8 1.6 Thesis Outline....................................9 2 Verification Techniques for Parallel Systems: a Review 11 2.1 Introduction..................................... 12 2.2 Basic Concepts and Related Topics......................... 12 VI CONTENTS 2.2.1 Concurrency versus Parallelism...................... 12 2.2.2 Parallel-Concurrent Programming Models in Java............. 13 2.2.3 Modern Central Processing Units (CPUs)................. 15 2.2.4 Petri Net.................................. 16 2.2.5 Global State Construction......................... 17 2.2.6 Parallel Programming Models....................... 18 2.2.6.1 Shared Memory......................... 19 2.2.6.2 Message Passing......................... 19 2.2.6.3 Shared Memory versus Message Passing............ 20 2.3 Verification Techniques............................... 20 2.4 Runtime Verification................................ 21 2.4.1 Monitors.................................. 23 2.4.2 Taxonomy................................. 23 2.4.3 Runtime Verification versus Model Checking............... 26 2.4.4 Runtime Verification versus Testing.................... 26 2.4.5 The Use of Runtime Verification...................... 27 2.4.6 Existing Runtime Verification Frameworks................ 28 2.4.6.1 EAGLE............................. 28 2.4.6.2 J-LO............................... 28 2.4.6.3 LARVA............................. 29 2.4.6.4 LogScope............................ 29 2.4.6.5 LoLa............................... 30 2.5 Formal Methods-Based Tools for Parallel Systems................. 30 2.6 Temporal Logic................................... 31 2.6.1 Point-Based versus Interval-Based Structure of Temporal Logics..... 32 2.6.2 Interval Temporal Logic (ITL)....................... 33 VII CONTENTS 2.6.2.1 Syntax.............................. 34 2.6.2.2 Informal Semantics....................... 35 2.6.2.3 Justification for Choosing Interval Temporal Logic (ITL)... 36 2.7 Related Work.................................... 37 2.7.1 Memory Models for Interval Temporal Logic (ITL)............ 37 2.7.1.1 Framing Variables........................ 37 2.7.1.2 Transactional Memory...................... 38 2.7.2 Meltdown and Spectre........................... 40 2.8 Summary...................................... 41 3 Computational Model 42 3.1 Introduction..................................... 43 3.2 Computational Model................................ 43 3.2.1 Message-Passing based Communication.................. 43 3.2.1.1 Related Work.......................... 44 3.2.1.2 Execution Modes........................ 45 3.2.1.3 Channel Communication.................... 45 3.2.1.4 Shunt Communication...................... 47 3.2.1.5 Delay and Timeout....................... 48 3.2.1.6 Resource Allocation....................... 48 3.2.1.7 The Funnel............................ 48 3.2.2 Shared-Variable based Communication.................. 49 3.2.3 True Concurrency............................. 50 3.2.4 Interleaving Concurrency.......................... 51 3.3 Architecture Framework.............................. 53 3.3.1 Generation Phase.............................. 53 VIII CONTENTS 3.3.1.1 Communication Models..................... 54 3.3.1.2 Concurrency Forms....................... 54 3.3.1.3 Execution Modes........................ 54 3.3.2 Locals Verification & Assertion Phase................... 56 3.3.2.1 Interleaving Concurrency and Shared-Variable......... 56 3.3.2.2 True Concurrency and Shared-Variable............. 58 3.3.2.3 Synchronous Execution and Message-Passing (Channels)... 60 3.3.2.4 Asynchronous Execution and Message-Passing (Shunts).... 62 3.3.3 Global Verification Phase.......................... 65 3.4 Parallel Runtime Verification Framework (PRVF) Model............. 66 3.5 Summary...................................... 66 4 Design and Implementation of a Parallel Runtime Verification Framework (PRVF) 68 4.1 Introduction..................................... 69 4.2 (Ana)Tempura.................................... 69 4.2.1 Assertion Points.............................. 71 4.2.2 The Monitor................................ 76 4.2.3 Tempura Interpreter............................ 77 4.3 Evolutionary Improvements of AnaTempura.................... 77 4.3.1 Realisation of Assertion Points Techniques................ 80 4.4 Benchmarking Applications............................ 90 4.4.1 Producer-Consumer............................ 90 4.4.2 Dining Philosophers Problem....................... 92 4.5 Summary...................................... 93 5 Case Study: Cache Controller 94 5.1 Cache Memory Controller: A Case Study..................... 95 IX CONTENTS 5.2 The Basics of Cache Memory............................ 95 5.2.1
Recommended publications
  • Interval Temporal Logic
    Interval Temporal Logic Antonio Cau and Ben Moszkowski 2021-04-09 HTML version of the ITL home page Abstract Interval Temporal Logic (ITL) is a flexible notation for both propositional and first-order reasoning about periods of time found in descriptions of hardware and software systems. Unlike most temporal logics, ITL can handle both sequential and parallel composition and offers powerful and extensible specification and proof techniques for reasoning about properties involving safety, liveness and pro- jected time [134]. Timing constraints are expressible and furthermore most imperative programming constructs can be viewed as formulas in a slightly modified version of ITL [125]. Tempura provides an executable framework for developing and experimenting with suitable ITL specifications. In addi- tion, ITL and its mature executable subset Tempura [157] have been extensively used to specify the properties of real-time systems where the primitive circuits can directly be represented by a set of simple temporal formulae. In addition, Tempura has been applied to hardware simulation and other areas where timing is important. 1 Contents 1 Finite Interval Temporal Logic3 1.1 Syntax............................................3 1.2 Semantics..........................................3 1.3 Derived Constructs......................................5 1.4 Propositional proof system..................................7 1.5 First order proof system...................................7 2 Finite and Infinite Interval Temporal Logic8 2.1 Syntax............................................8
    [Show full text]
  • Interval Temporal Logic
    Interval Temporal Logic Antonio Cau, Ben Moszkowski and Hussein Zedan Software Technology Research Laboratory December 6, 2007 HTML version of the ITL home page ITL-course: A not so short introduction to ITL Abstract Interval Temporal Logic (ITL) is a flexible notation for both propositional and first-order reasoning about periods of time found in descriptions of hardware and software systems. Unlike most temporal logics, ITL can handle both sequential and parallel composition and offers powerful and extensible specification and proof techniques for reasoning about properties involving safety, liveness and projected time[15]. Timing constraints are expressible and furthermore most imperative pro- gramming constructs can be viewed as formulas in a slightly modified version of ITL [25]. Tempura provides an executable framework for developing and experimenting with suitable ITL specifications. In addition, ITL and its mature executable subset Tempura [9] have been extensively used to specify the properties of real-time systems where the primitive circuits can directly be represented by a set of simple tempo- ral formulae. In addition, various researchers have applied Tempura to hardware simulation and other areas where timing is important. 1 Syntax The key notion of ITL is an interval. An interval σ is considered to be a (in)finite sequence of states σ0; σ1 :::, where a state σi is a mapping from the set of variables Var to the set of values V al. The length jσj of an interval σ0 : : : σn is equal to n (one less than the number of states in the interval (this has always been a convention in ITL), i.e., a one state interval has length 0).
    [Show full text]
  • Formal Requirement Elicitation and Debugging for Testing and Verification of Cyber-Physical Systems
    Formal Requirement Elicitation and Debugging for Testing and Verification of Cyber-Physical Systems Adel Dokhanchi∗, Bardh Hoxhay, and Georgios Fainekos∗ ∗School of Computing, Informatics and Decision Systems Arizona State University, Tempe, AZ, U.S.A. Email: fadokhanc,[email protected] yDepartment of Computer Science, Southern Illinois University, Carbondale, IL, U.S.A. Email: [email protected] Abstract A framework for the elicitation and debugging of formal specifications for Cyber-Physical Systems is presented. The elicitation of specifications is handled through a graphical interface. Two debugging algorithms are presented. The first checks for erroneous or incomplete temporal logic specifications without considering the system. The second can be utilized for the analysis of reactive requirements with respect to system test traces. The specification debugging framework is applied on a number of formal specifications collected through a user study. The user study establishes that requirement errors are common and that the debugging framework can resolve many insidious specification errors1. I. INTRODUCTION Testing and verification of Cyber-Physical Systems (CPS) is important due to the safety critical applications of CPS such as medical devices and transportation systems. It has been shown that utilizing formal specifications can lead to improved testing and verification [24], [32], [45], [33]. However, developing formal specifications using logics is a challenging and error prone task even for experts who have formal mathematical training. Therefore, in practice, system engineers usually define specifications in natural language. Natural language is convenient to use in many stages of system development, but its inherent ambiguity, inaccuracy and inconsistency make it unsuitable for use in defining specifications.
    [Show full text]
  • Reversibility of Executable Interval Temporal Logic Specifications
    REVERSIBILITY OF EXECUTABLE INTERVAL TEMPORAL LOGIC SPECIFICATIONS ∗ APREPRINT Antonio Cau Stefan Kuhn Cyber Technology Institute, Cyber Technology Institute, School of Computer Science and Informatics, School of Computer Science and Informatics, Faculty of Computing, Engineering and Media Faculty of Computing, Engineering and Media De Montfort University, Leicester, UK De Montfort University, Leicester, UK [email protected] [email protected] James Hoey School of Informatics, University of Leicester, Leicester, UK [email protected] May 10, 2021 ABSTRACT In this paper the reversibility of executable Interval Temporal Logic (ITL) specifications is investi- gated. ITL allows for the reasoning about systems in terms of behaviours which are represented as non-empty sequences of states. It allows for the specification of systems at different levels of ab- straction. At a high level this specification is in terms of properties, for instance safety and liveness properties. At concrete level one can specify a system in terms of programming constructs. One can execute these concrete specification, i.e., test and simulate the behaviour of the system. In this paper we will formalise this notion of executability of ITL specifications. ITL also has a reflection operator which allows for the reasoning about reversed behaviours. We will investigate the reversibility of executable ITL specifications, i.e., how one can use this reflection operator to reverse the concrete behaviour of a particular system. Keywords Interval Temporal Logic · Time Reversion · Program Reversion · Reversible Computing. 1 Introduction Formal methods have been used in computer science to verify desirable and undesirable properties of programs. One arXiv:2105.03375v1 [cs.FL] 7 May 2021 type of formalism introduced is temporal logic.
    [Show full text]
  • Formal Specification of Scientific Applications Using Interval
    5 Formal Specification of Scientific Applications Using Interval Temporal Logic BOJANA KOTESKA and ANASTAS MISHEV, University SS. Cyril and Methodius, Faculty of Computer Science and Engineering, Skopje LJUPCO PEJOV, University SS. Cyril and Methodius, Faculty of Natural Science and Mathematics, Skopje Scientific applications simulate any natural phenomena in different scientific domains. Moreover, the problems they solve are usually represented by mathematical models. Taking that in advance, these problems can be described by using specific formal notation and mathematical formulas. Scientific applications are usually created by the scientists without using any software development engineering practices. Our main goal is to include formal methods in the testing process of scientific applications. In this paper, we adapt Interval Temporal Logic (ITL) as a flexible notation for describing software applications. We use Tempura framework and Ana Tempura tool for specifying the properties of the scientific software system. The correctness of the code is verified by comparing the results from the program output and functions written in Tempura. This process is especially important when some code changes or optimizations are made. To verify this concept we made a formal description of the code for calculating bound states of the Morse oscillator well. Categories and Subject Descriptors: D.2.4 [Software Engineering]: Software/Program Verification —Validation, Formal Meth- ods; G.4 [Mathematics of Computing]: Mathematical Software—Certification and testing, Documentation, Verification General Terms: Verification Additional Key Words and Phrases: Scientific application, Formal Specification, Interval Temporal Logic, Ana Tempura, Morse Oscillator 1. INTRODUCTION Scientific applications are widely used nowadays in different scientific domains. Numerical simulations performed by scientific applications can solve problems in many research fields such as: computational chemistry, physics, engineering, mathematics, mechanics, informatics, bioinformatics, etc.
    [Show full text]
  • An Event-Driven Interval Temporal Logic for Hybrid Systems* (Work in Progress)
    An Event-driven Interval Temporal Logic for Hybrid Systems* (Work in Progress) Mar´ıa-del-Mar Gallardo and Laura Panizo Universidad de Malaga,´ Andaluc´ıa Tech, Departamento de Lenguajes y Ciencias de la Computacion,´ Campus de Teatinos s/n, 29071, Malaga,´ Spain fgallardo, [email protected] Nowadays, hybrid systems are present in many crucial tasks of our daily life. The hybrid charac- ter derives from the merge of continuous and discrete dynamics that are intrinsically related. The verification of critical properties of hybrid systems is of special importance, but sometimes it is not feasible due to their inherent complexity. In the last few years, several model-based testing and run- time verification techniques have been proposed to support the verification and validation of hybrid systems. In this paper, we present an interval logic that is suitable for specifying properties of event- driven hybrid systems. We introduce the syntax and semantics of the logic, and propose an automatic mechanism to transform each formula in the logic into a network of timed automata that can act as observers of the property in each test case using the UPPAAL tool. 1 Introduction Hybrid systems are characterised by the combination of the so-called continuous and discrete behaviours. The continuous component is typically composed by real-valued variables that describe the physical real world and whose values evolve over time. Usually, the discrete component interacts with the continuous one to control and update, when necessary, the evolution of the continuous variables. In the last few years, principally due to the improvement in sensor technology, many new hybrid (also called cyber- physical) systems supporting different tasks have appeared.
    [Show full text]
  • Integrated Motion Planning and Control Under Metric Interval Temporal Logic Specifications
    Integrated Motion Planning and Control Under Metric Interval Temporal Logic Specifications Fernando S. Barbosa1, Lars Lindemann2, Dimos V. Dimarogonas2 and Jana Tumova1 Abstract— This paper proposes an approach that combines motion planning and hybrid feedback control design in order to find and follow trajectories fulfilling a given complex mission involving time constraints. We use Metric Interval Temporal Logic (MITL) as a rich and rigorous formalism to specify such missions. The solution builds on three main steps: (i) using sampling-based motion planning methods and the untimed version of the mission specification in the form of Zone automaton, we find a sequence of waypoints in the workspace; (ii) based on the clock zones from the satisfying run on the Zone automaton, we compute time-stamps at which these waypoints Fig. 1. The approach. should be reached; and (iii) to control the system to connect two waypoints in the desired time, we design a low-level feedback controller leveraging Time-varying Control Barrier Functions. sampling-based motion planning with low-level feedback Illustrative simulation results are included. controller design. A general overview is presented in Fig. 1. A given MITL task specification is first translated into a I. INTRODUCTION Timed Automaton (TA) and then to a Zone Automaton (ZA), In recent years, different variants of temporal logic speci- which is its time-abstract representation. The ZA is used by fications have been established to complement the traditional an RRT?-based algorithm to find an obstacle-free path – a A-to-B motion planning algorithms with more complex, sequence of waypoints – in the workspace enclosed in a structured missions.
    [Show full text]
  • Interval Temporal Logics: a Journey
    Interval Temporal Logics: a Journey Dario Della Monica ∗ Valentin Goranko † Angelo Montanari ‡ Guido Sciavicco § Abstract We discuss a family of modal logics for reasoning about relational struc- tures of intervals over (usually) linear orders, with modal operators asso- ciated with the various binary relations between such intervals, known as Allen’s interval relations. The formulae of these logics are evaluated at intervals rather than points and the main effect of that semantic feature is substantially higher expressiveness and computational complexity of the in- terval logics as compared to point-based ones. Without purporting to pro- vide a comprehensive survey of the field, we take the reader to a journey through the main developments in it over the past 10 years and outline some landmark results on expressiveness and (un)decidability of the satisfiability problem for the family of interval logics. 1 Introduction Temporal reasoning is pervasive in many areas of computer science and artificial intelligence, such as, for instance, formal specification and verification of sequen- tial, concurrent, reactive, real-time systems, temporal knowledge representation, temporal planning and maintenance, theories of actions, events, and fluents, tem- poral databases, and natural language analysis and processing. In most cases of temporal reasoning, time instants (points) are assumed to be the basic ontological temporal entities. However, often “durationless” time points are not suitable to properly reason about real-world events, which have an intrinsic duration. Indeed, many practical aspects of temporality, occurring, for instance, in hardware specifications, real-time processes, and progressive tenses in natural language, are better modeled and dealt with if the underlying temporal ontology is based on time intervals (periods), rather than instants, as the primitive entities.
    [Show full text]
  • A Survey on Temporal Logics
    A Survey on Temporal Logics Savas Konur Department of Computer Science, University of Liverpool Abstract This paper surveys main and recent studies on temporal logics in a broad sense by presenting various logic systems, dealing with various time structures, and discussing important features, such as decidability (or undecidability) results, expressiveness and proof systems. 1 Introduction Temporal logics are formal frameworks which describe statements whose truth values change over time. Despite the fact that classical logics do not include time element, temporal logics characterize state changes which depend on time. This makes temporal logics a richer notation than classical logics. Temporal logics can be considered as extensions of classical propositional and first-order logic. In fact, propositional temporal logics are an extension of propositional logic with temporal operators. Similarly, first-order temporal logics are extension of first-order logic with temporal modalities. Temporal logics are also special type of modal logics, where statements are evaluated on ‘worlds’ which represent time instants. Although various aspects of time and logic have been studied, an up-to date compre- hensive analysis of logic of time does not exist in the literature. Some surveys (such as [106, 31, 105, 68]) can be found in the literature but these mainly concentrate on specific formal systems over specific structures of time; therefore, they do not contain a broad arXiv:1005.3199v3 [cs.LO] 25 Apr 2011 analysis. The aim of this paper is to outline main and recent developments in the field in a broad sense by presenting various formal systems dealing with various time struc- tures, and discussing important features, such as (un)decidability results, expressiveness and axiomatization systems.
    [Show full text]
  • Towards Interval Temporal Logic Rule-Based Classification
    Proceedings of the 1st Workshop on Artificial Intelligence and Formal Verification, Logics, Automata and Synthesis (OVERLAY), Rende, Italy, November 19–20, 2019 Towards Interval Temporal Logic Rule-Based Classification∗ E. Lucena-Sánchez1,2, E. Muñoz-Velasco3, G. Sciavicco1, I.E. Stan1,4, and A. Vaccari1 1Dept. of Mathematics and Computer Science, University of Ferrara (Italy) 2Dept. of Physics, Informatics, and Mathematics, University of Modena and Reggio Emilia (Italy) 3Dept. of Applied Mathematics, University of Málaga (Spain) 4Dept. of Mathematical, Physical, and Computer Sciences, University of Parma (Italy) 1{lcnsrl,scvgdu,stnndr}@unife.it,[email protected] [email protected] Abstract Supervised classification is one of the main computational tasks of modern Artificial Intelligence, and it is used to automatically extract an underlying theory from a set of already classified instances. The available learning schemata are mostly limited to static instances, in which the temporal component of the information is absent, neglected, or abstracted into atemporal data, and purely, native temporal classification is still largely unexplored. In this paper, we propose a temporal rule- based classifier based on interval temporal logic, that is able to learn a classification model for multivariate classified (abstracted) time series, and we discuss some implementation issues. 1 Introduction Supervised classification, specifically, supervised classification model learning [14, 17] is one of the main tasks associated with Artificial Intelligence. Roughly, given a data set of instances, each one of which belongs to a known class, and each instance described by a finite set of attributes, supervised classification model learning is the task of learning how the values of the attributes determine the class in the context of the data set.
    [Show full text]
  • Extracting Interval Temporal Logic Rules: a First Approach
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Dagstuhl Research Online Publication Server Extracting Interval Temporal Logic Rules: A First Approach Davide Bresolin Department of Mathematics University of Padova, Italy [email protected] https://orcid.org/0000-0003-2253-9878 Enrico Cominato Department of Mathematics, Computer Science and Physics University of Udine, Italy [email protected] Simone Gnani Department of Mathematics and Computer Science University of Ferrara, Italy [email protected] Emilio Muñoz-Velasco Department of Applied Mathematics University of Malaga, Spain [email protected] https://orcid.org/0000-0002-0117-4219 Guido Sciavicco Department of Mathematics and Computer Science University of Ferrara, Italy [email protected] https://orcid.org/0000-0002-9221-879X Abstract Discovering association rules is a classical data mining task with a wide range of applications that include the medical, the financial, and the planning domains, among others. Modern rule extraction algorithms focus on static rules, typically expressed in the language of Horn propos- itional logic, as opposed to temporal ones, which have received less attention in the literature. Since in many application domains temporal information is stored in form of intervals, extracting interval-based temporal rules seems the natural choice. In this paper we extend the well-known algorithm APRIORI for rule extraction to discover interval temporal rules written in the Horn fragment of Halpern and Shoham’s interval temporal logic. 2012 ACM Subject Classification Information systems → Clustering and classification Keywords and phrases Interval temporal logic, Horn fragment, Rule extraction Digital Object Identifier 10.4230/LIPIcs.TIME.2018.7 Acknowledgements D.
    [Show full text]
  • List of Temporal Logic Laws
    List of Temporal Logic Laws We give here a compact list of laws of the various temporal logics, particularly in- cluding those which are frequently used throughout the book. Furthermore, we note some of the corresponding formal systems. Laws of Basic LTL e e (T1) ¬ A ↔ ¬A (T2) ¬2A ↔ 3¬A (T3) ¬3A ↔ 2¬A (T4) 2A → A (T5) A → 3A e (T6) 2A → A e (T7) A → 3A (T8) 2A → 3A (T9) 32A → 23A (T10) 22A ↔ 2A (T11) 33A ↔ 3A e e (T12) 2 A ↔ 2A e e (T13) 3 A ↔ 3A e e e (T14) (A → B) ↔ A → B e e e (T15) (A ∧ B) ↔ A ∧ B e e e (T16) (A ∨ B) ↔ A ∨ B e e e (T17) (A ↔ B) ↔ ( A ↔ B) (T18) 2(A ∧ B) ↔ 2A ∧ 2B (T19) 3(A ∨ B) ↔ 3A ∨ 3B (T20) 23(A ∨ B) ↔ 23A ∨ 23B (T21) 32(A ∧ B) ↔ 32A ∧ 32B (T22) 2(A → B) → (2A → 2B) (T23) 2A ∨ 2B → 2(A ∨ B) (T24) (3A → 3B) → 3(A → B) 414 List of Temporal Logic Laws (T25) 3(A ∧ B) → 3A ∧ 3B (T26) 23(A ∧ B) → 23A ∧ 23B (T27) 32A ∨ 32B → 32(A ∨ B) e (T28) 2A ↔ A ∧ 2A e (T29) 3A ↔ A ∨ 3A e e (T30) 2(A → B) → ( A → B) (T31) 2(A → B) → (3A → 3B) e e (T32) 2A → ( B → (A ∧ B)) (T33) 2A → (2B → 2(A ∧ B)) (T34) 2A → (3B → 3(A ∧ B)) (T35) 2(2A → B) → (2A → 2B) (T36) 2(A → 3B) → (3A → 3B) (T37) 323A ↔ 23A (T38) 232A ↔ 32A Laws for Binary Operators in LTL e (Tb1) A until B ↔ 3B ∧ A unless B e (Tb2) A unless B ↔ (A unl B) (Tb3) A unl B ↔ A unt B ∨ 2A (Tb4) A unt B ↔ B ∨ (A ∧ A until B) (Tb5) A unless B ↔ B atnext (A → B) (Tb6) A atnext B ↔ B before (¬A ∧ B) (Tb7) A before B ↔¬(A ∨ B) unless (A ∧¬B) e (Tb8) A ↔ A atnext true (Tb9) 2A ↔ A ∧ A unless false (Tb10) 2A ↔ A unl false e e (Tb11) A until B ↔ B ∨ (A ∧ A until B) e e (Tb12) A unless B ↔
    [Show full text]