Χρονική λογική

Στη λογική, ο όρος χρονική λογική (Αγγλικά: temporal logic) χρησιμοποιείται για να περιγράψει κάθε σύστημα κανόνων και συμβολισμού για την αναπαράσταση και συλλογιστική προτάσεων που χρησιμοποιούν το χρόνο. Κάποιες φορές χρησιμοποιείται σαν αναφορά στην tense logic, ένα σύστημα βασισμένο στην τροπική λογική που δημιουργήθηκε από τον Άρθουρ Πράιορ κατά τη δεκαετία του 1960. Η ανάπτυξη της χρονικής λογικής συνεχίστηκε από τους επιστήμονες της επιστήμης των υπολογιστών, ειδικά από τον Αμιρ Πνουέλι και τους επιστήμονες της λογικής.
Αν και η λογική του Αριστοτέλη ασχολείται σχεδόν εξ ολοκλήρου με τον κατηγορηματικό συλλογισμό, υπάρχουν σημεία στο έργο του που μπορούν σήμερα να φανούν σαν πρώιμα σημεία της χρονικής λογικής και μπορεί να σημαίνουν ότι υπήρξε μια πρώιμη, ημιτελής μορφή της δυαδικής τροπικής χρονικής λογικής πρώτης τάξης. Το πρώτο τυπικό σύστημα χρονικής τροπικής λογικής δημιουργήθηκε από τον Αβικέννα, η λογική του οποίου αναπτύχθηκε στη συνέχεια από τον Najm al-Dīn al-Qazwīnī al-Kātibī και έγινε το κυρίαρχο σύστημα της Ισλαμικής λογικής μέχρι πρόσφατα. Η λογική του Αβικέννα επηρέασε επίσης αρκετούς από τους πρώτους Ευρωπαίους επιστήμονες της λογικής, όπως ο Albertus Magnus και ο Ουλιέλμος του Όκαμ. Ανάμεσα στις θεωρίες της κλασικής λογικής, η λογική που χρησιμοποιεί τον υπαρξιακό ποσοδείκτη ή τον καθολικό ποσοδείκτη, ονομάζεται κατηγορηματική λογική. Κάθε λογική που θεωρεί το χρόνο σαν μια ακολουθία από καταστάσεις είναι χρονική λογική, και κάθε λογική που χρησιμοποιεί μόνο δύο τιμές αληθείας είναι δυαδική λογική.
Έστω η πρόταση: "Πεινάω". Αν και η σημασία της είναι σταθερή στο χρόνο, η τιμή αληθείας της μπορεί να διαφέρει στο χρόνο. Κάποιες φορές η πρόταση είναι αληθής, κάποιες φορές είναι ψευδής, αλλά η πρόταση δεν είναι ποτέ αληθής και ψευδής ταυτόχρονα. Σε μια χρονική λογική, οι προτάσεις μπορούν να έχουν μια τιμή αληθείας που να διαφέρει ανάλογα με τη χρονική στιγμή. Αντίθετα, οι άχρονες λογικές μπορούν να χειριστούν μόνο προτάσεις, η τιμή αληθείας των οποίων είναι σταθερή στο χρόνο. Αυτός ο χειρισμός των τιμών αληθείας στο χρόνο διαφοροποιεί τη χρονική λογική από την υπολογιστική λογική ρημάτων (computational verb logic).
Σε μια χρονική λογική μπορούν επομένως να εκφραστούν προτάσεις όπως: "Πεινάω πάντα", "Τελικά θα πεινάσω", ή "Θα πεινάω μέχρι να φάω κάτι".
Η χρονική λογική έχει βρει σημαντικές εφαρμογές στην τυπική επαλήθευση, όπου χρησιμοποιείται για να ορίζονται απαιτήσεις συστημάτων υλικού ή λογισμικού. Για παράδειγμα, μπορεί κανείς να θέλει να εκφράσει ότι οποτεδήποτε γίνεται μια αίτηση, τελικά θα δοθεί πρόσβαση σε έναν πόρο, αλλά ποτέ δε θα δοθεί πρόσβαση σε δύο αιτούντες ταυτόχρονα. Μια τέτοια πρόταση εκφράζεται σε μια χρονική λογική με βολικό τρόπο.
Η χρονική λογική έχει πάντα τη δυνατότητα να εκφράζει συλλογισμούς για μια χρονική γραμμή. Οι αποκαλούμενες λογικές γραμμικού χρόνου μπορούν να περιγράφουν μόνο αυτούς τους συλλογισμούς. Οι διακλαδιζόμενες λογικές, από την άλλη πλευρά, μπορούν να χειριστούν πολλαπλές χρονικές γραμμές, κάτι που προϋποθέτει ένα περιβάλλον που να μπορεί να συμπεριφέρεται απρόσμενα. Για να συνεχιστεί το παραπάνω παράδειγμα, σε μια διακλαδιζόμενη λογική μπορεί να εκφραστεί η πρόταση "υπάρχει η πιθανότητα ότι θα πεινάω για πάντα". Μπορεί επίσης να εκφραστεί η πρόταση "υπάρχει η πιθανότητα τελικά να μην πεινάω πια". Αν δεν είναι γνωστό αν το υποκείμενο θα φάει ή όχι τελικά, και οι δύο προτάσεις είναι αληθείς.
Δύο από τις πρώτες λογικές του είδους για τυπική επαλήθευση ήταν η Γραμμική Χρονική Λογική (μια γραμμική λογική του χρόνου από τους Αμίρ Πνουέλι και Ζοχάρ Μάνα) και η λογική υπολογιστικού δένδρου, μια διακλαδιζόμενη λογική από τους Έντμουντ Κλαρκ και Άλεν Έμερσον. Αν και η δεύτερη από αυτές είναι πιο αποδοτική από την πρώτη, αυτό δεν ισχύει γενικά για τις διακλαδιζόμενες και τις γραμμικές λογικές γενικά. Οι Έμερσον και Λάι έδειξαν ότι κάθε γραμμική λογική μπορεί να επεκταθεί σε μια γραμμική λογική που μπορεί να αποκριθεί με την ίδια πολυπλοκότητα.