Talk:Computation tree logic

message: In the example it is not clear where to put the parentheses: is it EF(EG p => AF r) or is it (EF EG p) => AF r? Both are possible and I'm going to edit the section to match the first variant. This variant has the advantage that it truly is a formula according to the grammar given. The other is not as the implication formally needs parentheses. Xlae (talk) 16:39, 27 August 2014 (UTC)
thread_title: Examples (again)

message: Hi, I have a question about the examples. Are they supposed to be pure CTL, or CTL*? Because the last 2 are actually CTL* formulas. In order for them to be CTL, until operator needs to be path-quantified also.
Cheers,
-- Krle  — Preceding unsigned comment added by 93.87.39.27 (talk) 12:35, 4 November 2012 (UTC)
replies: text: You are right, I've just noticed it too. I'm going to edit the section and add a note that those two are CTL*. 62.245.100.121 (talk) 12:38, 10 January 2013 (UTC)
thread_title: Examples

message: * Does anybody know the full name for CTL*?
* And by the way, I'm not sure if the correct name is "Computational tree logic" or "Computation tree logic". I've seen both. Which is the (more) correct one?
--Ged (talk) 18:45, 20 Jul 2004 (UTC)
thread_title: Names?

message: I just came up with the terms "state operators" and "path operators" myself. If there is another "official" name for those or someone find something better, please edit... --Ged (talk) 02:00, 21 Jul 2004 (UTC)
thread_title:  State & path operators 

message: There are no state/path operators. There are temporal operators, temporal quantifiers (could be considered as operators also, I don't know), and state and path formulas. I corrected it in the article.
I Always forget to sign :(((
Ripper234 17:06, 2 April 2006 (UTC)
thread_title:  state/path operators 

message: This description of CTL is wrong. Though the given examples are valid CTL-Formulas, the description doesn't distinct between CTL and CTL* -- Neatlittleeraser 13:12, 6 July 2006 (UTC)
thread_title:  This is CTL* 

message: GF.p is expressible in CTL. It's equivalent to AG.AF.p.
Here's a proof:
Assume a model M and start state s satisfying GF.p
Then take any computation path π out of s.
Consider any state si on this path.
And consider any path π' out of si
π' is not necessarily a sub-path of π, but, since si is by construction reachable from s, π' is a sub-path of some path out of s.
Since GF.p holds for all paths out of s, we have F.p holds for the sub-path π'.
Thus we have F.p holds for any path out of si. Thus, si satisfies AF.p
Thus we have AF.p for any state on path π. Thus. π satisfies G.AF.p.
Thus we have G.AF.p for all paths out of s. Thus, s satisfies AG.AF.p.
So GF.p→AG.AF.p
Next assume a model M and start state s satisfying AG.AF.p.
Take any path π out of s.
Consider any state si on this path.
Since we have AG.AF.p, π satisfies G.AF.p, so si satisfies AF.p, so the subpath π' of π beginning at si satisfies F.p.
si was arbitrary, so all subpaths of π satisfy F.p.
So π satisfies GF.p
π was arbitrary, so s satisfies GF.p.
So AG.AF.p→GF.p
So they're equivalent. GF.p is expressible in CTL.
I've changed it to FG.p. This actually isn't expressible in CTL.
Now, I think the original erroneous example was a mis-copy of an example in Huth and Ryan. The example Huth and Ryan actually uses is GF.p→GF.q. Since I think this is what the original editor intended, perhaps this should be used in place of FG.p. I don't think it really matters.
On the subject of Huth and Ryan though, if you're using it as reference, the examples seem to imply that FG.p is expressible as AF.AG.p, but this is not true. Consider the system of three states, with transitions
1→1, 1→2, 2→3, 3→3
where p is true in states 1 and 3, but not in state 2. I assume 1 as start state.
On all paths, there is some state after which p is always true, so FG.p holds. However, there is a path, specifically 1→1→1→1→1→…, on which no state satisfies AG.p (even though this path does satisfy G.p) since at state 1 we always have the possible path 1→2→3→3→…, which does not satisfy G.p. Thus the model does not satisfy AF.AG.p. Huth and Ryan's examples for FG.p and AF.AG.p seem equivalent because it uses deadlock as p, and deadlock states tend to always satisfy AG.deadlock. —The preceding unsigned comment was added by 18.243.5.80 (talk) 08:42, 2 May 2007 (UTC)
thread_title:  GF.p and CTL 

message: There is no derivation of the weak until operators from the minimal set of operators. --Marco Bakera 05:48, 3 May 2007 (UTC)
thread_title:  No derivation for weak until  

message: The "state operators" definition says
N φ - Next: φ has to hold at the next state (this operator is sometimes noted X instead of N).
But below, only X is used. I'll exchange N and X in the definition (less work ;)). If anyone objects, just change every X to N below. 
132.231.54.1 16:20, 3 May 2007 (UTC)
thread_title:  Inconsistent use of N/X 

message: I've changed the article to using \Rightarrow over \rightarrow for logical implication to distinguish this from the notation used to represent the state transition function. This could equally be the other way round, so long as they're distinct, but it appears standard in the literature to use them this way. --Someguy137 10:22, 4 June 2007 (UTC)
thread_title:  Notation 

message: The notation used in the slides linked is really bad.   It's very unconventional.  —Preceding unsigned comment added by 87.194.191.26 (talk) 01:21, 13 February 2009 (UTC)
thread_title:  Lecture slides 

message: Currently there isn't anything useful at CTL* - I suggest turning it into a redirect. Ripper234 (talk) 23:35, 13 December 2007 (UTC)
thread_title:  Merge from [[CTL*]] 

message: * F is define as "F φ - Finally: φ eventually has to hold (somewhere on the subsequent path)."<BR>
* U is define as "φ U ψ - Until: φ has to hold until at some position ψ holds. This implies that ψ will be verified in the future."<BR>
* and it is said that : " Fφ == [trueU(φ)] "
but Fφ doesn't impose that φ have to be verified unlike [trueU(φ)] which implies that φ will be verified.
Where is the bug? does Fφ means that φ has to hold (not eventually)?  —Preceding unsigned comment added by 152.77.200.242 (talk) 13:20, 6 July 2010 (UTC)
replies: text: Ok, from your IP you are French, but i know the same problem from German, too. Eventually in English does not translate to "éventuel" (or "eventuell" in German), but more "enfin" (fr)/"schließlich" (de). So, "eventually φ" means that at some point φ will hold (although it's not important at which point exactly), which also is expressed by "trueUφ". But you're not alone with this, the same question was raised in some of the lectures I attended that involved temporal logics ;-) Thomas5388 (talk) 04:08, 26 November 2010 (UTC)
thread_title:  transformation of EFφ 

message: The AG(PUQ) example seems to be explained badly. PUQ must hold on every path forever. So one likes chocolate until it is warm outside, but once it is warm, and then becomes cold again, one still has to like chocolate until it is warm. The textual description does not make this at all clear.  — Preceding unsigned comment added by 78.27.127.183 (talk) 09:13, 26 October 2020 (UTC)
thread_title:  Examples (once more)