1 % COMMAND-LINE: --finite-model-find -i
7 signed:(prin,form)->BOOLEAN;
8 says:(prin,form)->BOOLEAN;
10 speaksfor:(prin,prin)->form;
11 signedE:BOOLEAN = FORALL(x:prin,y:form) : signed(x,y) => says(x,y);
12 saysE:BOOLEAN = FORALL(x,y:prin,z:form) : says(x,speaksfor(y,x)) AND says(y,z) => says(x,z);
22 x2:BOOLEAN = signed(alice,openfile);
24 x3:BOOLEAN = signed(dave,speaksfor(alice,dave));
27 QUERY NOT says(dave,openfile); % this is invalid
28 QUERY says(dave,openfile); % this is valid