Hi Thomas,

thanks very much for these background info and paper links (I only know&read 
one of them before). Honestly speaking, I didn’t notice the existence of 
“example/temporal_deep” folder before.

I’m currently working in the Italy research group who developed NuSMV and nuXmv 
model checkers. They internally used the same symbolic algorithm as the work in 
HOL’s "src/temporal”. And I’m trying to make sure all my future LTL-based work 
are formally verified, and with HOL4 I actually have such many different 
choices, that’s great.

Any way, I’ll read all the relevant materials before making a decision on which 
one to base upon.

Regards,

Chun Tian

> Il giorno 21 mag 2018, alle ore 19:30, Thomas Tuerk <tho...@tuerk-brechen.de> 
> ha scritto:
> 
> Hi,
> 
> I worked with the other formalisation in "src/temporal" by Klaus Schneider 
> briefly for my master thesis in 2004/2005 supervised by Prof. Schneider. As 
> far as I remember (ages ago), one of the main points is a translation of LTL 
> into symbolically represented omega-automata. There is a paper by Prof. 
> Schneider about it, which mentions this translation:
> 
> K. Schneider. Improving automata generation for linear temporal logic by 
> considering the automata hierarchy.
> In Logic for Programming, Articial Intelligence, and Reasoning (LPAR), volume 
> 2250 of LNAI, Havanna, Cuba, 2001. Springer.
> https://es.cs.uni-kl.de/publications/datarsg/Schn01b.pdf
> It is -- as you said -- a shallow embedding and I believe it focuses on 
> automata formulae and this translation of LTL into automata formulae. For my 
> master thesis I created a deep embedding of this algorithm. I translated a 
> subset of PSL into LTL and then used this algorithm to get omega automata. I 
> used a deep embedding partly because I had no clue what I was doing (it was 
> the very first time I used HOL 4) and partly because I cared about things 
> like counting the number of occurrences of certain operators in the LTL 
> formulae. This work can be found in "examples/temporal_deep".
> 
> There used to be a debate whether alternating omega automata or symbolically 
> represented nondeterministic / universal ones are better for certain model 
> checking problems (efficiency of certain implementations, algorithms, ...). 
> As part of an investigation into this, I extended the work in 
> "examples/temporal_deep" with a deep embedding of alternating automate and 
> verified a few algorithms. It's ages ago, but I believe that while for 
> specific instances it might be better to use automata formulae, in general 
> the alternating ones that seem to be implemented in "examples/logic/ltl" are 
> superior for most applications. A technical report of my thoughts at that 
> time is available at
> 
> The stuff in "examples/temporal_deep" got also extended for model checking 
> PSL using HOL and SMV.
> 
> http://www.thomas-tuerk.de/publications/Tuer05.pdf (my master thesis, lengthy 
> and poor English (the very first technical document I wrote in English))
> http://www.thomas-tuerk.de/publications/TuSc05.pdf (my master thesis as 
> published at ITP 2005)
> http://www.thomas-tuerk.de/publications/TuSc05a.pdf (comparing alternating 
> automata and symbolically represented ones)
> http://www.thomas-tuerk.de/publications/TuSG07.pdf (PSL model checking)
> 
> Cheers
> 
> Thomas
> 
> 
> On 21.05.2018 14:40, Chun Tian wrote:
>> Hi Michael,
>> 
>> thanks for the explanation and paper link!
>> 
>> Regards,
>> 
>> Chun
>> 
>> 
>>> Il giorno 20 mag 2018, alle ore 11:56, michael.norr...@data61.csiro.au
>>>  ha scritto:
>>> 
>>> The paper describing the work in examples/logic/ltl will appear at ITP this 
>>> year.  Because there's a slight CakeML angle to it, it's available from 
>>> cakeml.org at
>>> https://cakeml.org/itp18.pdf
>>> .
>>> 
>>> You are right that this work could be described as a deep embedding.
>>> 
>>> Deep embeddings usually have the advantage that you can describe algorithms 
>>> on the syntax, and not just have to think about the semantic values. For 
>>> example, you can describe the NNF transformation when you have a deep 
>>> embedding, but the best option for something similar with a shallow 
>>> embedding is a statement of some equivalences between different semantic 
>>> formulations of the same thing.
>>> 
>>> It's also obviously useful to have a type corresponding to the syntax if 
>>> you are going to define computable functions to traverse over it and 
>>> transform it into automata (as is done in our work).
>>> 
>>> Michael
>>> 
>>> On 19/5/18, 00:42, "Chun Tian"
>>> <binghe.l...@gmail.com>
>>>  wrote:
>>> 
>>>    Hi,
>>> 
>>>    I saw how the new LTL formalization (in `examples/logic/ltl`) by Simon 
>>> Jantsch suddenly appeared in the past months and because more and more 
>>> complete also with help of HOL maintainers. But there’s already an older 
>>> LTL formalization (in `src/temporal`) since long time ago, done by Klaus 
>>> Schneider et al. [1]
>>> 
>>>    My first question: is there a paper (in PDF, published or unpublished) 
>>> documenting the work in `examples/logic/ltl` so that I can learn beside 
>>> looking at raw HOL scripts?
>>> 
>>>    Second question: regarding the difference between two versions of LTL 
>>> formalizations, can I say the work in `examples/logic/ltl` is a *deep* 
>>> embedding? (because it has to define the LTL syntax by a datatype:
>>> 
>>>    val _ = Datatype`
>>>      ltl_frml
>>>      = VAR 'a
>>>      | N_VAR 'a
>>>      | DISJ ltl_frml ltl_frml
>>>      | CONJ ltl_frml ltl_frml
>>>      | X ltl_frml
>>>      | U ltl_frml ltl_frml
>>>      | R ltl_frml ltl_frml`;
>>>    )
>>> 
>>>     while the work in `src/temporal` is *shallow* embedding? (because it 
>>> embeds LTL term into HOL as ``:num -> bool`` without using any datatype)
>>> 
>>>     and if so, what’s the pros and cons for choosing one of them as a 
>>> working basis (for proving further results)?
>>> 
>>>    Third question: is there a way to connect the two versions of LTL, so 
>>> that LTL theorems proved from one side can be (somehow) automatically 
>>> translated into theorems on the other side?
>>> 
>>>    Regards,
>>> 
>>>    Chun
>>> 
>>>    [1] Schneider, K., Hoffmann, D.W.: A HOL Conversion for Translating 
>>> Linear Time Temporal Logic to ω-Automata. In: Bassiliades, N., Gottlob, G., 
>>> Sadri, F., Paschke, A., and Roman, D. (eds.) LNCS 9202 - Rule Technologies: 
>>> Foundations, Tools, and Applications. pp. 255–272. Springer Berlin 
>>> Heidelberg, Berlin, Heidelberg (1999).
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org!
>>> http://sdm.link/slashdot
>>> 
>>> _______________________________________________
>>> hol-info mailing list
>>> 
>>> hol-info@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/hol-info
>> 
>> 
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org!
>> http://sdm.link/slashdot
>> 
>> 
>> _______________________________________________
>> hol-info mailing list
>> 
>> hol-info@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/hol-info
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! 
> http://sdm.link/slashdot_______________________________________________
> hol-info mailing list
> hol-info@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hol-info

Attachment: signature.asc
Description: Message signed with OpenPGP

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to