Temporal logic ( temporal logic ; engelsk temporal logic ) - logik , i vars uttalanden den tidsmässiga aspekten beaktas. Används för att beskriva händelseförlopp och deras förhållande längs en tidsskala.
I forntida tider studerades användningen av logik i den tidsmässiga aspekten av filosoferna från den megariska skolan , i synnerhet Diodorus Cronus och stoikerna . Modern symbolisk tidslogik, som först konceptualiserades och formulerades på 1950-talet av Arthur Pryor [1] på basis av modal logik , användes mest och utvecklades inom datavetenskap tack vare arbetet av Turingpristagaren Amir Pnueli .
Innebörden av uttalandet: "Jag är hungrig" förändras inte med tiden, men dess sanning kan förändras: vid ett visst ögonblick kan det vara sant eller falskt, men inte både och. I motsats till icke-temporala logiker, där värdet av påståenden inte förändras över tiden, i temporal logik, beror värdet på när det testas. Temporal logik låter dig uttrycka uttalanden som "Jag är alltid hungrig", "Jag är ibland hungrig" eller "Jag är hungrig tills jag äter."
Det finns två typer av operatorer i temporal logik : logisk och modal. ( ) används ofta som logiska operatorer . Modaloperatorerna som används i linjär tidslogik och beräkningsträdlogik definieras enligt följande.
Textbeteckning | Symbolbeteckning | Definition | Beskrivning | Diagram |
---|---|---|---|---|
Binära operatorer | ||||
U | Till (stark): måste exekveras i någon stat i framtiden (möjligen den nuvarande), egenskapen måste exekveras i alla stater upp till (inte inklusive) den utsedda. | |||
R
V |
|
R release: Släpps om sant tills första gången det är sant (eller alltid om det inte gör det). Annars måste det bli sant minst en gång innan det blir sant första gången. | ||
Unära operatörer | ||||
N
X |
N e X t: måste vara sant i tillståndet omedelbart efter det givna. | |||
F | F uture: måste bli sann i minst ett tillstånd i framtiden. | |||
G | Globalt : måste vara sant i alla framtida stater. | |||
A | A ll: Måste köras på alla grenar som börjar med den här. | |||
E | Finns : Det finns minst en gren som är igång. |
Liksom de Morgans regler finns det dualitetsegenskaper för temporära operatörer:
Temporal logik används ofta för att uttrycka formella verifieringskrav . Till exempel, egenskaper som "om en förfrågan tas emot kommer ett svar definitivt att komma till den" eller "funktionen anropas inte mer än en gång per beräkning" är bekvämt att formulera med hjälp av tidslogik. Olika automater används för att testa sådana egenskaper, till exempel Büchis automater för att testa egenskaper uttryckta i LTL linjär tidslogik .
Den huvudsakliga universella varianten av temporal logik är den modala μ-kalkylen ( Scott - de Bakker , 1969); den inkluderar Henessy-Milner logik och CTL* som en delmängd , och de huvudsakliga varianterna som används inom datavetenskap - linjär tidslogik ( LTL ) och beräkningsträdlogik ( CTL ) - är fragment av CTL * .
Dessutom finns det andra varianter av temporal logik som inte kan reduceras till modal μ-kalkyl, till exempel intervall temporal logik och metrisk temporal logik
Vissa praktiska alternativ använder kombinationer av temporal logik med andra logiker, i synnerhet, sådan är den temporala handlingslogiken (skapad för TLA⁺- specifikationsspråket ), som kopplar samman temporal logik och handlingslogik .
Ordböcker och uppslagsverk |
---|
Logik | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofi • Semantik • Syntax • Historia | |||||||||
Logiska grupper |
| ||||||||
Komponenter |
| ||||||||
Lista över booleska symboler |