Skip to Content.
Sympa Menu

k-user - Re: [K-user] Semantics of lists, sets, and bags

k-user AT lists.cs.illinois.edu

Subject: K-user mailing list

List archive

Re: [K-user] Semantics of lists, sets, and bags


Chronological Thread 
  • From: Charles Jacobsen <charlie.jacobsen AT utah.edu>
  • To: "k-user AT cs.uiuc.edu" <k-user AT cs.uiuc.edu>
  • Subject: Re: [K-user] Semantics of lists, sets, and bags
  • Date: Sat, 8 Jun 2013 15:20:36 +0000
  • Accept-language: en-US
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/k-user/>
  • List-id: <k-user.cs.uiuc.edu>

Ah, I see. That makes sense. I skimmed over that section in the overview too quickly.


From: k-user-bounces AT cs.uiuc.edu [k-user-bounces AT cs.uiuc.edu] on behalf of Dorel Lucanu [dlucanu AT info.uaic.ro]
Sent: Saturday, June 08, 2013 1:05 AM
To: k-user AT cs.uiuc.edu
Subject: Re: [K-user] Semantics of lists, sets, and bags

Dear Charles,

Thanks for your message.
The configuration abstraction mechanism is a bit more complex than that used for list.
The main idea is that the context transformation algorithm (which reconstruct the subconfiguration from the abstract one) maps the cells  from rules  to configuration such that the implied configuration is minimal;  this is called "locality principle" in An Overview of the K Semantic Framework by Grigore Rosu and Traian Florin Serbanuta (see the publication list).
So, the context transformation algorithm produces exact the configuration written at the end of your message.

Bests,
Dorel



On 08.06.2013 4:19, Charles Jacobsen wrote:
Greetings ---

Are the semantics of built-in lists, sets, and bags available? For example, I found the following simple rule natural, but wanted to see why it works (looking at the relevant rule):

<some-list-cell> ... (.List => ListItem(15)) ... </some-list-cell>

This means we can insert anywhere in a list.

This next rule is a bit perplexing, due to the configuration abstraction (found in the imp++ tutorial):

rule <k> spawn S => T ...</k> <env> Rho </env>
       (. => <thread>... <k> S </k> <env> Rho </env> <id> T </id> ...</thread>)

It seems like the implied configuration, wrapping this, is:

rule <thread>
        <k> spawn S => T ...</k> <env> Rho </env>
        (. => <thread>... <k> S </k> <env> Rho </env> <id> T </id> ...</thread>)
     </thread>

as only <k> and <env> cells appear in <thread> cells; but I think that is not correct. I think the implied configuration is:

rule <threads>
        ...       

        <thread>
           ...
           <k> spawn S => T ...</k>
           <env> Rho </env>
           ...
        </thread>
        (. => <thread>... <k> S </k> <env> Rho </env> <id> T </id> ...</thread>)
        ...
     </threads>

Is that correct? I am not sure.

Charlie (undergrad)


_______________________________________________
k-user mailing list
k-user AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/k-user

-- 
======================================
Dorel Lucanu, Ph.D.
Department of Computer Science, director
Faculty of Computer Science
Alexandru Ioan Cuza University
Berthelot 16, 700483 Iasi, Romania
URL: www.infoiasi.ro/~dlucanu
Tel.: +40 232 201551
Fax.: +40 232 201490
====================================== 



Archive powered by MHonArc 2.6.16.

Top of Page