
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% UNIVERSITY MODEL WITH **NO** EVENTS ALWAYS OBSERVABLE

university_model(
  [
    seq(a,ex)
    , seq(pat,e)
    , xor_split(e,[sla,slpa,slr])
    , and_join([pat,tat,txj],e)
    , seq(tat,e)
    , and_split(tas,[pat,tat,txs])    
    , seq(txj,e)
    , seq(sla,a)
    , seq(dr,cd)
    , xor_split(txs,[scm,lcm])
    , seq(r,ex)
    , seq(sbc,cr)
    , seq(slr,r)
    , seq(wbc,sbc)
    , seq(sdp,dr)
    , xor_split(cc,[gag,bag])
    , xor_split(cd,[tas,ao])
    , seq(start,ao)
    , seq(bag,paca)
    , seq(paca,ccj)
    , seq(toe,txj)
    , seq(ccj,ex)
    , seq(slpa,ap)
    , seq(gag,paco)
    , seq(ao,sdp)
    , seq(ap,wbc)
    , seq(cr,cc)
    , seq(ex,end)
    , seq(lcm,toe)
    , seq(paco,ccj)
    , seq(scm,txj)
  ],
  [
    obs(a,partially)
    , obs(pat,partially)
    , obs(e,partially)
    , obs(tat,partially)
    , obs(tas,partially)
    , obs(txj,partially)
    , obs(sla,partially)
    , obs(dr,partially)
    , obs(txs,partially)
    , obs(r,partially)
    , obs(sbc,partially)
    , obs(slr,partially)
    , obs(wbc,partially)
    , obs(end,never)
    , obs(sdp,partially)
    , obs(cc,partially)
    , obs(cd,partially)
    , obs(start,never)
    , obs(bag,partially)
    , obs(paca,partially)
    , obs(toe,partially)
    , obs(ccj,partially)
    , obs(slpa,partially)
    , obs(gag,partially)
    , obs(ao,partially)
    , obs(ap,partially)
    , obs(cr,partially)
    , obs(ex,partially)
    , obs(lcm,partially)
    , obs(paco,partially)
    , obs(scm,partially)
  ]
		).


  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% UNIVERSITY MODEL WITH 5 EVENTS ALWAYS OBSERVABLE
  
  university_model_5(
  [
    seq(a,ex)
    , seq(pat,e)
    , xor_split(e,[sla,slpa,slr])
    , and_join([pat,tat,txj],e)
    , seq(tat,e)
    , and_split(tas,[pat,tat,txs])    
    , seq(txj,e)
    , seq(sla,a)
    , seq(dr,cd)
    , xor_split(txs,[scm,lcm])
    , seq(r,ex)
    , seq(sbc,cr)
    , seq(slr,r)
    , seq(wbc,sbc)
    , seq(sdp,dr)
    , xor_split(cc,[gag,bag])
    , xor_split(cd,[tas,ao])
    , seq(start,ao)
    , seq(bag,paca)
    , seq(paca,ccj)
    , seq(toe,txj)
    , seq(ccj,ex)
    , seq(slpa,ap)
    , seq(gag,paco)
    , seq(ao,sdp)
    , seq(ap,wbc)
    , seq(cr,cc)
    , seq(ex,end)
    , seq(lcm,toe)
    , seq(paco,ccj)
    , seq(scm,txj)
  ],
  [
    obs(a,partially)
    , obs(pat,partially)
    , obs(e,partially)
    , obs(tat,partially)
    , obs(tas,partially)
    , obs(txj,partially)
    , obs(sla,partially)
    , obs(dr,always)
    , obs(txs,partially)
    , obs(r,partially)
    , obs(sbc,always)
    , obs(slr,partially)
    , obs(wbc,partially)
    , obs(end,never)
    , obs(sdp,partially)
    , obs(cc,partially)
    , obs(cd,partially)
    , obs(start,never)
    , obs(bag,partially)
    , obs(paca,always)
    , obs(toe,partially)
    , obs(ccj,partially)
    , obs(slpa,always)
    , obs(gag,partially)
    , obs(ao,partially)
    , obs(ap,partially)
    , obs(cr,partially)
    , obs(ex,partially)
    , obs(lcm,partially)
    , obs(paco,partially)
    , obs(scm,always)
  ]
		    ).


  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% UNIVERSITY MODEL WITH 10 EVENTS ALWAYS OBSERVABLE
 

university_model_observable_15(
  [
    seq(a,ex)
    , seq(pat,e)
    , xor_split(e,[sla,slpa,slr])
    , and_join([pat,tat,txj],e)
    , seq(tat,e)
    , and_split(tas,[pat,tat,txs])    
    , seq(txj,e)
    , seq(sla,a)
    , seq(dr,cd)
    , xor_split(txs,[scm,lcm])
    , seq(r,ex)
    , seq(sbc,cr)
    , seq(slr,r)
    , seq(wbc,sbc)
    , seq(sdp,dr)
    , xor_split(cc,[gag,bag])
    , xor_split(cd,[tas,ao])
    , seq(start,ao)
    , seq(bag,paca)
    , seq(paca,ccj)
    , seq(toe,txj)
    , seq(ccj,ex)
    , seq(slpa,ap)
    , seq(gag,paco)
    , seq(ao,sdp)
    , seq(ap,wbc)
    , seq(cr,cc)
    , seq(ex,end)
    , seq(lcm,toe)
    , seq(paco,ccj)
    , seq(scm,txj)
  ],
  [
    obs(a,partially)
    , obs(pat,partially)
    , obs(e,partially)
    , obs(tat,partially)
    , obs(tas,always)
    , obs(txj,partially)
    , obs(sla,always)
    , obs(dr,always)
    , obs(txs,always)
    , obs(r,always)
    , obs(sbc,always)
    , obs(slr,partially)
    , obs(wbc,always)
    , obs(end,never)
    , obs(sdp,partially)
    , obs(cc,always)
    , obs(cd,partially)
    , obs(start,never)
    , obs(bag,partially)
    , obs(paca,always)
    , obs(toe,always)
    , obs(ccj,partially)
    , obs(slpa,always)
    , obs(gag,partially)
    , obs(ao,always)
    , obs(ap,always)
    , obs(cr,partially)
    , obs(ex,partially)
    , obs(lcm,always)
    , obs(paco,partially)
    , obs(scm,always)
  ]
			      ).


  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% UNIVERSITY MODEL WITH **ALL** EVENTS ALWAYS OBSERVABLE


university_model_always_observable(
  [
    seq(a,ex)
    , seq(pat,e)
    , xor_split(e,[sla,slpa,slr])
    , and_join([pat,tat,txj],e)
    , seq(tat,e)
    , and_split(tas,[pat,tat,txs])    
    , seq(txj,e)
    , xor_join(txj,[toe,scm])
    , seq(sla,a)
    , seq(dr,cd)
    , xor_split(txs,[scm,lcm])
    , seq(r,ex)
    , seq(sbc,cr)
    , seq(slr,r)
    , seq(wbc,sbc)
    , seq(sdp,dr)
    , xor_split(cc,[gag,bag])
    , xor_split(cd,[tas,ao])
    , seq(start,ao)
    , seq(bag,paca)
    , seq(paca,ccj)
    , seq(toe,txj)
    , seq(ccj,ex)
    , xor_join(ccj,[paca,paco])
    , seq(slpa,ap)
    , seq(gag,paco)
    , seq(ao,sdp)
    , xor_join(ao,[start,cd])
    , seq(ap,wbc)
    , seq(cr,cc)
    , seq(ex,end)
    , xor_join(ex,[a,r,ccj])
    , seq(lcm,toe)
    , seq(paco,ccj)
    , seq(scm,txj)
  ],
 [
    obs(a,always)
    , obs(pat,partially)
    , obs(e,always)
    , obs(tat,always)
    , obs(tas,always)
    , obs(txj,always)
    , obs(sla,always)
    , obs(dr,always)
    , obs(txs,always)
    , obs(r,always)
    , obs(sbc,always)
    , obs(slr,always)
    , obs(wbc,always)
    , obs(end,never)
    , obs(sdp,always)
    , obs(cc,always)
    , obs(cd,always)
    , obs(start,never)
    , obs(bag,always)
    , obs(paca,always)
    , obs(toe,always)
    , obs(ccj,always)
    , obs(slpa,always)
    , obs(gag,always)
    , obs(ao,always)
    , obs(ap,always)
    , obs(cr,always)
    , obs(ex,always)
    , obs(lcm,always)
    , obs(paco,always)
    , obs(scm,always)
  ]
).



  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    %% LOGS %%

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Logs for the log incompleteness problem
  
trace_LInc1(
  [

  ]
	   ).

  
trace_LInc3(
  [
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(sla,_Pos21),_T22)
      , hap(event(a,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(sla,_Pos21),_T22)
      , hap(event(a,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slr,_Pos21),_T22)
      , hap(event(r,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slr,_Pos21),_T22)
      , hap(event(r,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ]
  ]  
).
trace_LInc4(
  [
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(sla,_Pos21),_T22)
      , hap(event(a,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(sla,_Pos21),_T22)
      , hap(event(a,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slr,_Pos21),_T22)
      , hap(event(r,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slr,_Pos21),_T22)
      , hap(event(r,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slr,_Pos21),_T22)
      , hap(event(r,_Pos23),_T24)
      , hap(event(ex,_Pos25),_T26)
      , hap(event(end,_Pos26),_T27)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slpa,_Pos21),_T22)
      , hap(event(ap,_Pos23),_T24)
      , hap(event(wbc,_Pos24),_T25)
      , hap(event(sbc,_Pos25),_T26)
      , hap(event(cre,_Pos26),_T27)
      , hap(event(cc,_Pos27),_T28)
      , hap(event(gag,_Pos28),_T29)
      , hap(event(paco,_Pos29),_T30)
      , hap(event(ccj,_Pos30),_T31)
      , hap(event(ex,_Pos31),_T32)
      , hap(event(end,_Pos32),_T33)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(scm,_Pos15),_T16)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slpa,_Pos21),_T22)
      , hap(event(ap,_Pos23),_T24)
      , hap(event(wbc,_Pos24),_T25)
      , hap(event(sbc,_Pos25),_T26)
      , hap(event(cre,_Pos26),_T27)
      , hap(event(cc,_Pos27),_T28)
      , hap(event(bag,_Pos28),_T29)
      , hap(event(paca,_Pos29),_T30)
      , hap(event(ccj,_Pos30),_T31)
      , hap(event(ex,_Pos31),_T32)
      , hap(event(end,_Pos32),_T33)      
    ],
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slpa,_Pos21),_T22)
      , hap(event(ap,_Pos23),_T24)
      , hap(event(wbc,_Pos24),_T25)
      , hap(event(sbc,_Pos25),_T26)
      , hap(event(cre,_Pos26),_T27)
      , hap(event(cc,_Pos27),_T28)
      , hap(event(gag,_Pos28),_T29)
      , hap(event(paco,_Pos29),_T30)
      , hap(event(ccj,_Pos30),_T31)
      , hap(event(ex,_Pos31),_T32)
      , hap(event(end,_Pos32),_T33)      
    ],  
    [
     hap(event(start,_Pos0),_T1)
      , hap(event(ao,_Pos1),_T2)
      , hap(event(sdp,_Pos3),_T4)
      , hap(event(dr,_Pos5),_T6)
      , hap(event(cd,_Pos7),_T8)
      , hap(event(tas,_Pos9),_T10)
      , hap(event(pat,_Pos11),_T12)
      , hap(event(tat,_Pos12),_T13)      
      , hap(event(txs,_Pos13),_T14)
      , hap(event(lcm,_Pos15),_T16)
      , hap(event(toe,_Pos16),_T17)
      , hap(event(txj,_Pos17),_T18)
      , hap(event(e,_Pos19),_T20)
      , hap(event(slpa,_Pos21),_T22)
      , hap(event(ap,_Pos23),_T24)
      , hap(event(wbc,_Pos24),_T25)
      , hap(event(sbc,_Pos25),_T26)
      , hap(event(cre,_Pos26),_T27)
      , hap(event(cc,_Pos27),_T28)
      , hap(event(bag,_Pos28),_T29)
      , hap(event(paca,_Pos29),_T30)
      , hap(event(ccj,_Pos30),_T31)
      , hap(event(ex,_Pos31),_T32)
      , hap(event(end,_Pos32),_T33)      
    ]
  ]   
).
