List of Temporal Logic Laws
Total Page:16
File Type:pdf, Size:1020Kb
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 ↔ B ∨ (A ∧ A unless B) e (Tb13) A unt B ↔ B ∨ (A ∧ (A unt B)) e (Tb14) A unl B ↔ B ∨ (A ∧ (A unl B)) e e (Tb15) A atnext B ↔ (B → A) ∧ (¬B → A atnext B) e e (Tb16) A before B ↔ ¬B ∧ (A ∨ A before B) e e (Tb17) ¬(A unless B) ↔ ¬B ∧ (¬A ∨¬(A unless B)) (Tb18) 2(¬B → A) → A unl B e e e (Tb19) (A unl B) ↔ A unl B (Tb20) (A ∧ B) unl C ↔ A unl C ∧ B unl C (Tb21) A unl (B ∨ C ) ↔ A unl B ∨ A unl C (Tb22) A unl (B ∧ C ) → A unl B ∧ A unl C (Tb23) A unl (A unl B) ↔ A unl B (Tb24) (A unl B) unl B ↔ A unl B (Tb25) 2(B → A) → A atnext B e e e (Tb26) (A atnext B) ↔ A atnext B (Tb27) (A ∧ B) atnext C ↔ A atnext C ∧ B atnext C (Tb28) (A ∨ B) atnext C ↔ A atnext C ∨ B atnext C List of Temporal Logic Laws 415 (Tb29) A atnext (B ∨ C ) → A atnext B ∨ A atnext C Laws for Fixpoint Operators in LTL e (Tμ1) 2A ↔ νu(A ∧ u) e (Tμ2) 3A ↔ μu(A ∨ u) e e (Tμ3) A until B ↔ μu( B ∨ (A ∧ u)) e e (Tμ4) A unless B ↔ νu( B ∨ (A ∧ u)) e (Tμ5) A unt B ↔ μu(B ∨ (A ∧ u)) e (Tμ6) A unl B ↔ νu(B ∨ (A ∧ u)) e e (Tμ7) A atnext B ↔ νu( (B → A) ∧ (¬B → u)) e e (Tμ8) A before B ↔ νu( ¬B ∧ (A ∨ u)) Laws for Propositional Quantification in LTL (Tq1) ∀uA → A (B) e ue (Tq2) ∀u A ↔ ∀uA (Tq3) ∀u2A ↔ 2∀uA (Tq4) ∃u3A ↔ 3∃uA (Tq5) 2(A ∨ B) →∃u2((A ∧ u) ∨ (B ∧¬u)) Laws for Past Operators in LTL e e (Tp1) A →¬ false e e (Tp2) ¬A →¬ A e e (Tp3) ¬ A ↔ ¬A ee (Tp4) A → A ee (Tp5) A → A e e e (Tp6) (A → B) ↔ A → B e e e (Tp7) (A ∧ B) ↔ A ∧ B e e e (Tp8) (A ∧ B) ↔ A ∧ B Laws of First-Order LTL e e (T39) ∃x A ↔ ∃xA e e (T40) ∀x A ↔ ∀xA (T41) ∃x3A ↔ 3∃xA (T42) ∀x2A ↔ 2∀xA (Tb30) ∃x(A unl B) ↔ A unl (∃xB) if there is no free occurrence of x in A (Tb31) ∀x(A unl B) ↔ (∀xA) unl B if there is no free occurrence of x in B (Tb32) ∃x(A atnext B) ↔ (∃xA) atnext B if there is no free occurrence of x in B (Tb33) ∀x(A atnext B) ↔ (∀xA) atnext B if there is no free occurrence of x in B 416 List of Temporal Logic Laws Derivation Rules of Linear Temporal Logic e (nex) A A (alw) A 2A e (ind) A → B, A → A A → 2B e (ind1) A → A A → 2A e (ind2) A → B, B → B A → 2B e (som) A → B A → 3B (chain) A → 3B, B → 3C A → 3C e e (indunless) A → C ∨ (A ∧ B) A → B unless C e (indunl) A → C ∨ (B ∧ A) A → B unl C e e (indatnext) A → (C → B) ∧ (¬C → A) A → B atnext C e e (indbefore) A → ¬C ∧ (A ∨ B) A → B before C (μ-ind) Au (B) → B μuA → B if there is no free occurrence of u in B →∃ e ↔ ∧ (qltl-ind) F u2 ((u2 u1) Fu1 (u2)) →∃ ↔ ∧ 2 F u2((u2 u1) Fu1 (u2)) if every occurrence of variables ui in F is in the scope of e 1 at most one operator and no other temporal operator e (indpast) A → B, A → A A → 2B e (indinit) init → A, A → A A (wfr) A → 3(B ∨∃y¯(¯y ≺ y ∧ Ay (¯y))) ∃yA → 3B if B does not contain y, for y, y¯ ∈XWF Laws of Generalized TLA (GT1) 2 [A] → A e e e (GT2) 2A → 2[ A]e 2 ↔ 2 (GT3) [A]e e [A]e 2 2 → (GT4) [A]e1 [A]e1 e2 2 → 2 (GT5) [A]e1 [A]e1 e2 2 ↔ 2 (GT6) [A]e1 [A]e2 e2 e1 Laws of Interval Temporal Logic (IT1) empty chop A ↔ A e` e` (IT2) A chop B ↔ (A chop B) (IT3) (A ∨ B) chop C ↔ A chop C ∨ B chop C (IT4) A chop (B ∨ C ) ↔ A chop B ∨ A chop C (IT5) A chop (B chop C ) ↔ (A chop B) chop C List of Temporal Logic Laws 417 Laws of BTL and CTL e (BT1) E2A ↔ A ∧ E E2A e (BT2) E3A ↔ A ∨ E E3A e (BT3) A2A ↔ A ∧ A A2A e (BT4) A3A ↔ A ∨ A A3A e e (BT5) A A → E A e (BT6) E2A → E A (BT7) E2E2A ↔ E2A e e (BT8) E E2A → E2E A e e e (BT9) E (A ∧ B) → E A ∧ E B e e e (BT10) E (A → B) ↔ A A → E B (BT11) E3(A ∨ B) ↔ E3A ∨ E3B (BT12) E2(A ∧ B) → E2A ∧ E2B e (CT1) A Eunt B ↔ B ∨ (A ∧ E (A Eunt B)) (CT2) A Eunt B → E3B e e e (CT3) E (A Eunt B) ↔ E A Eunt E B (CT4) A Eunt C ∨ B Eunt C → (A ∨ B) Eunt C (CT5) (A ∧ B) Eunt C → A Eunt C ∧ B Eunt C (CT6) A Eunt (B ∨ C ) ↔ A Eunt B ∨ A Eunt C (CT7) A Eunt (B ∧ C ) → A Eunt B ∧ A Eunt C Derivation Rules of Branching Time Temporal Logic e e (nexb) A → B E A → E B e (indb1) A → B, A → E A A → E2B e (indb2) A →¬B, A → A (A ∨¬E3B) A →¬E3B e (indc) A →¬C , A → A (A ∨¬(B Eunt C )) A →¬(B Eunt C ) The Formal System ΣLTL (taut) All tautologically valid formulas e e (ltl1) ¬ A ↔ ¬A e e e (ltl2) (A → B) → ( A → B) e (ltl3) 2A → A ∧ 2A (mp) A, A → B B e (nex) A A e (ind) A → B, A → A A → 2B Additional Axioms and Rules for Extensions of LTL e e (until1) A until B ↔ B ∨ (A ∧ A until B) e (until2) A until B → 3B e e (unless1) A unless B ↔ B ∨ (A ∧ A unless B) 418 List of Temporal Logic Laws e (unless2) 2A → A unless B e e (atnext1) A atnext B ↔ (B → A) ∧ (¬B → A atnext B) e (atnext2) 2¬B → A atnext B e e (before1) A before B ↔ ¬B ∧ (A ∨ A before B) e (before2) 2¬B → A before B (μ-rec) Au (μuA) → μuA (μ-ind) Au (B) → B μuA → B if there is no free occurrence of u in B (qltl1) A (B) →∃uA u e e (qltl2) ∃u A ↔ ∃uA e (qltl3) ∃u(u ∧ 2¬u) (qltl-part) A → B ∃uA → B if there is no free occurrence of u in B →∃ e ↔ ∧ (qltl-ind) F u2 ((u2 u1) Fu1 (u2)) →∃ ↔ ∧ 2 F u2((u2 u1) Fu1 (u2)) if every occurrence of variables ui in F is in the scope of at e 1 most one operator and no other temporal operator e e (pltl1) ¬A →¬ A e e e (pltl2) (A → B) → ( A → B) e (pltl3) 2A → A ∧ 2A e (pltl4) 3− false ee (pltl5) A → A ee (pltl6) A → A e (prev) A A e (indpast) A → B, A → A A → 2B e (iltl) ¬init (init) init → 2A A e e (since) A since B ↔ B ∨ (A ∧ A since B) e e (backto) A backto B ↔ B ∨ (A ∧ A backto B) e e (atlast) A atlast B ↔ (B → A) ∧ (¬B → A atlast B) e e (after) A after B ↔ ¬B ∧ (A ∨ A after B) The Formal System ΣFOLTL (taut) All tautologically valid formulas e e (ltl1) ¬ A ↔ ¬A e e e (ltl2) (A → B) → ( A → B) e (ltl3) 2A → A ∧ 2A (ltl4) A (t) →∃xA if t is substitutable for x in A ex e (ltl5) ∃xA →∃x A e (ltl6) A → A if A is rigid (eq1) x = x (eq2) x = y → (A → Ax (y)) if A is non-temporal (mp) A, A → B B List of Temporal Logic Laws 419 e (nex) A A e (ind) A → B, A → A A → 2B (par) A → B ∃xA → B if there is no free occurrence of x in B The Formal System ΣpGTLA (taut) All tautologically valid formulas (tautpf ) 2[A]e if A is a tautologically valid pre-formula (gtla1) 2A → A (gtla2) 2A → 2[A] ee (gtla3) 2A → 2[ 2A]e (gtla4) 2[A → B]e → (2[A]e → 2[B]e ) (gtla5) 2[e = e] e e e (gtla6) 2[¬ A ↔ ¬A] e e e e (gtla7) 2[ (A → B) → ( A → B)]e 2 2 → (gtla8) [A]e1 [A]e1 e2 2 → 2 e2 (gtla9) [A]e1 [A]e1 e2 2 ∧ e2 → 2 (gtla10) [A]e1 [A]e1 [A]e1 e2 2 e2 → 2 e (gtla11) A [ A]e1 e2 (mp) A, A → B B (alw) A 2A e (indpf ) A → B, 2[A → A]U(A) A → 2B The Formal System ΣBTL (taut) All tautologically valid formulas e (btl1) E true e e e (btl2) E (A ∨ B) ↔ E A ∨ E B e (btl3) E2A ↔ A ∧ E E2A e (btl4) E3A ↔ A ∨ E E3A (mp) A, A → B B e e (nexb) A → B E A → E B e (indb1) A → B, A → E A A → E2B e (indb2) A →¬B, A → A (A ∨¬E3B) A →¬E3B The Formal System ΣCTL (taut) All tautologically valid formulas e (btl1) E true e e e (btl2) E (A ∨ B) ↔ E A ∨ E B e (btl3) E2A ↔ A ∧ E E2A e (ctl) A Eunt B ↔ B ∨ (A ∧ E (A Eunt B)) (mp) A, A → B B 420 List of Temporal Logic Laws e e (nexb) A → B E A → E B e (indb1) A → B, A → E A A → E2B e (indc) A →¬C , A → A (A ∨¬(B Eunt C )) A →¬(B Eunt C ) References 1.