1 :- dynamic parserVersionNum/1, parserVersionStr/1, parseResult/5.
2 :- dynamic module/4.
3 'parserVersionStr'('0.6.2.1').
4 'parseResult'('ok','',0,0,0).
5 :- dynamic channel/2, bindval/3, agent/3.
6 :- dynamic agent_curry/3, symbol/4.
7 :- dynamic dataTypeDef/2, subTypeDef/2, nameType/2.
8 :- dynamic cspTransparent/1.
9 :- dynamic cspPrint/1.
10 :- dynamic pragma/1.
11 :- dynamic comment/2.
12 :- dynamic assertBool/1, assertRef/5, assertTauPrio/6.
13 :- dynamic assertModelCheckExt/4, assertModelCheck/3.
14 :- dynamic assertLtl/4, assertCtl/4.
15 'parserVersionNum'([0,11,1,1]).
16 'parserVersionStr'('CSPM-Frontent-0.11.1.1').
17 'dataTypeDef'('AIRPORT',['constructor'('LGW'),'constructor'('SOU'),'constructor'('AMS')]).
18 'bindval'('airportpairs','setExp'('rangeEnum'(['tupleExp'([_i,_j])]),['comprehensionGenerator'(_i,'AIRPORT'),'comprehensionGenerator'(_j,'AIRPORT')]),'src_span'(38,1,38,45,1601,44)).
19 'channel'('link','type'('dotTupleType'(['AIRPORT','AIRPORT']))).
20 'channel'('break','type'('dotTupleType'(['AIRPORT','AIRPORT']))).
21 'bindval'('Sigma','closure'(['link','break']),'src_span'(41,1,41,23,1682,22)).
22 'agent'('LNK'(_i2,_j2),'[]'('prefix'('src_span'(43,12,43,20,1717,8),[],'dotTuple'(['link',_i2,_j2]),'prefix'('src_span'(43,24,43,32,1729,8),[],'dotTuple'(['link',_j2,_i2]),'agent_call'('src_span'(43,36,43,39,1741,3),'BRK',[_i2,_j2]),'src_span'(43,33,43,35,1737,20)),'src_span'(43,21,43,23,1725,32)),'prefix'('src_span'(43,48,43,56,1753,8),[],'dotTuple'(['link',_j2,_i2]),'prefix'('src_span'(43,60,43,68,1765,8),[],'dotTuple'(['link',_i2,_j2]),'agent_call'('src_span'(43,72,43,75,1777,3),'BRK',[_i2,_j2]),'src_span'(43,69,43,71,1773,20)),'src_span'(43,57,43,59,1761,32)),'src_span_operator'('no_loc_info_available','src_span'(43,45,43,47,1750,2))),'no_loc_info_available').
23 'agent'('BRK'(_i3,_j3),'[]'('prefix'('src_span'(44,12,44,21,1797,9),[],'dotTuple'(['break',_i3,_j3]),'prefix'('src_span'(44,25,44,34,1810,9),[],'dotTuple'(['break',_j3,_i3]),'agent_call'('src_span'(44,38,44,41,1823,3),'LNK',[_i3,_j3]),'src_span'(44,35,44,37,1819,21)),'src_span'(44,22,44,24,1806,34)),'prefix'('src_span'(44,50,44,59,1835,9),[],'dotTuple'(['break',_j3,_i3]),'prefix'('src_span'(44,63,44,72,1848,9),[],'dotTuple'(['break',_i3,_j3]),'agent_call'('src_span'(44,76,44,79,1861,3),'LNK',[_i3,_j3]),'src_span'(44,73,44,75,1857,21)),'src_span'(44,60,44,62,1844,34)),'src_span_operator'('no_loc_info_available','src_span'(44,47,44,49,1832,2))),'no_loc_info_available').
24 'agent'('alpha'(_i4,_j4),'setExp'('rangeEnum'(['dotTuple'(['link',_i4,_j4]),'dotTuple'(['link',_j4,_i4]),'dotTuple'(['break',_i4,_j4]),'dotTuple'(['break',_j4,_i4])])),'src_span'(46,14,46,56,1884,42)).
25 'bindval'('MAIN','procRepAParallel'(['comprehensionGenerator'('tuplePat'([_i5,_j5]),'val_of'('airportpairs','src_span'(48,17,48,29,1944,12)))],'pair'('agent_call'('src_span'(48,33,48,38,1960,5),'alpha',[_i5,_j5]),'agent_call'('src_span'(48,45,48,48,1972,3),'LNK',[_i5,_j5])),'src_span'(48,11,48,31,1938,20)),'src_span'(48,1,48,53,1928,52)).
26 'bindval'('SPEC','|~|'('stop'('src_span'(50,8,50,12,1990,4)),'repInternalChoice'(['comprehensionGenerator'(_x,'agent_call'('src_span'(50,24,50,28,2006,4),'diff',['val_of'('Sigma','src_span'(50,29,50,34,2011,5)),'setExp'('rangeEnum'(['dotTuple'(['link',_i6,_i6]),'dotTuple'(['break',_i6,_i6])]),['comprehensionGenerator'(_i6,'AIRPORT')])]))],'prefix'('src_span'(50,68,50,69,2050,1),[],_x,'val_of'('SPEC','src_span'(50,71,50,75,2053,4)),'src_span'(50,70,50,70,2051,7)),'src_span'(50,22,50,68,2004,46)),'src_span_operator'('no_loc_info_available','src_span'(50,13,50,16,1995,3))),'src_span'(50,1,50,76,1983,75)).
27 'assertRef'('False','val_of'('SPEC','src_span'(52,8,52,12,2067,4)),'Failure','val_of'('MAIN','src_span'(52,17,52,21,2076,4)),'src_span'(52,1,52,21,2060,20)).
28 'assertRef'('True','val_of'('MAIN','src_span'(53,12,53,16,2092,4)),'Trace','val_of'('SPEC','src_span'(53,21,53,25,2101,4)),'src_span'(53,1,53,25,2081,24)).
29 'comment'('lineComment'('-- AiportCtrl'),'src_position'(1,1,0,13)).
30 'comment'('lineComment'('--SPEC allows all behaviour apart from aiports'),'src_position'(3,1,15,46)).
31 'comment'('lineComment'('--linking or breaking with themselves'),'src_position'(4,1,62,37)).
32 'comment'('lineComment'('--the CSPm process MAIN does not refine the SPEC'),'src_position'(6,1,101,48)).
33 'comment'('lineComment'('--as aiports can be link or break with themselves'),'src_position'(7,1,150,49)).
34 'comment'('lineComment'('--the guards in the B component of the CSP||B combination block such behaviour '),'src_position'(9,1,201,79)).
35 'comment'('lineComment'('--and so it should satisfy the assertion'),'src_position'(10,1,281,40)).
36 'comment'('lineComment'('--However, when combining the CSP||M model all CSP events e are renamed to CSP:e '),'src_position'(12,1,323,81)).
37 'comment'('lineComment'('--hence a spurious counterexample is returned'),'src_position'(13,1,405,45)).
38 'comment'('lineComment'('--as the alphabet of the CSP process SPEC '),'src_position'(14,1,451,42)).
39 'comment'('lineComment'('--and the CSP||M combination MAIN do not match'),'src_position'(15,1,494,46)).
40 'comment'('lineComment'('--We request that each event in the alphabet of each CSP process '),'src_position'(17,1,542,65)).
41 'comment'('lineComment'('--used within assertion specified in the CSP file are prepended with \x27\CSP:\x27\ '),'src_position'(18,1,608,76)).
42 'comment'('lineComment'('--when CSP is being used to drive a B machine'),'src_position'(19,1,685,45)).
43 'comment'('lineComment'('--Alternatively, like MAIN, SPEC could be a special process name'),'src_position'(21,1,732,64)).
44 'comment'('lineComment'('--for a process that should have all events in its alphabet'),'src_position'(22,1,797,59)).
45 'comment'('lineComment'('--prepended with \x27\CSP:\x27\ for this purpose, if this aids implementation.'),'src_position'(23,1,857,70)).
46 'comment'('lineComment'('--This would allow only one assertion for each file, but others could'),'src_position'(24,1,928,69)).
47 'comment'('lineComment'('--be commented out when checking alternative assertions.'),'src_position'(25,1,998,56)).
48 'comment'('lineComment'('--In the meantime we are able to output the entire statespace of the CSP||B'),'src_position'(27,1,1056,75)).
49 'comment'('lineComment'('--combination to an FDR file to perform such checks, but on larger models'),'src_position'(28,1,1132,73)).
50 'comment'('lineComment'('--losing on the fly model checking becomes problematic'),'src_position'(29,1,1206,54)).
51 'comment'('lineComment'('--Note, we realise that the same property could be checked by hiding break.i.j '),'src_position'(31,1,1262,79)).
52 'comment'('lineComment'('--and link.i.j events where i!=j and then checking whether this modified'),'src_position'(32,1,1342,72)).
53 'comment'('lineComment'('--MAIN process refines STOP.'),'src_position'(33,1,1415,28)).
54 'comment'('lineComment'('--However, in general we wish to express any arbitrary SPEC that may'),'src_position'(34,1,1444,68)).
55 'comment'('lineComment'('--not be possible to checked with a similar trick.'),'src_position'(35,1,1513,50)).
56 'symbol'('AIRPORT','AIRPORT','src_span'(37,10,37,17,1574,7),'Datatype').
57 'symbol'('LGW','LGW','src_span'(37,20,37,23,1584,3),'Constructor of Datatype').
58 'symbol'('SOU','SOU','src_span'(37,26,37,29,1590,3),'Constructor of Datatype').
59 'symbol'('AMS','AMS','src_span'(37,32,37,35,1596,3),'Constructor of Datatype').
60 'symbol'('airportpairs','airportpairs','src_span'(38,1,38,13,1601,12),'Ident (Groundrep.)').
61 'symbol'('i','i','src_span'(38,23,38,24,1623,1),'Ident (Prolog Variable)').
62 'symbol'('j','j','src_span'(38,34,38,35,1634,1),'Ident (Prolog Variable)').
63 'symbol'('link','link','src_span'(40,9,40,13,1655,4),'Channel').
64 'symbol'('break','break','src_span'(40,14,40,19,1660,5),'Channel').
65 'symbol'('Sigma','Sigma','src_span'(41,1,41,6,1682,5),'Ident (Groundrep.)').
66 'symbol'('LNK','LNK','src_span'(43,1,43,4,1706,3),'Funktion or Process').
67 'symbol'('i2','i','src_span'(43,5,43,6,1710,1),'Ident (Prolog Variable)').
68 'symbol'('j2','j','src_span'(43,7,43,8,1712,1),'Ident (Prolog Variable)').
69 'symbol'('BRK','BRK','src_span'(44,1,44,4,1786,3),'Funktion or Process').
70 'symbol'('i3','i','src_span'(44,5,44,6,1790,1),'Ident (Prolog Variable)').
71 'symbol'('j3','j','src_span'(44,7,44,8,1792,1),'Ident (Prolog Variable)').
72 'symbol'('alpha','alpha','src_span'(46,1,46,6,1871,5),'Funktion or Process').
73 'symbol'('i4','i','src_span'(46,7,46,8,1877,1),'Ident (Prolog Variable)').
74 'symbol'('j4','j','src_span'(46,9,46,10,1879,1),'Ident (Prolog Variable)').
75 'symbol'('MAIN','MAIN','src_span'(48,1,48,5,1928,4),'Ident (Groundrep.)').
76 'symbol'('i5','i','src_span'(48,12,48,13,1939,1),'Ident (Prolog Variable)').
77 'symbol'('j5','j','src_span'(48,14,48,15,1941,1),'Ident (Prolog Variable)').
78 'symbol'('SPEC','SPEC','src_span'(50,1,50,5,1983,4),'Ident (Groundrep.)').
79 'symbol'('x','x','src_span'(50,22,50,23,2004,1),'Ident (Prolog Variable)').
80 'symbol'('diff','diff','src_span'(50,24,50,28,2006,4),'BuiltIn primitive').
81 'symbol'('i6','i','src_span'(50,55,50,56,2037,1),'Ident (Prolog Variable)').