2010-06-09から1日間の記事一覧

Quantifications

sig Name { address: set Addr } sig Addr {} pred All [] { all n:Name | one n.address } pred Some [] { some n:Name | one n.address } pred No [] { no n:Name | one n.address } pred Lone [] { lone n:Name | one n.address } pred One [] { one n:Na…

RlationalOperators

sig Book { name:set Name } sig Name { addr:set Addr, mainaddress: one Addr } sig Addr {} fun Arrow []: set Name -> Addr { Name -> Addr } fun Dot [] : set Name { Book.(Book->Name) } fun Box [] : set Addr { (Name->Addr)[Name] } fun Transpose…

SetOperators.als

/* Name = {(G0),(A0),(A1)} Alias = {(A0),(A1)} Group = {(G0)} RecentlyUsed = {(G0),(A1)} */ abstract sig Name {} sig Alias extends Name {} sig Group extends Name {} sig RecentlyUsed in Name {} fun Union []:set Name { Alias + Group } fun In…