alloy - Is using util/ordering exactly the same as axiomatizing a total order in the usual way? -


the util/ordering module contains comment @ top of file fact bound of module parameter constrained have exactly bound permitted scope said signature.

i have read few times (here instance) optimization allows generate nice symmetry-breaking predicate, can grasp. (btw, respect the said post, right infer exactly keyword in module parameter specification here enforce explictly exact bound (while implicit in pre-4.x alloy versions)?)

however, comment contains part not seem refer optimization issue has semantic flavour:

 * technical comment:  * important constraint: elem must contain atoms permitted scope.  * let analyzer optimize analysis setting fields of each  * instantiation of ord predefined values: e.g. setting 'last' highest  * atom of elem , setting 'next' {<t0,t1>,<t1,t2>,...<tn-1,tn>}, n  * scope of elem. without constraint, might not true ord.last  * subset of elem, , domain , range of ord.next lie inside elem.   

so, not understand this, in particular last sentence ord.last , ord.next... suppose model totally-ordered signature s in classical way (i.e. specifying total, reflexive, antisymmetric, transitive relation in s -> s, being possible using plain first-order logic) , take care specify exact bound s: equivalent stating open util/ordering[s] (ignoring efficiency , confusing atom-naming issues)?

sorry slow response this. isn't clear, it? means because of symmetry breaking, values of last, prev , next hardwired. if done, , independently elem bound set smaller set of possible atoms elem, you'd have strange violations of declarations such ord.last not being in set elem. there's nothing understand beyond: (1) keyword forces elem contain atoms in given scope, , (2) ordering relation hardwired atoms appear in "natural" order.


Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -

Nuget pack csproj using nuspec -