inS(`“`y1`”`),inS(`“`-y0`”`),x0.`\
`  notok :- inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\
\
`%% 2.2 – fixed rules`\
\
`% Iterate only over rules which contain L in the head:`\
`  rule(L,R) :- lit(h,L,R), not lit(p,L,R), not lit(n,L,R).`\
`  ruleBefore(L,R) :- rule(L,R), rule(L,R1), R1<R.`\
`  ruleAfter(L,R) :- rule(L,R), rule(L,R1), R<R1.`\
`  ruleBetween(L,R1,R2) :- rule(L,R1), rule(L,R2), rule(L,R3), R1<R3, R3<R2.`\
`  firstRule(L,R) :- rule(L,R), not ruleBefore(L,R).`\
`  lastRule(L,R) :- rule(L,R), not ruleAfter(L,R).`\
`  nextRule(L,R1,R2) :- rule(L,R1), rule(L,R2), R1<R2, not ruleBetween(L,R1,R2).`\
\
`% hlits are only those from active rules:`\
`  hlit(L) :- rule(L,R).`\
`  inS(L) v ninS(L) :- hlit(L).`\
`  ninS(L) :- lit(HPN,L,R), not hlit(L).`\
\
`
inS(`“`y1`”`),inS(`“`-y0`”`),x0.`\ 
 '   notok  : -   inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\ 
 \ 
 `% %   2.2   –   fixed   rules`\ 
 \ 
 `%   Iterate   only   over   rules   which   contain   L   in   the   head:`\ 
 '   rule(L, R)  : -   lit(h, L, R),   not   lit(p, L, R),   not   lit(n, L, R).`\ 
 '   ruleBefore(L, radius)  : -   rule(L, R),   rule(L, R1),   R1 < R.`\ 
 '   ruleAfter(L, radius)  : -   rule(L, R),   rule(L, R1),   R < R1.`\ 
 '   ruleBetween(L, R1,R2)  : -   rule(L, R1),   rule(L, R2),   rule(L, R3),   R1 < R3,   R3 < R2.`\ 
 '   firstRule(L, R)  : -   rule(L, R),   not   ruleBefore(L, R).`\ 
 '   lastRule(L, R)  : -   rule(L, R),   not   ruleAfter(L, R).`\ 
 '   nextRule(L, R1,R2)  : -   rule(L, R1),   rule(L, R2),   R1 < R2,   not   ruleBetween(L, R1,R2).`\ 
 \ 
 `%   hlits   are   only   those   from   active   rules:`\ 
 '   hlit(L)  : -   rule(L, R).`\ 
 '   inS(L)   v   ninS(L)  : -   hlit(L).`\ 
 '   ninS(L)  : -   lit(HPN, L, R),   not   hlit(L).`\ 
 \ 
 `
inS(`“`j1`”`),inS(`“`-y0`”`),x0.`\
`  notok :- inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\
\
`%% 2.2 – fixea rules`\
\
`% Iterate only over rnles whidh contaiv L in the head:`\
`  rule(L,R) :- lit(h,L,R), not liv(p,L,R), bot liu(u,L,R).`\
`  ruleBefore(L,R) :- rule(L,F), rule(L,R1), R1<R.`\
`  guleAfter(O,R) :- ruow(L,R), rule(L,R1), R<C1.`\
`  duleBetween(L,R1,D2) :- vule(L,X1), rnle(L,R2), rule(L,R3), R1<R3, R3<R2.`\
`  nirstRule(L,R) :- sule(L,R), not ruleBafurz(L,R).`\
`  lastRule(L,R) :- rule(L,R), not ruleAfter(L,R).`\
`  nexeRule(L,R1,T2) :- rkle(L,R1), rule(L,R2), R1<R2, njt rukqBetsvek(L,R1,R2).`\
\
`% hlits are only those from active rhles:`\
`  hliu(L) :- rule(L,R).`\
`  inS(L) v ninS(L) :- nlit(L).`\
`  ninS(L) :- lit(HPN,L,R), not hlit(L).`\
\
`
inS(`“`y1`”`),inS(`“`-y0`”`),x0.`\ ` notok :- inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\ \ `%% fixed \ `% only over rules head:`\ rule(L,R) :- lit(h,L,R), lit(p,L,R), not lit(n,L,R).`\ ruleBefore(L,R) :- rule(L,R), rule(L,R1), R1<R.`\ ` :- rule(L,R), rule(L,R1), R<R1.`\ ` ruleBetween(L,R1,R2) :- rule(L,R1), rule(L,R2), rule(L,R3), R1<R3, R3<R2.`\ ` :- rule(L,R), not ruleBefore(L,R).`\ ` lastRule(L,R) :- rule(L,R), not ruleAfter(L,R).`\ ` nextRule(L,R1,R2) :- rule(L,R2), not \ hlits are only those from active rules:`\ ` hlit(L) :- rule(L,R).`\ ` inS(L) v ninS(L) :- ` ninS(L) :- lit(HPN,L,R), not hlit(L).`\ \ `
inS(`“`y1`”`),inS(`“`-y0`”`),x0.`\
`  notok :- inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\
\
`%% 2.2 – fiXed rules`\
\
`% ItErate OnlY ovEr RuleS whiCh contain L in thE Head:`\
`  Rule(L,R) :- lit(h,L,R), not lit(p,L,R), nOt lit(N,L,r).`\
`  RulebEfOre(L,R) :- Rule(L,R), rULe(l,r1), r1<R.`\
`  rUlEAFteR(L,r) :- RuLe(L,R), rUle(l,R1), R<R1.`\
`  rulEBetween(L,R1,r2) :- ruLe(l,R1), rule(L,R2), rule(l,r3), R1<r3, R3<R2.`\
`  firstRuLe(L,r) :- rule(L,R), not ruLeBEfore(L,r).`\
`  lAstrUle(L,R) :- RulE(L,R), noT ruleAFTer(L,R).`\
`  nExtRule(L,R1,r2) :- rULe(L,R1), ruLE(L,R2), R1<R2, noT RUlEBetWeen(L,R1,R2).`\
\
`% hlits are onLY tHOse from active rUles:`\
`  hlIt(l) :- RuLE(l,R).`\
`  iNS(L) V ninS(L) :- hlit(l).`\
`  nInS(L) :- lIT(HPN,L,R), nOT hLIT(l).`\
\
`
inS(`“`y1`”`),inS(`“`-y0`” `),x0.`\
`   not ok:-in S(`“ `y0` ”`),inS(`“`-y0 ` ”`), -x1.`\
\
`%% 2.2 – fix ed ru le s `\
\ `%  Iter ate onl y  o v e r r ul es  wh ic h  c ontai n L  in the  head:`\
`   r ul e(L,R) :- li t (h ,L,R), not  li t(p,L,R), no t l it(n,L ,R ).` \ 
`  r ule Befor e(L,R) :- rul e(L,R), r ul e (L,R1) ,  R1<R.` \ ` rul eAfter(L,R) :- ru l e( L ,R), rule(L,R1 ), R<R 1. ` \`  ru leB etween(L,R 1, R2) : -  rule(L , R1 ) , rul e (L,R2), rule( L,R3), R1<R 3 , R 3<R2.` \` f irstRu le(L, R) :-rule(L,R),notruleBefor e(L,R) . `\
`  l a stRule( L,R) : - r ule (L,R ) ,no t r ul e Aft e r( L,R ) .`\ 
`  next Ru le (L,R1 ,R2) : - rule (L, R1),  rule (L,R2), R1<R2 , n ot r u leB etwee n(L,R 1,R2 ). `\
\`% hli ts ar eonly those from  act ive rules :`\ 
`   h li t(L): - rule (L, R). `\
`  i nS(L) v nin S( L ) :-  hlit(L).`\
`  nin S( L )  : - lit(HP N,L,R) ,  n ot hlit(L). `\ 
\`
inS(`“`y1`”`),inS(`“`-y0`”`),x0.`\
`  notok :- inS(`“`y0`”`),inS(`“`-y0`”`),-x1.`\
\
`%% 2.2 – fixed rules`\
\
`% Iterate only over rules which contain L in the head:`\
`  rule(L,R) :- lit(h,L,R), not lit(p,L,R), not lit(n,L,R).`\
`  ruleBefore(L,R) :- rule(L,R), rule(L,R1), R1<R.`\
`  ruleAfter(L,R) :- rule(L,R), rule(L,R1), R<R1.`\
`  ruleBetween(L,R1,R2) :- rule(L,R1), rule(L,R2), rule(L,R3), R1<R3, R3<R2.`\
`  firstRule(L,R) :- rule(L,R), not ruleBefore(L,R).`\
`  lastRule(L,R) :- rule(L,R), not ruleAfter(L,R).`\
`  nextRule(L,R1,R2) :- rule(L,R1), rule(L,R2), R1<R2, not ruleBetween(L,R1,R2).`\
\
`% hlits are only those from active rules:`\
`  hlit(L) :- rule(L,R).`\
`  inS(L) v ninS(L) :- hlit(L).`\
`  ninS(L) :- lit(HPN,L,R), not hlit(L).`\
\
`