
Reading prolog file and assertion in proimp... in 0 ms.
Translation from Prolog (proimp) to pure Prolog (propur)... in 0  ms.
Translation from pure Prolog (propur) to normalized Prolog (pronor)... in 10  ms.
gen_places/2 :
    gen_places(A,B) :- 
        $constraint([C=proimp:for(D,1,A)])
        $predef(findall(E,C,B))
gen_queens/2 :
    gen_queens(A,B) :- 
        $constraint([C=proimp:for(D,1,A)])
        $predef(findall(D,C,B))
go/0 :
    go :- 
        $constraint([])
    go :- 
        $constraint([])
        go(A)
        $constraint([B=x])
        $predef(write(B))
        $constraint([])
        $predef(fail)
go/1 :
    go(A) :- 
        $constraint([B=8])
        queens(B,A)
place_queen/4 :
    place_queen(A,B,C,D) :- 
        $constraint([B=[E|F],C=[G|H],D=[I|J]])
        place_queen(A,F,H,J)
    place_queen(A,B,C,D) :- 
        $constraint([B=[A|E],C=[A|F],D=[A|G]])
place_queens/4 :
    place_queens(A,B,C,D) :- 
        $constraint([A=[E|F],D=[G|H],I=[J|C]])
        place_queens(F,B,I,H)
        $constraint([])
        place_queen(E,B,C,H)
    place_queens(A,B,C,D) :- 
        $constraint([A=[]])
qs/1 :
    qs(A) :- 
        $constraint([B=[C,D,E,F,G,H,I,J,K]])
        eq(A,B)
        $constraint([L=[1,2,3,4,5,6,7,8,9]])
        place_queens(L,A,M,N)
queens/2 :
    queens(A,B) :- 
        $constraint([])
        gen_places(A,B)
        $constraint([])
        gen_queens(A,C)
        $constraint([])
        place_queens(C,B,D,E)


Translation from normalized Prolog (pronor) to CLP(N) (pronat)... in 40 ms.

Determination of arguments that don't influence termination... in 10 ms.
    go
    go(0)
    qs(0)
    gen_places(0,0)
    gen_queens(0,0)
    queens(0,0)
    place_queen(1,0,0,0)
    place_queens(0,0,0,0)

Including mode informations to improve TNA analysis...  0 ms.
Reading CLP(N) clauses and assertion in pronat... in 10 ms.
Unknown predicates, assumed to be non-terminating: 
    eq/2
Construction, reduction and sort call graph... in 0 ms.
Reduced and sorted call graph:
    [eq/2]
    [place_queen/4]
    [place_queens/4]
    [qs/1]
    [gen_places/2]
    [gen_queens/2]
    [queens/2]
    [go/1]
    [go/0]

Estimating max time for analysis: 648000 ms.

Computation of a CLP(N) model... 
[eq/2]... 
bd: 0 ms.
i1       0 ms.
t
[place_queen/4]... 
bd: 10 ms.
i1       10 ms.
t(place_queen/4,[A,B,C,D]-[A-D=< -1,A-C=< -1,A-B=< -1,A>=0],0,t,t)
[place_queens/4]... 
bd: 10 ms.
i1   i2       50 ms.
t(place_queens/4,[A,B,C,D]-[A>=0],0,t,t)
[qs/1]... 
bd: 20 ms.
i1       0 ms.
t
[gen_places/2]... 
bd: 10 ms.
i1       0 ms.
t(gen_places/2,[A,B]-[A>=0],0,t,t)
[gen_queens/2]... 
bd: 0 ms.
i1       0 ms.
t(gen_queens/2,[A,B]-[A>=0],0,t,t)
[queens/2]... 
bd: 0 ms.
i1       0 ms.
t(queens/2,[A,B]-[A>=0],0,t,t)
[go/1]... 
bd: 0 ms.
i1       0 ms.
t(go/1,[A]-[],0,t,t)
[go/0]... 
bd: 0 ms.
i1       0 ms.
t(go/0,[]-[],0,t,t)
in 130 ms.
    eq/2-([A,B]-[0=1]-(precision=0)-(nb_ite=0))
    gen_places/2-([A,B]-[A>=0]-(precision=2)-(nb_ite=1))
    gen_queens/2-([A,B]-[A>=0]-(precision=2)-(nb_ite=1))
    go/0-([]-[]-(precision=2)-(nb_ite=1))
    go/1-([A]-[]-(precision=2)-(nb_ite=1))
    place_queen/4-([A,B,C,D]-[A-D=< -1,A-C=< -1,A-B=< -1,A>=0]-(precision=2)-(nb_ite=1))
    place_queens/4-([A,B,C,D]-[A>=0]-(precision=2)-(nb_ite=2))
    qs/1-([A]-[0=1]-(precision=0)-(nb_ite=0))
    queens/2-([A,B]-[A>=0]-(precision=2)-(nb_ite=1))

Specialization of the CLP(N) prog. (pronat/pronatspec)... in 0 ms.
Computation of the constraints defining the set of level mappings...
      mes([eq/2-A],[])
    mes([place_queen/4-[A,0,B,C,D]],[A=0,0=0,C>=0,B>=0,D>=0,B+C+D>=1])
    mes([place_queens/4-[A,B,C,D,E]],[A=0,D=0,B>=0,E>=0,B+E>=1,C>=0])
    mes([qs/1-[A,B]],[A=0])
    mes([gen_places/2-[A,B,C]],[A=0])
    mes([gen_queens/2-[A,B,C]],[A=0])
    mes([queens/2-[A,B,C]],[A=0])
    mes([go/1-[A,B]],[A=0])
    mes([go/0-[A]],[A=0])
in 300  ms.
Computation of max level mappings (clpq)...
    mes_max([eq/2],[[eq/2-[0,0,0]]])
    mes_max([place_queen/4],[[place_queen/4-[0,0,0,1,0]],[place_queen/4-[0,0,1,0,0]],[place_queen/4-[0,0,0,0,1]]])
    mes_max([place_queens/4],[[place_queens/4-[0,1,0,0,0]],[place_queens/4-[0,0,0,0,1]]])
    mes_max([qs/1],[[qs/1-[0,0]]])
    mes_max([gen_places/2],[[gen_places/2-[0,0,0]]])
    mes_max([gen_queens/2],[[gen_queens/2-[0,0,0]]])
    mes_max([queens/2],[[queens/2-[0,0,0]]])
    mes_max([go/1],[[go/1-[0,0]]])
    mes_max([go/0],[[go/0-[0]]])
in 40 ms.

Translation from CLP(N) prog. (pronat) to CLP(B) (probool)... in 10 ms.
Translation from max measures (pronatres) to bool (proboolres)... 
    mes([eq/2],[eq/2-[A,B]-1])
    mes([place_queen/4],[place_queen/4-[A,B,C,D]-E^(D=\=E*C*B#E*C#E*B#C*B#C#B)])
    mes([place_queens/4],[place_queens/4-[A,B,C,D]-E^(D=\=E*A#A)])
    mes([qs/1],[qs/1-[A]-1])
    mes([gen_places/2],[gen_places/2-[A,B]-1])
    mes([gen_queens/2],[gen_queens/2-[A,B]-1])
    mes([queens/2],[queens/2-[A,B]-1])
    mes([go/1],[go/1-[A]-1])
    mes([go/0],[go/0-[]-1])
in 20 ms.

Computation of the least CLP(B) model... 
[eq/2]... 
bd: 0 ms.
i1:union     0 ms.
t
[place_queen/4]... 
bd: 0 ms.
i1:union     20 ms.
t(place_queen/4,[A,B,C,D]-E^F^G^((C=:=E*A)*(D=:=F*A)*(B=:=G*A)),0,t,t)
[place_queens/4]... 
bd: 10 ms.
i1:union i2:union i3:union     50 ms.
t(place_queens/4,[A,B,C,D]-E^F^((B=:=E*A)*(D=:=F*A)),0,t,t)
[qs/1]... 
bd: 0 ms.
i1:union     0 ms.
t
[gen_places/2]... 
bd: 10 ms.
i1:union     0 ms.
t(gen_places/2,[A,B]-1,0,t,t)
[gen_queens/2]... 
bd: 0 ms.
i1:union     0 ms.
t(gen_queens/2,[A,B]-1,0,t,t)
[queens/2]... 
bd: 0 ms.
i1:union     0 ms.
t(queens/2,[A,B]-1,0,t,t)
[go/1]... 
bd: 0 ms.
i1:union     0 ms.
t(go/1,[A]-1,0,t,t)
[go/0]... 
bd: 0 ms.
i1:union     0 ms.
t(go/0,[]-1,0,t,t)
in 100 ms.
    eq/2-([A,B]-0-(precision=0)-(nb_ite=0))
    gen_places/2-([A,B]-1-(precision=0)-(nb_ite=1))
    gen_queens/2-([A,B]-1-(precision=0)-(nb_ite=1))
    go/0-([]-1-(precision=0)-(nb_ite=1))
    go/1-([A]-1-(precision=0)-(nb_ite=1))
    place_queen/4-([A,B,C,D]-E^F^G^((C=:=E*A)*(D=:=F*A)*(B=:=G*A))-(precision=0)-(nb_ite=1))
    place_queens/4-([A,B,C,D]-E^F^((B=:=E*A)*(D=:=F*A))-(precision=0)-(nb_ite=3))
    qs/1-([A]-0-(precision=0)-(nb_ite=0))
    queens/2-([A,B]-1-(precision=0)-(nb_ite=1))

Computation of left termination conditions... 
    [eq/2] : 0
    [place_queen/4] : 0
    [place_queens/4] : 10
    [qs/1] : 0
    [gen_places/2] : 0
    [gen_queens/2] : 0
    [queens/2] : 0
    [go/1] : 0
    [go/0] : 0
in 30 ms.
    predicate_term_condition(go,0)
    predicate_term_condition(go(A),0)
    predicate_term_condition(qs(A),1)
    predicate_term_condition(eq(A,B),1)
    predicate_term_condition(gen_places(A,B),1)
    predicate_term_condition(gen_queens(A,B),1)
    predicate_term_condition(queens(A,B),0)
    predicate_term_condition(place_queen(A,B,C,D),D+C+B)
    predicate_term_condition(place_queens(A,B,C,D),D+A*B)

  -------------------------------
  modes couverts : 
    global : 69 %
    moyen  : 56 %
  -------------------------------
    go-0-0-0/1-[[]]
    go(A)-0-0-0/2-[[],[1]]
    qs(A)-1-100-2/2-[]
    gen_places(A,B)-1-100-4/4-[]
    gen_queens(A,B)-1-100-4/4-[]
    queens(A,B)-0-0-0/4-[[],[1],[2],[1,2]]
    place_queen(A,B,C,D)-(D+C+B)-87-14/16-[[],[1]]
    place_queens(A,B,C,D)-(D+A*B)-62-10/16-[[],[1],[2],[3],[1,3],[2,3]]

  ----------------------------------------------
  -- STATS 
  ----------------------------------------------
  TIME (for the first execution, in ms):
  tna_analys: 10
  prlg__plcN: 50
  call_graph: 0
  plcN_model: 130
  set_levmap: 300
  max_levmap: 40
  plcN__plcB: 30
  plcB_model: 100
  cond_termg: 30
  aux__trans: 40
  ----------
  total_time: 730
  -----------------------------------------------
  MEMORY (bytes)
  number of gc:  1
  memory freed by gc            : 97636

Reading prolog file and assertion in proimp... in 0 ms.
Translation from Prolog (proimp) to pure Prolog (propur)... in 10  ms.
Translation from pure Prolog (propur) to normalized Prolog (pronor)... in 0  ms.
color/1 :
    color(A) :- 
        $constraint([A=yellow])
    color(A) :- 
        $constraint([A=black])
    color(A) :- 
        $constraint([A=blue])
    color(A) :- 
        $constraint([A=red])
go/0 :
    go :- 
        $constraint([A=runtime])
        $predef(statistics(A,B))
        $constraint([])
        regions(C,D)
        $constraint([])
        solve(C,D)
        $constraint([E=runtime,F=[G,H]])
        $predef(statistics(E,F))
        $constraint([I=execution time is ])
        $predef(write(I))
        $constraint([])
        $predef(write(H))
        $constraint([J= milliseconds])
        $predef(write(J))
        $constraint([])
        $predef(nl)
        $constraint([])
        $predef(write(D))
        $constraint([])
        $predef(nl)
inconsistent/3 :
    inconsistent(A,B,C) :- 
        $constraint([])
        neighbors(A,D)
        $constraint([])
        lmember(D,C,B)
lmember/3 :
    lmember(A,B,C) :- 
        $constraint([A=[D|E]])
        lmember(E,B,C)
    lmember(A,B,C) :- 
        $constraint([A=[D|E]])
        $predef(arg(D,B,C))
neighbors/2 :
    neighbors(A,B) :- 
        $constraint([A=110,B=[1,2,106,107,108,109]])
    neighbors(A,B) :- 
        $constraint([A=109,B=[1,73,101,108]])
    neighbors(A,B) :- 
        $constraint([A=108,B=[100,101,107]])
    neighbors(A,B) :- 
        $constraint([A=107,B=[99,100,106]])
    neighbors(A,B) :- 
        $constraint([A=106,B=[2,98,99,105]])
    neighbors(A,B) :- 
        $constraint([A=105,B=[2,97,98,104]])
    neighbors(A,B) :- 
        $constraint([A=104,B=[2,96,97,103]])
    neighbors(A,B) :- 
        $constraint([A=103,B=[2,95,96,102]])
    neighbors(A,B) :- 
        $constraint([A=102,B=[2,57,58,95]])
    neighbors(A,B) :- 
        $constraint([A=101,B=[72,73,94,100]])
    neighbors(A,B) :- 
        $constraint([A=100,B=[93,94,99]])
    neighbors(A,B) :- 
        $constraint([A=99,B=[92,93,98]])
    neighbors(A,B) :- 
        $constraint([A=98,B=[91,92,97]])
    neighbors(A,B) :- 
        $constraint([A=97,B=[90,91,96]])
    neighbors(A,B) :- 
        $constraint([A=96,B=[89,90,95]])
    neighbors(A,B) :- 
        $constraint([A=95,B=[58,59,89]])
    neighbors(A,B) :- 
        $constraint([A=94,B=[71,72,88,93]])
    neighbors(A,B) :- 
        $constraint([A=93,B=[87,88,92]])
    neighbors(A,B) :- 
        $constraint([A=92,B=[86,87,91]])
    neighbors(A,B) :- 
        $constraint([A=91,B=[85,86,90]])
    neighbors(A,B) :- 
        $constraint([A=90,B=[84,85,89]])
    neighbors(A,B) :- 
        $constraint([A=89,B=[59,60,84]])
    neighbors(A,B) :- 
        $constraint([A=88,B=[70,71,83,87]])
    neighbors(A,B) :- 
        $constraint([A=87,B=[82,83,86]])
    neighbors(A,B) :- 
        $constraint([A=86,B=[81,82,85]])
    neighbors(A,B) :- 
        $constraint([A=85,B=[80,81,84]])
    neighbors(A,B) :- 
        $constraint([A=84,B=[60,61,80]])
    neighbors(A,B) :- 
        $constraint([A=83,B=[69,70,79,82]])
    neighbors(A,B) :- 
        $constraint([A=82,B=[78,79,81]])
    neighbors(A,B) :- 
        $constraint([A=81,B=[77,78,80]])
    neighbors(A,B) :- 
        $constraint([A=80,B=[61,62,77]])
    neighbors(A,B) :- 
        $constraint([A=79,B=[68,69,76,78]])
    neighbors(A,B) :- 
        $constraint([A=78,B=[75,76,77]])
    neighbors(A,B) :- 
        $constraint([A=77,B=[62,63,75]])
    neighbors(A,B) :- 
        $constraint([A=76,B=[67,68,74,75]])
    neighbors(A,B) :- 
        $constraint([A=75,B=[63,64,74]])
    neighbors(A,B) :- 
        $constraint([A=74,B=[64,65,66,67]])
    neighbors(A,B) :- 
        $constraint([A=73,B=[1,20,28,72]])
    neighbors(A,B) :- 
        $constraint([A=72,B=[28,35,71]])
    neighbors(A,B) :- 
        $constraint([A=71,B=[35,41,70]])
    neighbors(A,B) :- 
        $constraint([A=70,B=[41,46,69]])
    neighbors(A,B) :- 
        $constraint([A=69,B=[46,50,68]])
    neighbors(A,B) :- 
        $constraint([A=68,B=[50,53,67]])
    neighbors(A,B) :- 
        $constraint([A=67,B=[53,55,66]])
    neighbors(A,B) :- 
        $constraint([A=66,B=[55,56,65]])
    neighbors(A,B) :- 
        $constraint([A=65,B=[54,56,64]])
    neighbors(A,B) :- 
        $constraint([A=64,B=[51,54,63]])
    neighbors(A,B) :- 
        $constraint([A=63,B=[47,51,62]])
    neighbors(A,B) :- 
        $constraint([A=62,B=[42,47,61]])
    neighbors(A,B) :- 
        $constraint([A=61,B=[36,42,60]])
    neighbors(A,B) :- 
        $constraint([A=60,B=[29,36,59]])
    neighbors(A,B) :- 
        $constraint([A=59,B=[21,29,58]])
    neighbors(A,B) :- 
        $constraint([A=58,B=[12,21,57]])
    neighbors(A,B) :- 
        $constraint([A=57,B=[2,12]])
    neighbors(A,B) :- 
        $constraint([A=56,B=[54,55]])
    neighbors(A,B) :- 
        $constraint([A=55,B=[52,53,54]])
    neighbors(A,B) :- 
        $constraint([A=54,B=[51,52]])
    neighbors(A,B) :- 
        $constraint([A=53,B=[49,50,52]])
    neighbors(A,B) :- 
        $constraint([A=52,B=[48,49,51]])
    neighbors(A,B) :- 
        $constraint([A=51,B=[47,48]])
    neighbors(A,B) :- 
        $constraint([A=50,B=[45,46,49]])
    neighbors(A,B) :- 
        $constraint([A=49,B=[44,45,48]])
    neighbors(A,B) :- 
        $constraint([A=48,B=[43,44,47]])
    neighbors(A,B) :- 
        $constraint([A=47,B=[42,43]])
    neighbors(A,B) :- 
        $constraint([A=46,B=[40,41,45]])
    neighbors(A,B) :- 
        $constraint([A=45,B=[39,40,44]])
    neighbors(A,B) :- 
        $constraint([A=44,B=[38,39,43]])
    neighbors(A,B) :- 
        $constraint([A=43,B=[37,38,42]])
    neighbors(A,B) :- 
        $constraint([A=42,B=[36,37]])
    neighbors(A,B) :- 
        $constraint([A=41,B=[34,35,40]])
    neighbors(A,B) :- 
        $constraint([A=40,B=[33,34,39]])
    neighbors(A,B) :- 
        $constraint([A=39,B=[32,33,38]])
    neighbors(A,B) :- 
        $constraint([A=38,B=[31,32,37]])
    neighbors(A,B) :- 
        $constraint([A=37,B=[30,31,36]])
    neighbors(A,B) :- 
        $constraint([A=36,B=[29,30]])
    neighbors(A,B) :- 
        $constraint([A=35,B=[27,28,34]])
    neighbors(A,B) :- 
        $constraint([A=34,B=[26,27,33]])
    neighbors(A,B) :- 
        $constraint([A=33,B=[25,26,32]])
    neighbors(A,B) :- 
        $constraint([A=32,B=[24,25,31]])
    neighbors(A,B) :- 
        $constraint([A=31,B=[23,24,30]])
    neighbors(A,B) :- 
        $constraint([A=30,B=[22,23,29]])
    neighbors(A,B) :- 
        $constraint([A=29,B=[21,22]])
    neighbors(A,B) :- 
        $constraint([A=28,B=[19,20,27]])
    neighbors(A,B) :- 
        $constraint([A=27,B=[18,19,26]])
    neighbors(A,B) :- 
        $constraint([A=26,B=[17,18,25]])
    neighbors(A,B) :- 
        $constraint([A=25,B=[16,17,24]])
    neighbors(A,B) :- 
        $constraint([A=24,B=[15,16,23]])
    neighbors(A,B) :- 
        $constraint([A=23,B=[14,15,22]])
    neighbors(A,B) :- 
        $constraint([A=22,B=[13,14,21]])
    neighbors(A,B) :- 
        $constraint([A=21,B=[12,13]])
    neighbors(A,B) :- 
        $constraint([A=20,B=[1,10,11,19]])
    neighbors(A,B) :- 
        $constraint([A=19,B=[9,10,18]])
    neighbors(A,B) :- 
        $constraint([A=18,B=[8,9,17]])
    neighbors(A,B) :- 
        $constraint([A=17,B=[7,8,16]])
    neighbors(A,B) :- 
        $constraint([A=16,B=[6,7,15]])
    neighbors(A,B) :- 
        $constraint([A=15,B=[5,6,14]])
    neighbors(A,B) :- 
        $constraint([A=14,B=[4,5,13]])
    neighbors(A,B) :- 
        $constraint([A=13,B=[3,4,12]])
    neighbors(A,B) :- 
        $constraint([A=12,B=[2,3]])
    neighbors(A,B) :- 
        $constraint([A=11,B=[1,10]])
    neighbors(A,B) :- 
        $constraint([A=10,B=[1,9]])
    neighbors(A,B) :- 
        $constraint([A=9,B=[1,8]])
    neighbors(A,B) :- 
        $constraint([A=8,B=[1,7]])
    neighbors(A,B) :- 
        $constraint([A=7,B=[1,6]])
    neighbors(A,B) :- 
        $constraint([A=6,B=[1,5]])
    neighbors(A,B) :- 
        $constraint([A=5,B=[1,4]])
    neighbors(A,B) :- 
        $constraint([A=4,B=[1,3]])
    neighbors(A,B) :- 
        $constraint([A=3,B=[1,2]])
    neighbors(A,B) :- 
        $constraint([A=2,B=[1]])
    neighbors(A,B) :- 
        $constraint([A=1,B=[]])
regions/2 :
    regions(A,B) :- 
        $constraint([C=proimp:neighbors(D,E)])
        $predef(findall(D,C,A))
        $constraint([])
        $predef(length(A,F))
        $constraint([G=colors])
        $predef(functor(B,G,F))
solve/2 :
    solve(A,B) :- 
        $constraint([A=[C|D]])
        $predef(arg(C,B,E))
        $constraint([])
        color(E)
        $constraint([])
        $predef(true)
        $constraint([])
        solve(D,B)
    solve(A,B) :- 
        $constraint([A=[C|D]])
        $predef(arg(C,B,E))
        $constraint([])
        color(E)
        $constraint([])
        inconsistent(C,E,B)
        $constraint([])
        $predef(false)
        $constraint([])
        solve(D,B)
    solve(A,B) :- 
        $constraint([A=[]])


Translation from normalized Prolog (pronor) to CLP(N) (pronat)... in 200 ms.

Determination of arguments that don't influence termination... in 0 ms.
    go
    color(1)
    neighbors(1,1)
    regions(0,0)
    solve(0,0)
    inconsistent(0,0,0)
    lmember(0,0,0)

Including mode informations to improve TNA analysis...  0 ms.
Reading CLP(N) clauses and assertion in pronat... in 0 ms.
Unknown predicates, assumed to be non-terminating: none

Construction, reduction and sort call graph... in 0 ms.
Reduced and sorted call graph:
    [regions/2]
    [color/1]
    [lmember/3]
    [neighbors/2]
    [inconsistent/3]
    [solve/2]
    [go/0]

Estimating max time for analysis: 504000 ms.

Computation of a CLP(N) model... 
[regions/2]... 
bd: 10 ms.
i1       0 ms.
t(regions/2,[A,B]-[],0,t,t)
[color/1]... 
bd: 0 ms.
i1       0 ms.
t(color/1,[A]-[A=0],0,t,t)
[lmember/3]... 
bd: 10 ms.
i1       0 ms.
t(lmember/3,[A,B,C]-[A>=1,B-C>=0],0,t,t)
[neighbors/2]... 
bd: 120 ms.
i1       0 ms.
t(neighbors/2,[A,B]-[A=0,B>=0,B=<6],0,t,t)
[inconsistent/3]... 
bd: 0 ms.
i1       10 ms.
t(inconsistent/3,[A,B,C]-[A=0,B-C=<0],0,t,t)
[solve/2]... 
bd: 0 ms.
i1   i2   i3:widening i4:widening     50 ms.
t(solve/2,[A,B]-[A>=0],0,t,t)
[go/0]... 
bd: 10 ms.
i1       0 ms.
t(go/0,[]-[],0,t,t)
in 210 ms.
    color/1-([A]-[A=0]-(precision=2)-(nb_ite=1))
    go/0-([]-[]-(precision=2)-(nb_ite=1))
    inconsistent/3-([A,B,C]-[A=0,B-C=<0]-(precision=2)-(nb_ite=1))
    lmember/3-([A,B,C]-[A>=1,B-C>=0]-(precision=2)-(nb_ite=1))
    neighbors/2-([A,B]-[A=0,B>=0,B=<6]-(precision=2)-(nb_ite=1))
    regions/2-([A,B]-[]-(precision=2)-(nb_ite=1))
    solve/2-([A,B]-[A>=0]-(precision=2)-(nb_ite=4))

Specialization of the CLP(N) prog. (pronat/pronatspec)... in 10 ms.
Computation of the constraints defining the set of level mappings...
    mes([regions/2-[A,B,C]],[A=0])
    mes([color/1-[A,0]],[A=0,0=0])
    mes([lmember/3-[A,B,C,D]],[A=0,B>=1,C>=0,D>=0])
    mes([neighbors/2-[A,0,0]],[A=0,0=0,0=0])
    mes([inconsistent/3-[A,B,C,D]],[A=0])
    mes([solve/2-[A,B,C]],[A=0,B>=1,C>=0])
    mes([go/0-[A]],[A=0])
in 100  ms.
Computation of max level mappings (clpq)...
    mes_max([regions/2],[[regions/2-[0,0,0]]])
    mes_max([color/1],[[color/1-[0,0]]])
    mes_max([lmember/3],[[lmember/3-[0,1,0,0]]])
    mes_max([neighbors/2],[[neighbors/2-[0,0,0]]])
    mes_max([inconsistent/3],[[inconsistent/3-[0,0,0,0]]])
    mes_max([solve/2],[[solve/2-[0,1,0]]])
    mes_max([go/0],[[go/0-[0]]])
in 20 ms.

Translation from CLP(N) prog. (pronat) to CLP(B) (probool)... in 70 ms.
Translation from max measures (pronatres) to bool (proboolres)... 
    mes([regions/2],[regions/2-[A,B]-1])
    mes([color/1],[color/1-[A]-1])
    mes([lmember/3],[lmember/3-[A,B,C]-A])
    mes([neighbors/2],[neighbors/2-[A,B]-1])
    mes([inconsistent/3],[inconsistent/3-[A,B,C]-1])
    mes([solve/2],[solve/2-[A,B]-A])
    mes([go/0],[go/0-[]-1])
in 0 ms.

Computation of the least CLP(B) model... 
[regions/2]... 
bd: 0 ms.
i1:union     0 ms.
t(regions/2,[A,B]-1,0,t,t)
[color/1]... 
bd: 0 ms.
i1:union     0 ms.
t(color/1,[A]-A,0,t,t)
[lmember/3]... 
bd: 0 ms.
i1:union     10 ms.
t(lmember/3,[A,B,C]-D^(C=:=D*B#D#B),0,t,t)
[neighbors/2]... 
bd: 60 ms.
i1:union     0 ms.
t(neighbors/2,[A,B]-B*(A*1),0,t,t)
[inconsistent/3]... 
bd: 0 ms.
i1:union     0 ms.
t(inconsistent/3,[A,B,C]-D^(A*(C=:=D*B)),0,t,t)
[solve/2]... 
bd: 10 ms.
i1:union     0 ms.
t(solve/2,[A,B]-A,0,t,t)
[go/0]... 
bd: 0 ms.
i1:union     0 ms.
t(go/0,[]-1,0,t,t)
in 100 ms.
    color/1-([A]-A-(precision=0)-(nb_ite=1))
    go/0-([]-1-(precision=0)-(nb_ite=1))
    inconsistent/3-([A,B,C]-D^(A*(C=:=D*B))-(precision=0)-(nb_ite=1))
    lmember/3-([A,B,C]-D^(C=:=D*B#D#B)-(precision=0)-(nb_ite=1))
    neighbors/2-([A,B]-B*(A*1)-(precision=0)-(nb_ite=1))
    regions/2-([A,B]-1-(precision=0)-(nb_ite=1))
    solve/2-([A,B]-A-(precision=0)-(nb_ite=1))

Computation of left termination conditions... 
    [regions/2] : 0
    [color/1] : 0
    [lmember/3] : 0
    [neighbors/2] : 0
    [inconsistent/3] : 0
    [solve/2] : 0
    [go/0] : 0
in 10 ms.
    predicate_term_condition(go,0)
    predicate_term_condition(color(A),1)
    predicate_term_condition(neighbors(A,B),1)
    predicate_term_condition(regions(A,B),A)
    predicate_term_condition(solve(A,B),A)
    predicate_term_condition(inconsistent(A,B,C),1)
    predicate_term_condition(lmember(A,B,C),A)

  -------------------------------
  modes couverts : 
    global : 70 %
    moyen  : 64 %
  -------------------------------
    go-0-0-0/1-[[]]
    color(A)-1-100-2/2-[]
    neighbors(A,B)-1-100-4/4-[]
    regions(A,B)-A-50-2/4-[[],[2]]
    solve(A,B)-A-50-2/4-[[],[2]]
    inconsistent(A,B,C)-1-100-8/8-[]
    lmember(A,B,C)-A-50-4/8-[[],[2],[3],[2,3]]

  ----------------------------------------------
  -- STATS 
  ----------------------------------------------
  TIME (for the first execution, in ms):
  tna_analys: 0
  prlg__plcN: 200
  call_graph: 0
  plcN_model: 210
  set_levmap: 100
  max_levmap: 20
  plcN__plcB: 70
  plcB_model: 100
  cond_termg: 10
  aux__trans: 120
  ----------
  total_time: 830
  -----------------------------------------------
  MEMORY (bytes)
  number of gc:  1
  memory freed by gc            : 440980

Reading prolog file and assertion in proimp... in 50 ms.
Translation from Prolog (proimp) to pure Prolog (propur)... in 20  ms.
Translation from pure Prolog (propur) to normalized Prolog (pronor)... in 40  ms.
adj/2 :
    adj(A,B) :- 
        $constraint([A=populous,B=quant])
    adj(A,B) :- 
        $constraint([A=new,B=quant])
    adj(A,B) :- 
        $constraint([A=old,B=quant])
    adj(A,B) :- 
        $constraint([A=large,B=quant])
    adj(A,B) :- 
        $constraint([A=small,B=quant])
    adj(A,B) :- 
        $constraint([A=big,B=quant])
    adj(A,B) :- 
        $constraint([A=great,B=quant])
    adj(A,B) :- 
        $constraint([A=european,B=restr])
    adj(A,B) :- 
        $constraint([A=asian,B=restr])
    adj(A,B) :- 
        $constraint([A=american,B=restr])
    adj(A,B) :- 
        $constraint([A=african,B=restr])
    adj(A,B) :- 
        $constraint([A=total,B=restr])
    adj(A,B) :- 
        $constraint([A=average,B=restr])
    adj(A,B) :- 
        $constraint([A=maximum,B=restr])
    adj(A,B) :- 
        $constraint([A=minimum,B=restr])
adj/6 :
    adj(A,B,C,D,E,F) :- 
        $constraint([B=adj(G)])
        terminal(G,C,D,E,F)
        $constraint([])
        adj(G,A)
adj_phrase/6 :
    adj_phrase(A,B,C,D,E,F) :- 
        $constraint([])
        comp_phrase(A,B,C,D,E,F)
    adj_phrase(A,B,C,D,E,F) :- 
        $constraint([])
        adj(G,A,C,D,E,F)
        $constraint([])
        empty(B)
adjs/5 :
    adjs(A,B,C,D,E) :- 
        $constraint([A=[],B=C,D=E])
    adjs(A,B,C,D,E) :- 
        $constraint([A=[F|G]])
        pre_adj(F,B,H,D,I)
        $constraint([])
        adjs(G,H,C,I,E)
adv/1 :
    adv(A) :- 
        $constraint([A= #(0,0,0,1)])
adv_phrase/7 :
    adv_phrase(A,B,C,D,E,F,G) :- 
        $constraint([A=pp(H,I)])
        loc_pred(H,D,J,F,K)
        $constraint([L=pp(prep(of),I),M=compl])
        pp(L,M,B,C,J,E,K,G)
    adv_phrase(A,B,C,D,E,F,G) :- 
        $constraint([D=E,H=adv_phrase(A,B,C)])
        virtual(H,F,G)
adverb/1 :
    adverb(A) :- 
        $constraint([A=tomorrow])
    adverb(A) :- 
        $constraint([A=yesterday])
adverb/5 :
    adverb(A,B,C,D,E) :- 
        $constraint([A=adv(F)])
        terminal(F,B,C,D,E)
        $constraint([])
        adverb(F)
advs/7 :
    advs(A,B,C,D,E,F,G) :- 
        $constraint([A=B,D=E,F=G])
    advs(A,B,C,D,E,F,G) :- 
        $constraint([A=[H|I]])
        is_adv(C)
        $constraint([])
        adverb(H,D,J,F,K)
        $constraint([])
        advs(I,B,C,J,E,K,G)
ag_number/2 :
    ag_number(A,B) :- 
        $constraint([B=plu,C=1])
        $predef(A>C)
    ag_number(A,B) :- 
        $constraint([A=1,B=sin])
an_s/4 :
    an_s(A,B,C,D) :- 
        $constraint([A=B,C=D])
    an_s(A,B,C,D) :- 
        $constraint([E=s])
        quote(E,A,B,C,D)
anot/3 :
    anot(A,B,C) :- 
        $constraint([B=1,C=0])
    anot(A,B,C) :- 
        $constraint([A=C,B=0])
be/9 :
    be(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=pres+part,E=[prog]])
        passive(B,C,D,F,G,H,I)
    be(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=past+part,B=C,D=passive,E=[],F=G,H=I])
chat_parser/0 :
    chat_parser :- 
        $constraint([])
    chat_parser :- 
        $constraint([])
        string(A)
        $constraint([])
        determinate_say(A,B)
        $constraint([])
        $predef(fail)
chat_trace/1 :
    chat_trace(A) :- 
        $constraint([A= #(0,0,1,0)])
chat_trace/2 :
    chat_trace(A,B) :- 
        $constraint([A= #(C,D,1,E),B= #(0,0,0,0)])
close/4 :
    close(A,B,C,D) :- 
        $constraint([A=B,E=close])
        virtual(E,C,D)
comp/6 :
    comp(A,B,C,D,E,F) :- 
        $constraint([A=same,G=as])
        quote(G,C,H,E,I)
        $constraint([J=quant])
        adj(J,B,H,K,I,L)
        $constraint([M=as])
        quote(M,K,D,L,F)
    comp(A,B,C,D,E,F) :- 
        $constraint([A=more])
        rel_adj(B,C,G,E,H)
        $constraint([I=than])
        quote(I,G,D,H,F)
    comp(A,B,C,D,E,F) :- 
        $constraint([])
        comp_adv(A,C,G,E,H)
        $constraint([I=quant])
        adj(I,B,G,J,H,K)
        $constraint([L=than])
        quote(L,J,D,K,F)
comp_adv/5 :
    comp_adv(A,B,C,D,E) :- 
        $constraint([A=more,F=more])
        quote(F,B,C,D,E)
    comp_adv(A,B,C,D,E) :- 
        $constraint([A=less,F=less])
        quote(F,B,C,D,E)
comp_phrase/6 :
    comp_phrase(A,B,C,D,E,F) :- 
        $constraint([A=comp(G,H,I)])
        comp(G,H,C,J,E,K)
        $constraint([])
        np_no_chat_trace(L)
        $constraint([])
        prep_case(M)
        $constraint([N=compl])
        np(I,O,M,P,N,L,B,J,D,K,F)
compl_case/1 :
    compl_case(A) :- 
        $constraint([A= #(0,B,C)])
conj/1 :
    conj(A) :- 
        $constraint([A=or])
    conj(A) :- 
        $constraint([A=and])
conj/7 :
    conj(A,B,C,D,E,F,G) :- 
        $constraint([B=list,C=end])
        terminal(A,D,E,F,G)
        $constraint([])
        conj(A)
    conj(A,B,C,D,E,F,G) :- 
        $constraint([B=list,C=list,H=,])
        terminal(H,D,E,F,G)
conj/9 :
    conj(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=conj(J,K),B=conj(J,L),E=conj(J,C,D)])
        conj(J,K,L,F,G,H,I)
context_pron/6 :
    context_pron(A,B,C,D,E,F) :- 
        $constraint([A=prep(at),B=time,G=when])
        quote(G,C,D,E,F)
    context_pron(A,B,C,D,E,F) :- 
        $constraint([A=prep(in),B=place,G=where])
        quote(G,C,D,E,F)
declarative/5 :
    declarative(A,B,C,D,E) :- 
        $constraint([A=decl(F)])
        s(F,G,B,C,D,E)
det/4 :
    det(A,B,C,D) :- 
        $constraint([A=no,C=no,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=each,B=sin,C=each,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=all,B=plu,C=all,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=any,C=any,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=some,C=some,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=every,B=sin,C=every,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=an,B=sin,C=a,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=a,B=sin,C=a,D=indef])
    det(A,B,C,D) :- 
        $constraint([A=the,C=the(B),D=def])
det/7 :
    det(A,B,C,D,E,F,G) :- 
        $constraint([A=generic,C=generic,D=E,F=G])
    det(A,B,C,D,E,F,G) :- 
        $constraint([A=det(H)])
        terminal(I,D,E,F,G)
        $constraint([])
        det(I,B,H,C)
    det(A,B,C,D,E,F,G) :- 
        $constraint([D=E,H=det(A,B,C)])
        virtual(H,F,G)
determinate_say/2 :
    determinate_say(A,B) :- 
        $constraint([])
        say(A,B)
        $constraint([])
        $predef(!)
determiner/7 :
    determiner(A,B,C,D,E,F,G) :- 
        $constraint([])
        quant_phrase(A,B,C,D,E,F,G)
    determiner(A,B,C,D,E,F,G) :- 
        $constraint([])
        det(A,B,C,D,E,F,G)
empty/1 :
    empty(A) :- 
        $constraint([A= #(0,0,0,0)])
fronted_verb/6 :
    fronted_verb(A,B,C,D,E,F) :- 
        $constraint([F=x(gap,nonterminal,verb_form(G,H,I,J),x(nogap,nonterminal,neg(K,L),M))])
        verb_form(G,H,I,N,C,O,E,P)
        $constraint([Q=aux+R])
        verb_type(G,Q)
        $constraint([])
        role(A,J,B)
        $constraint([])
        neg(S,L,O,D,P,M)
gap/1 :
    gap(A) :- 
        $constraint([A=[]])
    gap(A) :- 
        $constraint([A=x(gap,B,C,D)])
gen_case/4 :
    gen_case(A,B,C,D) :- 
        $constraint([D=x(nogap,terminal,the,E)])
        gen_marker(A,B,C,E)
gen_marker/4 :
    gen_marker(A,B,C,D) :- 
        $constraint([E=quote])
        quote(E,A,F,C,G)
        $constraint([])
        an_s(F,B,G,D)
    gen_marker(A,B,C,D) :- 
        $constraint([A=B,E=gen_marker])
        virtual(E,C,D)
go/0 :
    go :- 
        $constraint([A=BMARK_chat:])
        go(A)
go/1 :
    go(A) :- 
        $constraint([])
        test(B)
        $constraint([])
        $predef(nl)
        $constraint([C=(A=[B])])
        $predef(write(C))
        $constraint([])
        $predef(nl)
have/8 :
    have(A,B,C,D,E,F,G,H) :- 
        $constraint([A=B,C=active,D=[],E=F,G=H])
    have(A,B,C,D,E,F,G,H) :- 
        $constraint([A=be])
        verb_form(I,J,K,L,E,M,G,N)
        $constraint([])
        be(J,I,B,C,D,M,F,N,H)
imperative/5 :
    imperative(A,B,C,D,E) :- 
        $constraint([A=imp(F)])
        imperative_verb(B,G,D,H)
        $constraint([])
        s(F,I,G,C,H,E)
imperative_verb/4 :
    imperative_verb(A,B,C,D) :- 
        $constraint([D=x(nogap,terminal,you,x(nogap,nonterminal,verb_form(E,imp+fin,2+sin,main),F)),G=inf])
        verb_form(E,G,H,I,A,B,C,F)
int_art/4 :
    int_art(A,B,C,D) :- 
        $constraint([A=which,D=int_det(B)])
    int_art(A,B,C,D) :- 
        $constraint([A=what,D=int_det(B)])
int_art/6 :
    int_art(A,B,C,D,E,F) :- 
        $constraint([F=x(nogap,nonterminal,det(G,B,def),H)])
        int_art(A,B,G,C,D,E,H)
int_art/7 :
    int_art(A,B,C,D,E,F,G) :- 
        $constraint([])
        terminal(H,D,E,F,G)
        $constraint([])
        int_art(H,A,B,C)
    int_art(A,B,C,D,E,F,G) :- 
        $constraint([B=plu,C=quant(same,wh(A)),H=how])
        quote(H,D,I,F,J)
        $constraint([K=many])
        quote(K,I,E,J,G)
int_det/6 :
    int_det(A,B,C,D,E,F) :- 
        $constraint([B=3+G])
        int_art(A,G,C,D,E,F)
    int_det(A,B,C,D,E,F) :- 
        $constraint([B=3+G])
        whose(A,G,C,D,E,F)
int_pron/2 :
    int_pron(A,B) :- 
        $constraint([A=whom,B=compl])
    int_pron(A,B) :- 
        $constraint([A=who,B=subj])
    int_pron(A,B) :- 
        $constraint([A=which,B=undef])
    int_pron(A,B) :- 
        $constraint([A=what,B=undef])
int_pron/5 :
    int_pron(A,B,C,D,E) :- 
        $constraint([])
        terminal(F,B,C,D,E)
        $constraint([])
        int_pron(F,A)
is_adv/1 :
    is_adv(A) :- 
        $constraint([A= #(B,C,D,1)])
is_chat_trace/1 :
    is_chat_trace(A) :- 
        $constraint([A= #(B,C,1,D)])
is_pp/1 :
    is_pp(A) :- 
        $constraint([A= #(1,B,C,D)])
is_pred/1 :
    is_pred(A) :- 
        $constraint([A= #(B,1,C,D)])
loc_pred/2 :
    loc_pred(A,B) :- 
        $constraint([A=south,B=prep(southof)])
    loc_pred(A,B) :- 
        $constraint([A=north,B=prep(northof)])
    loc_pred(A,B) :- 
        $constraint([A=west,B=prep(westof)])
    loc_pred(A,B) :- 
        $constraint([A=east,B=prep(eastof)])
loc_pred/5 :
    loc_pred(A,B,C,D,E) :- 
        $constraint([])
        terminal(F,B,C,D,E)
        $constraint([])
        loc_pred(F,A)
minus/3 :
    minus(A,B,C) :- 
        $constraint([A= #(D,E,F,G),B= #(H,I,J,K),C= #(L,M,N,O)])
        anot(D,H,L)
        $constraint([])
        anot(E,I,M)
        $constraint([])
        anot(F,J,N)
        $constraint([])
        anot(G,K,O)
myplus/3 :
    myplus(A,B,C) :- 
        $constraint([A= #(D,E,F,G),B= #(H,I,J,K),C= #(L,M,N,O)])
        or(D,H,L)
        $constraint([])
        or(E,I,M)
        $constraint([])
        or(F,J,N)
        $constraint([])
        or(G,K,O)
name/1 :
    name(A) :- 
        $constraint([])
name/5 :
    name(A,B,C,D,E) :- 
        $constraint([])
        opt_the(B,F,D,G)
        $constraint([])
        terminal(A,F,C,G,E)
        $constraint([])
        name(A)
neg/6 :
    neg(A,B,C,D,E,F) :- 
        $constraint([B=pos,C=D,E=F])
    neg(A,B,C,D,E,F) :- 
        $constraint([A=aux+G,B=neg,H=not])
        quote(H,C,D,E,F)
    neg(A,B,C,D,E,F) :- 
        $constraint([C=D,G=neg(A,B)])
        virtual(G,E,F)
neg_adv/6 :
    neg_adv(A,B,C,D,E,F) :- 
        $constraint([A=B,C=D,E=F])
    neg_adv(A,B,C,D,E,F) :- 
        $constraint([B=not+A,G=not])
        quote(G,C,D,E,F)
no_args/1 :
    no_args(A) :- 
        $constraint([A=intrans])
    no_args(A) :- 
        $constraint([A=ditrans])
    no_args(A) :- 
        $constraint([A=trans])
noun/6 :
    noun(A,B,C,D,E,F) :- 
        $constraint([])
        terminal(G,C,D,E,F)
        $constraint([])
        noun_form(G,A,B)
noun_form/3 :
    noun_form(A,B,C) :- 
        $constraint([A=percentage,B=percentage])
    noun_form(A,B,C) :- 
        $constraint([A=proportion,B=proportion])
    noun_form(A,B,C) :- 
        $constraint([A=B,C=sin])
        noun_sin(B)
    noun_form(A,B,C) :- 
        $constraint([C=plu])
        noun_plu(A,B)
noun_plu/2 :
    noun_plu(A,B) :- 
        $constraint([A=numbers,B=number])
    noun_plu(A,B) :- 
        $constraint([A=seamasses,B=seamass])
    noun_plu(A,B) :- 
        $constraint([A=seas,B=sea])
    noun_plu(A,B) :- 
        $constraint([A=rivers,B=river])
    noun_plu(A,B) :- 
        $constraint([A=regions,B=region])
    noun_plu(A,B) :- 
        $constraint([A=populations,B=population])
    noun_plu(A,B) :- 
        $constraint([A=people,B=person])
    noun_plu(A,B) :- 
        $constraint([A=persons,B=person])
    noun_plu(A,B) :- 
        $constraint([A=oceans,B=ocean])
    noun_plu(A,B) :- 
        $constraint([A=longitudes,B=longitude])
    noun_plu(A,B) :- 
        $constraint([A=latitudes,B=latitude])
    noun_plu(A,B) :- 
        $constraint([A=countries,B=country])
    noun_plu(A,B) :- 
        $constraint([A=continents,B=continent])
    noun_plu(A,B) :- 
        $constraint([A=cities,B=city])
    noun_plu(A,B) :- 
        $constraint([A=capitals,B=capital])
    noun_plu(A,B) :- 
        $constraint([A=areas,B=area])
    noun_plu(A,B) :- 
        $constraint([A=places,B=place])
    noun_plu(A,B) :- 
        $constraint([A=times,B=time])
    noun_plu(A,B) :- 
        $constraint([A=thousand,B=thousand])
    noun_plu(A,B) :- 
        $constraint([A=million,B=million])
    noun_plu(A,B) :- 
        $constraint([A=ksqmiles,B=ksqmile])
    noun_plu(A,B) :- 
        $constraint([A=sqmiles,B=sqmile])
    noun_plu(A,B) :- 
        $constraint([A=degrees,B=degree])
    noun_plu(A,B) :- 
        $constraint([A=sums,B=sum])
    noun_plu(A,B) :- 
        $constraint([A=totals,B=total])
    noun_plu(A,B) :- 
        $constraint([A=averages,B=average])
noun_sin/1 :
    noun_sin(A) :- 
        $constraint([A=number])
    noun_sin(A) :- 
        $constraint([A=seamass])
    noun_sin(A) :- 
        $constraint([A=sea])
    noun_sin(A) :- 
        $constraint([A=river])
    noun_sin(A) :- 
        $constraint([A=region])
    noun_sin(A) :- 
        $constraint([A=population])
    noun_sin(A) :- 
        $constraint([A=person])
    noun_sin(A) :- 
        $constraint([A=ocean])
    noun_sin(A) :- 
        $constraint([A=longitude])
    noun_sin(A) :- 
        $constraint([A=latitude])
    noun_sin(A) :- 
        $constraint([A=country])
    noun_sin(A) :- 
        $constraint([A=continent])
    noun_sin(A) :- 
        $constraint([A=city])
    noun_sin(A) :- 
        $constraint([A=capital])
    noun_sin(A) :- 
        $constraint([A=area])
    noun_sin(A) :- 
        $constraint([A=place])
    noun_sin(A) :- 
        $constraint([A=time])
    noun_sin(A) :- 
        $constraint([A=million])
    noun_sin(A) :- 
        $constraint([A=thousand])
    noun_sin(A) :- 
        $constraint([A=ksqmile])
    noun_sin(A) :- 
        $constraint([A=sqmile])
    noun_sin(A) :- 
        $constraint([A=degree])
    noun_sin(A) :- 
        $constraint([A=sum])
    noun_sin(A) :- 
        $constraint([A=total])
    noun_sin(A) :- 
        $constraint([A=average])
np/11 :
    np(A,B,C,D,E,F,G,H,I,J,K) :- 
        $constraint([A=part(L,M),B=3+N,D=indef])
        is_pp(F)
        $constraint([O=indef])
        determiner(L,N,O,H,P,J,Q)
        $constraint([R=of])
        quote(R,P,S,Q,T)
        $constraint([])
        s_all(U)
        $constraint([])
        prep_case(V)
        $constraint([W=3+plu,X=def])
        np(M,W,V,X,E,U,G,S,I,T,K)
    np(A,B,C,D,E,F,G,H,I,J,K) :- 
        $constraint([A=np(B,L,M)])
        is_pp(F)
        $constraint([N=D+O])
        np_head(L,B,N,P,M,H,Q,J,R)
        $constraint([])
        np_all(S)
        $constraint([])
        np_compls(O,B,E,P,S,G,Q,I,R,K)
    np(A,B,C,D,E,F,G,H,I,J,K) :- 
        $constraint([A=np(B,L,[]),D=def])
        is_pp(F)
        $constraint([])
        pers_pron(L,B,M,H,I,J,K)
        $constraint([])
        empty(G)
        $constraint([N=decl])
        role(M,N,C)
    np(A,B,C,D,E,F,G,H,I,J,K) :- 
        $constraint([H=I,L=np(A,B,C,D,E,F,G)])
        virtual(L,J,K)
np_all/1 :
    np_all(A) :- 
        $constraint([A= #(1,1,1,0)])
np_compls/10 :
    np_compls(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([A=common])
        np_all(K)
        $constraint([])
        np_mods(B,C,L,D,E,M,K,N,G,O,I,P)
        $constraint([])
        relative(B,L,M,N,F,O,H,P,J)
    np_compls(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([A=proper,D=[],G=H,I=J])
        empty(F)
np_head/9 :
    np_head(A,B,C,D,E,F,G,H,I) :- 
        $constraint([])
        np_head0(J,K,L,F,M,H,N)
        $constraint([O=P])
        possessive(J,K,L,O,P,A,B,C,D,E,M,G,N,I)
np_head0/7 :
    np_head0(A,B,C,D,E,F,G) :- 
        $constraint([A=np_head(H,[],I),B=3+sin,C=indef+common])
        quantifier_pron(H,I,D,E,F,G)
    np_head0(A,B,C,D,E,F,G) :- 
        $constraint([C=def+proper,G=x(nogap,nonterminal,gen_marker,H)])
        poss_pron(A,B,D,E,F,H)
    np_head0(A,B,C,D,E,F,G) :- 
        $constraint([A=np_head(H,I,J),B=3+K,C=L+common])
        determiner(H,K,L,D,M,F,N)
        $constraint([])
        adjs(I,M,O,N,P)
        $constraint([])
        noun(J,K,O,E,P,G)
    np_head0(A,B,C,D,E,F,G) :- 
        $constraint([A=name(H),B=3+sin,C=def+proper])
        name(H,D,E,F,G)
    np_head0(A,B,C,D,E,F,G) :- 
        $constraint([D=E,H=np_head0(A,B,C)])
        virtual(H,F,G)
np_mod/9 :
    np_mod(A,B,C,D,E,F,G,H,I) :- 
        $constraint([])
        reduced_relative(A,C,D,E,F,G,H,I)
    np_mod(A,B,C,D,E,F,G,H,I) :- 
        $constraint([])
        pp(C,B,D,E,F,G,H,I)
np_mods/12 :
    np_mods(A,B,C,D,E,F,G,H,I,J,K,L) :- 
        $constraint([C=D,E=F,G=H,I=J,K=L])
    np_mods(A,B,C,D,E,F,G,H,I,J,K,L) :- 
        $constraint([D=[M|N]])
        np_mod(A,B,M,E,O,I,P,K,Q)
        $constraint([])
        chat_trace(R)
        $constraint([])
        myplus(R,O,S)
        $constraint([])
        minus(E,S,T)
        $constraint([])
        myplus(O,E,U)
        $constraint([])
        np_mods(A,B,C,N,T,F,U,H,P,J,Q,L)
np_no_chat_trace/1 :
    np_no_chat_trace(A) :- 
        $constraint([A= #(1,1,0,0)])
number/3 :
    number(A,B,C) :- 
        $constraint([])
        tr_number(A,B)
        $constraint([])
        ag_number(B,C)
number/6 :
    number(A,B,C,D,E,F) :- 
        $constraint([A=nb(G)])
        terminal(H,C,D,E,F)
        $constraint([])
        number(H,G,B)
o_p_e_n/4 :
    o_p_e_n(A,B,C,D) :- 
        $constraint([A=B,D=x(gap,nonterminal,close,C)])
obj/8 :
    obj(A,B,C,D,E,F,G,H) :- 
        $constraint([A=dir,B=[],C=D,E=F,G=H])
    obj(A,B,C,D,E,F,G,H) :- 
        $constraint([A=ind,B=[arg(dir,I)],J=np])
        verb_arg(J,I,D,E,F,G,H)
object/8 :
    object(A,B,C,D,E,F,G,H) :- 
        $constraint([])
        adv(I)
        $constraint([])
        minus(I,C,J)
        $constraint([])
        advs(B,K,J,E,L,G,M)
        $constraint([])
        obj(A,K,C,D,L,F,M,H)
opt_comma/4 :
    opt_comma(A,B,C,D) :- 
        $constraint([A=B,C=D])
    opt_comma(A,B,C,D) :- 
        $constraint([E=,])
        quote(E,A,B,C,D)
opt_the/4 :
    opt_the(A,B,C,D) :- 
        $constraint([E=the])
        quote(E,A,B,C,D)
    opt_the(A,B,C,D) :- 
        $constraint([A=B,C=D])
or/3 :
    or(A,B,C) :- 
        $constraint([A=0,B=0,C=0])
    or(A,B,C) :- 
        $constraint([A=0,B=1,C=1])
    or(A,B,C) :- 
        $constraint([A=1,C=1])
participle/3 :
    participle(A,B,C) :- 
        $constraint([A=past+part,B=passive,C=[]])
    participle(A,B,C) :- 
        $constraint([A=pres+part,B=active,C=[prog]])
participle/7 :
    participle(A,B,C,D,E,F,G) :- 
        $constraint([A=verb(H,C,inf,I,J)])
        neg(K,J,D,L,F,M)
        $constraint([])
        verb_form(H,N,O,P,L,E,M,G)
        $constraint([])
        participle(N,C,I)
        $constraint([])
        verb_type(H,B)
passive/1 :
    passive(A) :- 
        $constraint([A=B+ditrans])
    passive(A) :- 
        $constraint([A=B+trans])
passive/7 :
    passive(A,B,C,D,E,F,G) :- 
        $constraint([A=B,C=active,D=E,F=G])
    passive(A,B,C,D,E,F,G) :- 
        $constraint([A=be,C=passive,H=past+part])
        verb_form(B,H,I,J,D,E,F,G)
        $constraint([])
        verb_type(B,K)
        $constraint([])
        passive(K)
pers_pron/5 :
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=them,C=3,D=plu,E=compl(F)])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=us,C=1,D=plu,E=compl(F)])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=her,B=fem,C=3,D=sin,E=compl(F)])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=him,B=masc,C=3,D=sin,E=compl(F)])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=me,C=1,D=sin,E=compl(F)])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=them,C=3,D=plu,E=subj])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=we,C=1,D=plu,E=subj])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=it,B=neut,C=3,D=sin])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=she,B=fem,C=3,D=sin,E=subj])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=he,B=masc,C=3,D=sin,E=subj])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=you,C=2])
    pers_pron(A,B,C,D,E) :- 
        $constraint([A=i,C=1,D=sin,E=subj])
pers_pron/7 :
    pers_pron(A,B,C,D,E,F,G) :- 
        $constraint([A=pronoun(H),B=I+J])
        terminal(K,D,E,F,G)
        $constraint([])
        pers_pron(K,H,I,J,C)
poss_pron/4 :
    poss_pron(A,B,C,D) :- 
        $constraint([A=their,C=3,D=plu])
    poss_pron(A,B,C,D) :- 
        $constraint([A=our,C=1,D=plu])
    poss_pron(A,B,C,D) :- 
        $constraint([A=its,B=neut,C=3,D=sin])
    poss_pron(A,B,C,D) :- 
        $constraint([A=her,B=fem,C=3,D=sin])
    poss_pron(A,B,C,D) :- 
        $constraint([A=his,B=masc,C=3,D=sin])
    poss_pron(A,B,C,D) :- 
        $constraint([A=your,C=2])
    poss_pron(A,B,C,D) :- 
        $constraint([A=my,C=1,D=sin])
poss_pron/6 :
    poss_pron(A,B,C,D,E,F) :- 
        $constraint([A=pronoun(G),B=H+I])
        terminal(J,C,D,E,F)
        $constraint([])
        poss_pron(J,G,H,I)
possessive/14 :
    possessive(A,B,C,D,E,F,G,H,I,J,K,L,M,N) :- 
        $constraint([A=F,B=G,C=H,D=I,E=J,K=L,M=N])
    possessive(A,B,C,D,E,F,G,H,I,J,K,L,M,N) :- 
        $constraint([D=[]])
        gen_case(K,O,M,P)
        $constraint([])
        np_head0(Q,R,S,O,T,P,U)
        $constraint([V=[pp(poss,np(B,A,E))|W]])
        possessive(Q,R,S,W,V,F,G,H,I,J,T,L,U,N)
pp/8 :
    pp(A,B,C,D,E,F,G,H) :- 
        $constraint([A=pp(I,J)])
        prep(I,E,K,G,L)
        $constraint([])
        prep_case(M)
        $constraint([])
        np(J,N,M,O,B,C,D,K,F,L,H)
    pp(A,B,C,D,E,F,G,H) :- 
        $constraint([E=F,I=pp(A,B,C,D)])
        virtual(I,G,H)
pre_adj/5 :
    pre_adj(A,B,C,D,E) :- 
        $constraint([])
        sup_phrase(A,B,C,D,E)
    pre_adj(A,B,C,D,E) :- 
        $constraint([])
        adj(F,A,B,C,D,E)
pred_conj/7 :
    pred_conj(A,B,C,D,E,F,G) :- 
        $constraint([])
        predicate(H,I,J,D,K,F,L)
        $constraint([])
        pred_rest(A,I,B,J,C,K,E,L,G)
pred_rest/9 :
    pred_rest(A,B,C,D,E,F,G,H,I) :- 
        $constraint([B=C,D=E,F=G,H=I])
    pred_rest(A,B,C,D,E,F,G,H,I) :- 
        $constraint([])
        conj(A,J,B,K,C,F,L,H,M)
        $constraint([])
        pred_conj(J,K,E,L,G,M,I)
predicate/7 :
    predicate(A,B,C,D,E,F,G) :- 
        $constraint([])
        s_all(H)
        $constraint([])
        adv_phrase(B,H,C,D,E,F,G)
    predicate(A,B,C,D,E,F,G) :- 
        $constraint([A=neg])
        s_all(H)
        $constraint([I=compl])
        pp(B,I,H,C,D,E,F,G)
    predicate(A,B,C,D,E,F,G) :- 
        $constraint([])
        adj_phrase(B,C,D,E,F,G)
    predicate(A,B,C,D,E,F,G) :- 
        $constraint([D=E,H=predicate(A,B,C)])
        virtual(H,F,G)
prep/1 :
    prep(A) :- 
        $constraint([A=through])
    prep(A) :- 
        $constraint([A=into])
    prep(A) :- 
        $constraint([A=from])
    prep(A) :- 
        $constraint([A=on])
    prep(A) :- 
        $constraint([A=in])
    prep(A) :- 
        $constraint([A=with])
    prep(A) :- 
        $constraint([A=by])
    prep(A) :- 
        $constraint([A=to])
    prep(A) :- 
        $constraint([A=of])
    prep(A) :- 
        $constraint([A=at])
    prep(A) :- 
        $constraint([A=as])
prep/5 :
    prep(A,B,C,D,E) :- 
        $constraint([A=prep(F)])
        terminal(F,B,C,D,E)
        $constraint([])
        prep(F)
prep_case/1 :
    prep_case(A) :- 
        $constraint([A= #(0,0,1)])
quant/6 :
    quant(A,B,C,D,E,F) :- 
        $constraint([A=same,B=indef,C=D,E=F])
    quant(A,B,C,D,E,F) :- 
        $constraint([A=the,B=def,G=the])
        quote(G,C,D,E,F)
    quant(A,B,C,D,E,F) :- 
        $constraint([B=indef,G=at])
        quote(G,C,H,E,I)
        $constraint([])
        sup_adv(J,H,D,I,F)
        $constraint([])
        sup_op(J,A)
    quant(A,B,C,D,E,F) :- 
        $constraint([B=indef])
        neg_adv(G,A,C,H,E,I)
        $constraint([])
        comp_adv(G,H,J,I,K)
        $constraint([L=than])
        quote(L,J,D,K,F)
quant_phrase/7 :
    quant_phrase(A,B,C,D,E,F,G) :- 
        $constraint([A=quant(H,I)])
        quant(H,C,D,J,F,K)
        $constraint([])
        number(I,B,J,E,K,G)
quantifier_pron/3 :
    quantifier_pron(A,B,C) :- 
        $constraint([A=nothing,B=no,C=thing])
    quantifier_pron(A,B,C) :- 
        $constraint([A=nobody,B=no,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=anything,B=any,C=thing])
    quantifier_pron(A,B,C) :- 
        $constraint([A=anyone,B=any,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=anybody,B=any,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=something,B=some,C=thing])
    quantifier_pron(A,B,C) :- 
        $constraint([A=someone,B=some,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=somebody,B=some,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=everything,B=every,C=thing])
    quantifier_pron(A,B,C) :- 
        $constraint([A=everyone,B=every,C=person])
    quantifier_pron(A,B,C) :- 
        $constraint([A=everybody,B=every,C=person])
quantifier_pron/6 :
    quantifier_pron(A,B,C,D,E,F) :- 
        $constraint([])
        terminal(G,C,D,E,F)
        $constraint([])
        quantifier_pron(G,A,B)
question/7 :
    question(A,B,C,D,E,F,G) :- 
        $constraint([])
        fronted_verb(A,B,D,H,F,I)
        $constraint([])
        s(C,J,H,E,I,G)
    question(A,B,C,D,E,F,G) :- 
        $constraint([])
        subj_question(A)
        $constraint([H=subj])
        role(H,I,B)
        $constraint([])
        s(C,J,D,E,F,G)
quote/1 :
    quote(A) :- 
        $constraint([A=when])
    quote(A) :- 
        $constraint([A=where])
    quote(A) :- 
        $constraint([A=many])
    quote(A) :- 
        $constraint([A=most])
    quote(A) :- 
        $constraint([A=least])
    quote(A) :- 
        $constraint([A=more])
    quote(A) :- 
        $constraint([A=less])
    quote(A) :- 
        $constraint([A=that])
    quote(A) :- 
        $constraint([A=as])
    quote(A) :- 
        $constraint([A=not])
    quote(A) :- 
        $constraint([A=the])
    quote(A) :- 
        $constraint([A=at])
    quote(A) :- 
        $constraint([A=than])
    quote(A) :- 
        $constraint([A=s])
    quote(A) :- 
        $constraint([A=,])
    quote(A) :- 
        $constraint([A=quote])
    quote(A) :- 
        $constraint([A=of])
    quote(A) :- 
        $constraint([A=there])
    quote(A) :- 
        $constraint([A=whose])
    quote(A) :- 
        $constraint([A=how])
quote/5 :
    quote(A,B,C,D,E) :- 
        $constraint([])
        terminal(A,B,C,D,E)
        $constraint([])
        quote(A)
reduced_rel/7 :
    reduced_rel(A,B,C,D,E,F,G) :- 
        $constraint([B=reduced_rel(H,I)])
        o_p_e_n(D,J,F,K)
        $constraint([])
        reduced_wh(A,H,J,L,K,M)
        $constraint([])
        s(I,N,L,O,M,P)
        $constraint([])
        chat_trace(Q)
        $constraint([])
        minus(N,Q,C)
        $constraint([])
        close(O,E,P,G)
reduced_rel_conj/8 :
    reduced_rel_conj(A,B,C,D,E,F,G,H) :- 
        $constraint([])
        reduced_rel(A,I,J,E,K,G,L)
        $constraint([])
        reduced_rel_rest(A,B,I,C,J,D,K,F,L,H)
reduced_rel_rest/10 :
    reduced_rel_rest(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([C=D,E=F,G=H,I=J])
    reduced_rel_rest(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([])
        conj(B,K,C,L,D,G,M,I,N)
        $constraint([])
        reduced_rel_conj(A,K,L,F,M,H,N,J)
reduced_relative/8 :
    reduced_relative(A,B,C,D,E,F,G,H) :- 
        $constraint([])
        is_pred(C)
        $constraint([])
        reduced_rel_conj(A,I,B,D,E,F,G,H)
reduced_wh/6 :
    reduced_wh(A,B,C,D,E,F) :- 
        $constraint([F=x(nogap,nonterminal,np(G,H,I,J,K,L,M),x(gap,nonterminal,np(np(A,wh(B),[]),A,N,O,P,Q,R),S))])
        s_all(T)
        $constraint([])
        subj_case(I)
        $constraint([])
        verb_case(N)
        $constraint([U=subj])
        np(G,H,V,J,U,T,W,C,D,E,S)
        $constraint([])
        chat_trace(L,M)
        $constraint([])
        chat_trace(Q,R)
    reduced_wh(A,B,C,D,E,F) :- 
        $constraint([F=x(nogap,nonterminal,np(np(A,wh(B),[]),A,G,H,I,J,K),x(nogap,nonterminal,verb(L,M,N,O),P))])
        participle(L,N,O,C,D,E,P)
        $constraint([])
        chat_trace(J,K)
        $constraint([])
        subj_case(G)
    reduced_wh(A,B,C,D,E,F) :- 
        $constraint([F=x(nogap,nonterminal,np(np(A,wh(B),[]),A,G,H,I,J,K),x(nogap,nonterminal,verb_form(be,pres+fin,A,main),x(nogap,nonterminal,neg(L,M),x(nogap,nonterminal,predicate(M,N,O),P))))])
        neg(Q,M,C,R,E,S)
        $constraint([])
        predicate(M,N,O,R,D,S,P)
        $constraint([])
        chat_trace(J,K)
        $constraint([])
        subj_case(G)
regular_past/2 :
    regular_past(A,B) :- 
        $constraint([A=flowed,B=flow])
    regular_past(A,B) :- 
        $constraint([A=exceeded,B=exceed])
    regular_past(A,B) :- 
        $constraint([A=drained,B=drain])
    regular_past(A,B) :- 
        $constraint([A=contained,B=contain])
    regular_past(A,B) :- 
        $constraint([A=bordered,B=border])
    regular_past(A,B) :- 
        $constraint([A=had,B=have])
regular_pres/1 :
    regular_pres(A) :- 
        $constraint([A=flow])
    regular_pres(A) :- 
        $constraint([A=exceed])
    regular_pres(A) :- 
        $constraint([A=drain])
    regular_pres(A) :- 
        $constraint([A=contain])
    regular_pres(A) :- 
        $constraint([A=border])
    regular_pres(A) :- 
        $constraint([A=rise])
    regular_pres(A) :- 
        $constraint([A=do])
    regular_pres(A) :- 
        $constraint([A=have])
rel/7 :
    rel(A,B,C,D,E,F,G) :- 
        $constraint([B=rel(H,I)])
        o_p_e_n(D,J,F,K)
        $constraint([])
        variable(A,H,J,L,K,M)
        $constraint([])
        s(I,N,L,O,M,P)
        $constraint([])
        chat_trace(Q)
        $constraint([])
        minus(N,Q,C)
        $constraint([])
        close(O,E,P,G)
rel_adj/2 :
    rel_adj(A,B) :- 
        $constraint([A=newer,B=new])
    rel_adj(A,B) :- 
        $constraint([A=older,B=old])
    rel_adj(A,B) :- 
        $constraint([A=larger,B=large])
    rel_adj(A,B) :- 
        $constraint([A=smaller,B=small])
    rel_adj(A,B) :- 
        $constraint([A=bigger,B=big])
    rel_adj(A,B) :- 
        $constraint([A=less,B=small])
    rel_adj(A,B) :- 
        $constraint([A=greater,B=great])
rel_adj/5 :
    rel_adj(A,B,C,D,E) :- 
        $constraint([A=adj(F)])
        terminal(G,B,C,D,E)
        $constraint([])
        rel_adj(G,F)
rel_conj/8 :
    rel_conj(A,B,C,D,E,F,G,H) :- 
        $constraint([])
        rel(A,I,J,E,K,G,L)
        $constraint([])
        rel_rest(A,B,I,C,J,D,K,F,L,H)
rel_pron/2 :
    rel_pron(A,B) :- 
        $constraint([A=which,B=undef])
    rel_pron(A,B) :- 
        $constraint([A=whom,B=compl])
    rel_pron(A,B) :- 
        $constraint([A=who,B=subj])
rel_pron/5 :
    rel_pron(A,B,C,D,E) :- 
        $constraint([])
        terminal(F,B,C,D,E)
        $constraint([])
        rel_pron(F,A)
rel_rest/10 :
    rel_rest(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([C=D,E=F,G=H,I=J])
    rel_rest(A,B,C,D,E,F,G,H,I,J) :- 
        $constraint([])
        conj(B,K,C,L,D,G,M,I,N)
        $constraint([])
        rel_conj(A,K,L,F,M,H,N,J)
relative/9 :
    relative(A,B,C,D,E,F,G,H,I) :- 
        $constraint([B=[],D=E,F=G,H=I])
    relative(A,B,C,D,E,F,G,H,I) :- 
        $constraint([B=[J]])
        is_pred(C)
        $constraint([])
        rel_conj(A,K,J,E,F,G,H,I)
rest_verb/9 :
    rest_verb(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=main,B=C,D=active,E=[],F=G,H=I])
    rest_verb(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=aux,B=do,D=active,E=[],J=inf])
        verb_form(C,J,K,L,F,G,H,I)
    rest_verb(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=aux,B=be])
        verb_form(J,K,L,M,F,N,H,O)
        $constraint([])
        be(K,J,C,D,E,N,G,O,I)
    rest_verb(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=aux,B=have,E=[perf|J],K=past+part])
        verb_form(L,K,M,N,F,O,H,P)
        $constraint([])
        have(L,C,D,J,O,G,P,I)
role/3 :
    role(A,B,C) :- 
        $constraint([A=nil])
    role(A,B,C) :- 
        $constraint([A=undef,B=decl])
    role(A,B,C) :- 
        $constraint([A=undef,B=aux,C= #(0,D,E)])
    role(A,B,C) :- 
        $constraint([A=undef,B=main,C= #(D,0,E)])
    role(A,B,C) :- 
        $constraint([A=compl,C= #(0,D,E)])
    role(A,B,C) :- 
        $constraint([A=subj,C= #(1,0,0)])
root_form/1 :
    root_form(A) :- 
        $constraint([A=3+plu])
    root_form(A) :- 
        $constraint([A=1+plu])
    root_form(A) :- 
        $constraint([A=2+B])
    root_form(A) :- 
        $constraint([A=1+sin])
s/6 :
    s(A,B,C,D,E,F) :- 
        $constraint([A=s(G,H,I,J)])
        subj(G,K,L,C,M,E,N)
        $constraint([])
        verb(H,K,L,O,M,P,N,Q)
        $constraint([])
        empty(R)
        $constraint([])
        s_all(S)
        $constraint([])
        verb_args(L,O,I,R,T,P,U,Q,V)
        $constraint([])
        minus(S,T,W)
        $constraint([])
        myplus(S,T,X)
        $constraint([])
        verb_mods(J,W,X,B,U,D,V,F)
s_all/1 :
    s_all(A) :- 
        $constraint([A= #(1,0,1,1)])
say/2 :
    say(A,B) :- 
        $constraint([C=[],D=[],E=[]])
        sentence(B,A,C,D,E)
sentence/5 :
    sentence(A,B,C,D,E) :- 
        $constraint([])
        imperative(A,B,F,D,G)
        $constraint([H=!])
        terminator(H,F,C,G,E)
    sentence(A,B,C,D,E) :- 
        $constraint([])
        yn_question(A,B,F,D,G)
        $constraint([H= ?])
        terminator(H,F,C,G,E)
    sentence(A,B,C,D,E) :- 
        $constraint([])
        topic(B,F,D,G)
        $constraint([])
        wh_question(A,F,H,G,I)
        $constraint([J= ?])
        terminator(J,H,C,I,E)
    sentence(A,B,C,D,E) :- 
        $constraint([])
        wh_question(A,B,F,D,G)
        $constraint([H= ?])
        terminator(H,F,C,G,E)
    sentence(A,B,C,D,E) :- 
        $constraint([])
        declarative(A,B,F,D,G)
        $constraint([H=.])
        terminator(H,F,C,G,E)
string/1 :
    string(A) :- 
        $constraint([A=[what,are,the,countries,from,which,a,river,flows,into,the,black_sea,?]])
    string(A) :- 
        $constraint([A=[is,there,some,ocean,that,does,not,border,any,country,?]])
    string(A) :- 
        $constraint([A=[is,there,more,than,one,country,in,each,continent,?]])
    string(A) :- 
        $constraint([A=[what,is,the,average,area,of,the,countries,in,each,continent,?]])
    string(A) :- 
        $constraint([A=[what,is,the,total,area,of,countries,south,of,the,equator,and,not,in,australasia,?]])
    string(A) :- 
        $constraint([A=[how,many,countries,does,the,danube,flow,through,?]])
    string(A) :- 
        $constraint([A=[which,countries,are,bordered,by,two,seas,?]])
    string(A) :- 
        $constraint([A=[what,are,the,capitals,of,the,countries,bordering,the,baltic,?]])
    string(A) :- 
        $constraint([A=[what,is,the,ocean,that,borders,african,countries,and,that,borders,asian,countries,?]])
    string(A) :- 
        $constraint([A=[how,large,is,the,smallest,american,country,?]])
    string(A) :- 
        $constraint([A=[which,countries,are,european,?]])
    string(A) :- 
        $constraint([A=[which,country,quote,s,capital,is,london,?]])
    string(A) :- 
        $constraint([A=[where,is,the,largest,country,?]])
    string(A) :- 
        $constraint([A=[what,is,the,capital,of,upper_volta,?]])
    string(A) :- 
        $constraint([A=[does,afghanistan,border,china,?]])
    string(A) :- 
        $constraint([A=[what,rivers,are,there,?]])
subj/7 :
    subj(A,B,C,D,E,F,G) :- 
        $constraint([])
        s_all(H)
        $constraint([])
        subj_case(I)
        $constraint([J=subj])
        np(A,B,I,K,J,H,L,D,E,F,G)
    subj(A,B,C,D,E,F,G) :- 
        $constraint([A=there,C=H+be,I=there])
        quote(I,D,E,F,G)
subj_case/1 :
    subj_case(A) :- 
        $constraint([A= #(1,0,0)])
subj_question/1 :
    subj_question(A) :- 
        $constraint([A=undef])
    subj_question(A) :- 
        $constraint([A=subj])
sup_adj/2 :
    sup_adj(A,B) :- 
        $constraint([A=newest,B=new])
    sup_adj(A,B) :- 
        $constraint([A=oldest,B=old])
    sup_adj(A,B) :- 
        $constraint([A=largest,B=large])
    sup_adj(A,B) :- 
        $constraint([A=smallest,B=small])
    sup_adj(A,B) :- 
        $constraint([A=biggest,B=big])
sup_adj/5 :
    sup_adj(A,B,C,D,E) :- 
        $constraint([A=adj(F)])
        terminal(G,B,C,D,E)
        $constraint([])
        sup_adj(G,F)
sup_adv/5 :
    sup_adv(A,B,C,D,E) :- 
        $constraint([A=most,F=most])
        quote(F,B,C,D,E)
    sup_adv(A,B,C,D,E) :- 
        $constraint([A=least,F=least])
        quote(F,B,C,D,E)
sup_op/2 :
    sup_op(A,B) :- 
        $constraint([A=most,B=not+more])
    sup_op(A,B) :- 
        $constraint([A=least,B=not+less])
sup_phrase/5 :
    sup_phrase(A,B,C,D,E) :- 
        $constraint([A=sup(F,G)])
        sup_adv(F,B,H,D,I)
        $constraint([J=quant])
        adj(J,G,H,C,I,E)
    sup_phrase(A,B,C,D,E) :- 
        $constraint([A=sup(most,F)])
        sup_adj(F,B,C,D,E)
terminal/5 :
    terminal(A,B,C,D,E) :- 
        $constraint([B=[A|C],D=E])
        gap(E)
    terminal(A,B,C,D,E) :- 
        $constraint([B=C,D=x(F,terminal,A,E)])
terminator/2 :
    terminator(A,B) :- 
        $constraint([A=!,B=!])
    terminator(A,B) :- 
        $constraint([A= ?,B= ?])
    terminator(A,B) :- 
        $constraint([A=.])
terminator/5 :
    terminator(A,B,C,D,E) :- 
        $constraint([])
        terminal(F,B,C,D,E)
        $constraint([])
        terminator(F,A)
test/1 :
    test(A) :- 
        $constraint([A=time-B,C=runtime])
        $predef(statistics(C,D))
        $constraint([])
        chat_parser
        $constraint([E=runtime,F=[G,B]])
        $predef(statistics(E,F))
topic/4 :
    topic(A,B,C,D) :- 
        $constraint([D=x(gap,nonterminal,pp(E,compl,F,G),H),I=compl])
        pp(E,I,F,G,A,J,C,K)
        $constraint([])
        opt_comma(J,B,K,H)
tr_number/2 :
    tr_number(A,B) :- 
        $constraint([A=ten,B=10])
    tr_number(A,B) :- 
        $constraint([A=nine,B=9])
    tr_number(A,B) :- 
        $constraint([A=eight,B=8])
    tr_number(A,B) :- 
        $constraint([A=seven,B=7])
    tr_number(A,B) :- 
        $constraint([A=six,B=6])
    tr_number(A,B) :- 
        $constraint([A=five,B=5])
    tr_number(A,B) :- 
        $constraint([A=four,B=4])
    tr_number(A,B) :- 
        $constraint([A=three,B=3])
    tr_number(A,B) :- 
        $constraint([A=two,B=2])
    tr_number(A,B) :- 
        $constraint([A=one,B=1])
    tr_number(A,B) :- 
        $constraint([A=nb(B)])
variable/6 :
    variable(A,B,C,D,E,F) :- 
        $constraint([F=x(gap,nonterminal,pp(pp(G,H),compl,I,J),K)])
        prep(G,C,L,E,M)
        $constraint([])
        wh(B,A,H,N,O,L,D,M,K)
        $constraint([])
        chat_trace(I,J)
        $constraint([])
        compl_case(O)
    variable(A,B,C,D,E,F) :- 
        $constraint([F=x(gap,nonterminal,np(G,H,I,J,K,L,M),N)])
        wh(B,A,G,H,I,C,D,E,N)
        $constraint([])
        chat_trace(L,M)
    variable(A,B,C,D,E,F) :- 
        $constraint([F=x(gap,nonterminal,np(np(A,wh(B),[]),A,G,H,I,J,K),L),M=that])
        quote(M,C,D,E,L)
        $constraint([])
        chat_trace(J,K)
variable_q/8 :
    variable_q(A,B,C,D,E,F,G,H) :- 
        $constraint([C=compl,H=x(gap,nonterminal,predicate(adj,value(I,wh(A)),J),K),L=how])
        quote(L,E,M,G,N)
        $constraint([O=quant])
        adj(O,I,M,F,N,K)
        $constraint([])
        empty(J)
        $constraint([])
        verb_case(D)
    variable_q(A,B,C,D,E,F,G,H) :- 
        $constraint([C=compl,H=x(gap,nonterminal,adv_phrase(pp(I,np(B,np_head(int_det(A),[],J),[])),K,L),M)])
        context_pron(I,J,E,F,G,M)
        $constraint([])
        chat_trace(K,L)
        $constraint([])
        verb_case(D)
    variable_q(A,B,C,D,E,F,G,H) :- 
        $constraint([C=compl,H=x(gap,nonterminal,pp(pp(I,J),compl,K,L),M)])
        prep(I,E,N,G,O)
        $constraint([])
        whq(A,B,J,P,N,F,O,M)
        $constraint([])
        chat_trace(K,L)
        $constraint([])
        compl_case(D)
    variable_q(A,B,C,D,E,F,G,H) :- 
        $constraint([H=x(gap,nonterminal,np(I,B,D,J,K,L,M),N)])
        whq(A,B,I,C,E,F,G,N)
        $constraint([])
        chat_trace(L,M)
verb/8 :
    verb(A,B,C,D,E,F,G,H) :- 
        $constraint([A=verb(I,D,J+fin,K,L),M=J+fin])
        verb_form(N,M,B,O,E,P,G,Q)
        $constraint([])
        verb_type(N,R)
        $constraint([])
        neg(R,L,P,S,Q,T)
        $constraint([])
        rest_verb(O,N,I,D,K,S,F,T,H)
        $constraint([])
        verb_type(I,C)
    verb(A,B,C,D,E,F,G,H) :- 
        $constraint([E=F,I=verb(A,B,C,D)])
        virtual(I,G,H)
verb_arg/7 :
    verb_arg(A,B,C,D,E,F,G) :- 
        $constraint([A=np])
        s_all(H)
        $constraint([])
        verb_case(I)
        $constraint([J=compl])
        np(B,K,I,L,J,H,C,D,E,F,G)
verb_args/9 :
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([C=[],D=E,F=G,H=I])
        no_args(A)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=have,B=active,C=[arg(dir,J)],K=np])
        verb_arg(K,J,E,F,G,H,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=be,C=[arg(dir,J)],K=np])
        verb_arg(K,J,E,F,G,H,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=be,C=[arg(predicate,J)]])
        pred_conj(K,J,E,F,G,H,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=be,C=[void],D=E,J=there])
        terminal(J,F,G,H,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=ditrans,C=[arg(J,K)|L],M=np])
        verb_arg(M,K,N,F,O,H,P)
        $constraint([])
        object(J,L,N,E,O,G,P,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=trans,B=active,C=[arg(dir,J)],K=np])
        verb_arg(K,J,E,F,G,H,I)
    verb_args(A,B,C,D,E,F,G,H,I) :- 
        $constraint([A=J+K])
        advs(C,L,M,F,N,H,O)
        $constraint([])
        verb_args(K,B,L,D,E,N,G,O,I)
verb_case/1 :
    verb_case(A) :- 
        $constraint([A= #(0,1,0)])
verb_form/4 :
    verb_form(A,B,C,D) :- 
        $constraint([A=exceeding,B=exceed,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=exceeds,B=exceed,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=draining,B=drain,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=drains,B=drain,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=containing,B=contain,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=contains,B=contain,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=bordering,B=border,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=borders,B=border,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=risen,B=rise,C=past+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=rose,B=rise,C=past+fin])
    verb_form(A,B,C,D) :- 
        $constraint([A=rises,B=rise,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=flowing,B=flow,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=flows,B=flow,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=done,B=do,C=past+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=doing,B=do,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=did,B=do,C=past+fin])
    verb_form(A,B,C,D) :- 
        $constraint([A=does,B=do,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=having,B=have,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=has,B=have,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=being,B=be,C=pres+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=been,B=be,C=past+part])
    verb_form(A,B,C,D) :- 
        $constraint([A=were,B=be,C=past+fin,D=E+plu])
    verb_form(A,B,C,D) :- 
        $constraint([A=was,B=be,C=past+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=were,B=be,C=past+fin,D=2+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=was,B=be,C=past+fin,D=1+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=are,B=be,C=pres+fin,D=E+plu])
    verb_form(A,B,C,D) :- 
        $constraint([A=is,B=be,C=pres+fin,D=3+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=are,B=be,C=pres+fin,D=2+sin])
    verb_form(A,B,C,D) :- 
        $constraint([A=am,B=be,C=pres+fin,D=1+sin])
    verb_form(A,B,C,D) :- 
        $constraint([C=past+E])
        regular_past(A,B)
    verb_form(A,B,C,D) :- 
        $constraint([A=B,C=pres+fin])
        regular_pres(B)
        $constraint([])
        root_form(D)
        $constraint([])
        verb_root(B)
    verb_form(A,B,C,D) :- 
        $constraint([A=B,C=inf])
        verb_root(B)
verb_form/8 :
    verb_form(A,B,C,D,E,F,G,H) :- 
        $constraint([])
        terminal(I,E,F,G,H)
        $constraint([])
        verb_form(I,A,B,C)
    verb_form(A,B,C,D,E,F,G,H) :- 
        $constraint([E=F,I=verb_form(A,B,C,D)])
        virtual(I,G,H)
verb_mod/7 :
    verb_mod(A,B,C,D,E,F,G) :- 
        $constraint([H=compl])
        pp(A,H,B,C,D,E,F,G)
    verb_mod(A,B,C,D,E,F,G) :- 
        $constraint([])
        is_adv(B)
        $constraint([])
        adverb(A,D,E,F,G)
        $constraint([])
        empty(C)
    verb_mod(A,B,C,D,E,F,G) :- 
        $constraint([])
        adv_phrase(A,B,C,D,E,F,G)
verb_mods/8 :
    verb_mods(A,B,C,D,E,F,G,H) :- 
        $constraint([A=[],C=D,E=F,G=H])
    verb_mods(A,B,C,D,E,F,G,H) :- 
        $constraint([A=[I|J]])
        verb_mod(I,B,K,E,L,G,M)
        $constraint([])
        chat_trace(N)
        $constraint([])
        myplus(N,K,O)
        $constraint([])
        minus(B,O,P)
        $constraint([])
        myplus(K,B,Q)
        $constraint([])
        verb_mods(J,P,Q,D,L,F,M,H)
verb_root/1 :
    verb_root(A) :- 
        $constraint([A=rise])
    verb_root(A) :- 
        $constraint([A=flow])
    verb_root(A) :- 
        $constraint([A=exceed])
    verb_root(A) :- 
        $constraint([A=drain])
    verb_root(A) :- 
        $constraint([A=contain])
    verb_root(A) :- 
        $constraint([A=border])
    verb_root(A) :- 
        $constraint([A=do])
    verb_root(A) :- 
        $constraint([A=have])
    verb_root(A) :- 
        $constraint([A=be])
verb_type/2 :
    verb_type(A,B) :- 
        $constraint([A=flow,B=main+intrans])
    verb_type(A,B) :- 
        $constraint([A=exceed,B=main+trans])
    verb_type(A,B) :- 
        $constraint([A=drain,B=main+intrans])
    verb_type(A,B) :- 
        $constraint([A=contain,B=main+trans])
    verb_type(A,B) :- 
        $constraint([A=border,B=main+trans])
    verb_type(A,B) :- 
        $constraint([A=rise,B=main+intrans])
    verb_type(A,B) :- 
        $constraint([A=do,B=aux+ditrans])
    verb_type(A,B) :- 
        $constraint([A=be,B=aux+be])
    verb_type(A,B) :- 
        $constraint([A=have,B=aux+have])
virtual/3 :
    virtual(A,B,C) :- 
        $constraint([B=x(D,nonterminal,A,C)])
wh/9 :
    wh(A,B,C,D,E,F,G,H,I) :- 
        $constraint([])
        whose(A,B,F,J,H,K)
        $constraint([])
        s_all(L)
        $constraint([M=def,N=subj])
        np(C,D,E,M,N,L,O,J,G,K,I)
    wh(A,B,C,D,E,F,G,H,I) :- 
        $constraint([C=np(D,J,[pp(K,L)]),M=N+common])
        np_head0(J,D,M,F,O,H,P)
        $constraint([])
        prep(K,O,Q,P,R)
        $constraint([])
        wh(A,B,L,S,T,Q,G,R,I)
    wh(A,B,C,D,E,F,G,H,I) :- 
        $constraint([B=D,C=np(D,wh(A),[])])
        rel_pron(J,F,G,H,I)
        $constraint([K=decl])
        role(J,K,E)
wh_question/5 :
    wh_question(A,B,C,D,E) :- 
        $constraint([A=whq(F,G)])
        variable_q(F,H,I,J,B,K,D,L)
        $constraint([])
        question(I,J,G,K,C,L,E)
whose/6 :
    whose(A,B,C,D,E,F) :- 
        $constraint([F=x(nogap,nonterminal,np_head0(wh(A),B,proper),x(nogap,nonterminal,gen_marker,G)),H=whose])
        quote(H,C,D,E,G)
whq/8 :
    whq(A,B,C,D,E,F,G,H) :- 
        $constraint([B=3+I,C=np(3+I,wh(A),[])])
        int_pron(D,E,F,G,H)
    whq(A,B,C,D,E,F,G,H) :- 
        $constraint([D=undef])
        int_det(A,B,E,I,G,J)
        $constraint([])
        s_all(K)
        $constraint([L=subj])
        np(C,B,M,N,L,K,O,I,F,J,H)
word/1 :
    word(A) :- 
        $constraint([])
        loc_pred(A,B)
    word(A) :- 
        $constraint([])
        int_pron(A,B)
    word(A) :- 
        $constraint([])
        int_art(A,B,C,D)
    word(A) :- 
        $constraint([])
        det(A,B,C,D)
    word(A) :- 
        $constraint([])
        number(A,B,C)
    word(A) :- 
        $constraint([])
        quantifier_pron(A,B,C)
    word(A) :- 
        $constraint([])
        prep(A)
    word(A) :- 
        $constraint([])
        noun_form(A,B,C)
    word(A) :- 
        $constraint([])
        verb_form(A,B,C,D)
    word(A) :- 
        $constraint([])
        rel_pron(A,B)
    word(A) :- 
        $constraint([])
        poss_pron(A,B,C,D)
    word(A) :- 
        $constraint([])
        pers_pron(A,B,C,D,E)
    word(A) :- 
        $constraint([])
        terminator(A,B)
    word(A) :- 
        $constraint([])
        name(A)
    word(A) :- 
        $constraint([])
        adj(A,B)
    word(A) :- 
        $constraint([])
        rel_adj(A,B)
    word(A) :- 
        $constraint([])
        sup_adj(A,B)
    word(A) :- 
        $constraint([])
        adverb(A)
    word(A) :- 
        $constraint([])
        conj(A)
    word(A) :- 
        $constraint([])
        quote(A)
yn_question/5 :
    yn_question(A,B,C,D,E) :- 
        $constraint([A=q(F),G=nil])
        fronted_verb(G,H,B,I,D,J)
        $constraint([])
        s(F,K,I,C,J,E)


Translation from normalized Prolog (pronor) to CLP(N) (pronat)... in 960 ms.

Determination of arguments that don't influence termination... in 250 ms.
    chat_parser
    go
    adv(1)
    adverb(1)
    chat_trace(1)
    compl_case(1)
    conj(1)
    empty(1)
    gap(1)
    go(0)
    is_adv(1)
    is_chat_trace(1)
    is_pp(1)
    is_pred(1)
    name(1)
    no_args(1)
    noun_sin(1)
    np_all(1)
    np_no_chat_trace(1)
    passive(1)
    prep(1)
    prep_case(1)
    quote(1)
    regular_pres(1)
    root_form(1)
    s_all(1)
    string(1)
    subj_case(1)
    subj_question(1)
    test(0)
    verb_case(1)
    verb_root(1)
    word(0)
    adj(1,1)
    ag_number(0,0)
    chat_trace(1,1)
    determinate_say(0,0)
    int_pron(1,1)
    loc_pred(1,1)
    noun_plu(1,1)
    regular_past(1,1)
    rel_adj(1,1)
    rel_pron(1,1)
    say(0,0)
    sup_adj(1,1)
    sup_op(1,1)
    terminator(1,1)
    tr_number(1,1)
    verb_type(1,1)
    anot(1,1,1)
    minus(0,0,0)
    myplus(0,0,0)
    noun_form(0,0,0)
    number(0,0,0)
    or(1,1,1)
    participle(1,1,1)
    quantifier_pron(1,1,1)
    role(1,1,1)
    virtual(1,1,1)
    an_s(0,0,0,0)
    close(0,0,1,1)
    det(1,1,1,1)
    gen_case(0,0,0,0)
    gen_marker(0,0,0,0)
    imperative_verb(0,0,0,0)
    int_art(1,1,1,1)
    o_p_e_n(1,1,1,1)
    opt_comma(0,0,0,0)
    opt_the(0,0,0,0)
    poss_pron(1,1,1,1)
    topic(0,0,0,0)
    verb_form(0,0,0,0)
    adjs(0,0,1,0,1)
    adverb(0,0,0,0,0)
    comp_adv(0,0,0,0,0)
    declarative(0,0,1,0,1)
    imperative(0,0,1,0,1)
    int_pron(1,0,0,0,0)
    loc_pred(1,0,0,0,0)
    name(0,0,0,0,0)
    pers_pron(1,1,1,1,1)
    pre_adj(0,0,0,0,0)
    prep(0,0,0,0,0)
    quote(0,0,0,0,0)
    rel_adj(0,0,0,0,0)
    rel_pron(1,0,0,0,0)
    sentence(0,0,0,0,0)
    sup_adj(0,0,0,0,0)
    sup_adv(0,0,0,0,0)
    sup_phrase(0,0,0,0,0)
    terminal(0,0,0,0,0)
    terminator(1,0,0,0,0)
    wh_question(0,0,1,0,1)
    yn_question(0,0,1,0,1)
    adj(1,0,0,0,0,0)
    adj_phrase(0,0,0,0,0,0)
    comp(0,0,0,0,0,0)
    comp_phrase(0,0,0,0,0,0)
    context_pron(0,0,0,0,0,0)
    fronted_verb(0,0,0,0,0,0)
    int_art(0,0,0,0,0,0)
    int_det(0,0,0,0,0,0)
    neg(0,0,0,0,0,0)
    neg_adv(0,0,0,0,0,0)
    noun(0,0,0,0,0,0)
    number(0,0,0,0,0,0)
    poss_pron(0,0,0,0,0,0)
    quant(0,0,0,0,0,0)
    quantifier_pron(1,1,0,0,0,0)
    reduced_wh(0,0,0,0,0,0)
    s(0,1,0,1,0,1)
    variable(0,0,0,0,0,0)
    whose(0,0,0,0,0,0)
    adv_phrase(0,0,0,0,0,0,0)
    advs(0,1,0,0,1,0,1)
    conj(0,0,0,0,0,0,0)
    det(0,1,1,0,0,0,0)
    determiner(0,0,0,0,0,0,0)
    int_art(0,0,0,0,0,0,0)
    np_head0(0,0,0,0,0,0,0)
    participle(0,1,0,0,0,0,0)
    passive(0,0,0,0,0,0,0)
    pers_pron(0,0,1,0,0,0,0)
    pred_conj(0,0,1,0,1,0,1)
    predicate(0,0,0,0,0,0,0)
    quant_phrase(0,0,0,0,0,0,0)
    question(0,0,0,0,1,0,1)
    reduced_rel(0,0,0,0,0,0,1)
    rel(0,0,0,0,0,0,1)
    subj(0,0,0,0,0,0,0)
    verb_arg(0,0,0,0,0,0,0)
    verb_mod(0,0,0,0,0,0,0)
    have(0,0,0,0,0,0,0,0)
    obj(0,0,1,0,0,0,0,0)
    object(0,0,0,0,0,0,0,0)
    pp(0,0,0,0,0,0,0,0)
    reduced_rel_conj(0,0,0,1,0,1,0,1)
    reduced_relative(0,0,0,1,0,1,0,1)
    rel_conj(0,0,0,1,0,1,0,1)
    variable_q(0,0,0,0,0,0,0,0)
    verb(0,0,1,0,0,0,0,0)
    verb_form(0,0,0,1,0,0,0,0)
    verb_mods(0,0,1,1,0,1,0,1)
    whq(0,0,0,0,0,0,0,0)
    be(0,0,0,0,0,0,0,0,0)
    conj(0,0,0,0,0,0,0,0,0)
    np_head(1,1,1,1,1,0,1,0,1)
    np_mod(0,0,0,0,0,0,0,0,0)
    pred_rest(0,0,0,1,1,0,1,0,1)
    relative(0,0,0,1,1,0,1,0,1)
    rest_verb(0,0,0,0,0,0,0,0,0)
    verb_args(0,0,0,0,0,0,0,0,0)
    wh(0,0,0,0,1,0,0,0,0)
    np_compls(0,0,0,0,0,1,0,0,0,0)
    reduced_rel_rest(0,0,0,0,1,1,0,1,0,1)
    rel_rest(0,0,0,0,1,1,0,1,0,1)
    np(0,0,1,0,0,0,0,0,0,0,0)
    np_mods(0,0,1,0,0,1,1,1,0,1,0,1)
    possessive(1,1,1,0,1,1,1,1,1,1,0,1,0,1)

Including mode informations to improve TNA analysis...  0 ms.
Reading CLP(N) clauses and assertion in pronat... in 120 ms.
Unknown predicates, assumed to be non-terminating: none

Construction, reduction and sort call graph... in 40 ms.
Reduced and sorted call graph:
    [adj/2]
    [adverb/1]
    [conj/1]
    [det/4]
    [int_art/4]
    [int_pron/2]
    [loc_pred/2]
    [name/1]
    [noun_plu/2]
    [noun_sin/1]
    [noun_form/3]
    [ag_number/2]
    [tr_number/2]
    [number/3]
    [pers_pron/5]
    [poss_pron/4]
    [prep/1]
    [quantifier_pron/3]
    [quote/1]
    [rel_adj/2]
    [rel_pron/2]
    [sup_adj/2]
    [terminator/2]
    [regular_past/2]
    [regular_pres/1]
    [root_form/1]
    [verb_root/1]
    [verb_form/4]
    [word/1]
    [is_chat_trace/1]
    [adv/1]
    [gap/1]
    [terminal/5]
    [adverb/5]
    [is_adv/1]
    [advs/7]
    [chat_trace/1]
    [chat_trace/2]
    [virtual/3]
    [close/4]
    [adj/6]
    [quote/5]
    [comp_adv/5]
    [rel_adj/5]
    [comp/6]
    [compl_case/1]
    [conj/7]
    [conj/9]
    [empty/1]
    [is_pp/1]
    [is_pred/1]
    [loc_pred/5]
    [anot/3]
    [minus/3]
    [or/3]
    [myplus/3]
    [no_args/1]
    [np_all/1]
    [an_s/4]
    [gen_marker/4]
    [gen_case/4]
    [sup_adj/5]
    [sup_adv/5]
    [sup_phrase/5]
    [pre_adj/5]
    [adjs/5]
    [det/7]
    [number/6]
    [neg_adv/6]
    [sup_op/2]
    [quant/6]
    [quant_phrase/7]
    [determiner/7]
    [opt_the/4]
    [name/5]
    [noun/6]
    [poss_pron/6]
    [quantifier_pron/6]
    [np_head0/7]
    [possessive/14]
    [np_head/9]
    [np_no_chat_trace/1]
    [o_p_e_n/4]
    [neg/6]
    [participle/3]
    [verb_form/8]
    [verb_type/2]
    [participle/7]
    [pers_pron/7]
    [prep/5]
    [prep_case/1]
    [rel_pron/5]
    [role/3]
    [s_all/1]
    [subj_case/1]
    [passive/1]
    [passive/7]
    [be/9]
    [have/8]
    [rest_verb/9]
    [verb/8]
    [verb_case/1]
    [whose/6]
    [adj_phrase/6,adv_phrase/7,comp_phrase/6,np/11,np_compls/10,np_mod/9,np_mods/12,obj/8,object/8,pp/8,pred_conj/7,pred_rest/9,predicate/7,reduced_rel/7,reduced_rel_conj/8,reduced_rel_rest/10,reduced_relative/8,reduced_wh/6,rel/7,rel_conj/8,rel_rest/10,relative/9,s/6,subj/7,variable/6,verb_arg/7,verb_args/9,verb_mod/7,verb_mods/8,wh/9]
    [declarative/5]
    [imperative_verb/4]
    [imperative/5]
    [terminator/5]
    [opt_comma/4]
    [topic/4]
    [fronted_verb/6]
    [subj_question/1]
    [question/7]
    [context_pron/6]
    [int_art/7]
    [int_art/6]
    [int_det/6]
    [int_pron/5]
    [whq/8]
    [variable_q/8]
    [wh_question/5]
    [yn_question/5]
    [sentence/5]
    [say/2]
    [determinate_say/2]
    [string/1]
    [chat_parser/0]
    [test/1]
    [go/1]
    [go/0]

Estimating max time for analysis: 9360000 ms.

Computation of a CLP(N) model... 
[adj/2]... 
bd: 10 ms.
i1       0 ms.
t(adj/2,[A,B]-[A=0,B=0],0,t,t)
[adverb/1]... 
bd: 0 ms.
i1       0 ms.
t(adverb/1,[A]-[A=0],0,t,t)
[conj/1]... 
bd: 0 ms.
i1       0 ms.
t(conj/1,[A]-[A=0],0,t,t)
[det/4]... 
bd: 30 ms.
i1       0 ms.
t(det/4,[A,B,C,D]-[A=0,D=0,C>=0],0,t,t)
[int_art/4]... 
bd: 0 ms.
i1       0 ms.
t(int_art/4,[A,B,C,D]-[A=0,B= -1+D,D>=1],0,t,t)
[int_pron/2]... 
bd: 10 ms.
i1       10 ms.
t(int_pron/2,[A,B]-[A=0,B=0],0,t,t)
[loc_pred/2]... 
bd: 0 ms.
i1       0 ms.
t(loc_pred/2,[A,B]-[A=0,B=1],0,t,t)
[name/1]... 
bd: 0 ms.
i1       0 ms.
t(name/1,[A]-[],0,t,t)
[noun_plu/2]... 
bd: 20 ms.
i1       0 ms.
t(noun_plu/2,[A,B]-[A=0,B=0],0,t,t)
[noun_sin/1]... 
bd: 10 ms.
i1       0 ms.
t(noun_sin/1,[A]-[A=0],0,t,t)
[noun_form/3]... 
bd: 10 ms.
i1       0 ms.
t(noun_form/3,[A,B,C]-[A=0,B=0],0,t,t)
[ag_number/2]... 
bd: 0 ms.
i1       0 ms.
t(ag_number/2,[A,B]-[B=0],0,t,t)
[tr_number/2]... 
bd: 10 ms.
i1       0 ms.
t(tr_number/2,[A,B]-[B>=0,A-B=<1,A-B>=0],0,t,t)
[number/3]... 
bd: 0 ms.
i1       0 ms.
t(number/3,[A,B,C]-[C=0,A-B=<1,A-B>=0,B>=0],0,t,t)
[pers_pron/5]... 
bd: 20 ms.
i1       0 ms.
t(pers_pron/5,[A,B,C,D,E]-[A=0,C=0],0,t,t)
[poss_pron/4]... 
bd: 20 ms.
i1       0 ms.
t(poss_pron/4,[A,B,C,D]-[A=0,C=0],0,t,t)
[prep/1]... 
bd: 0 ms.
i1       0 ms.
t(prep/1,[A]-[A=0],0,t,t)
[quantifier_pron/3]... 
bd: 10 ms.
i1       0 ms.
t(quantifier_pron/3,[A,B,C]-[A=0,B=0,C=0],0,t,t)
[quote/1]... 
bd: 10 ms.
i1       0 ms.
t(quote/1,[A]-[A=0],0,t,t)
[rel_adj/2]... 
bd: 0 ms.
i1       0 ms.
t(rel_adj/2,[A,B]-[A=0,B=0],0,t,t)
[rel_pron/2]... 
bd: 0 ms.
i1       0 ms.
t(rel_pron/2,[A,B]-[A=0,B=0],0,t,t)
[sup_adj/2]... 
bd: 0 ms.
i1       0 ms.
t(sup_adj/2,[A,B]-[A=0,B=0],0,t,t)
[terminator/2]... 
bd: 0 ms.
i1       0 ms.
t(terminator/2,[A,B]-[A=0],0,t,t)
[regular_past/2]... 
bd: 10 ms.
i1       0 ms.
t(regular_past/2,[A,B]-[A=0,B=0],0,t,t)
[regular_pres/1]... 
bd: 0 ms.
i1       0 ms.
t(regular_pres/1,[A]-[A=0],0,t,t)
[root_form/1]... 
bd: 0 ms.
i1       0 ms.
t(root_form/1,[A]-[A>=1],0,t,t)
[verb_root/1]... 
bd: 10 ms.
i1       0 ms.
t(verb_root/1,[A]-[A=0],0,t,t)
[verb_form/4]... 
bd: 60 ms.
i1       0 ms.
t(verb_form/4,[A,B,C,D]-[A=0,B=0,C>=0],0,t,t)
[word/1]... 
bd: 20 ms.
i1       0 ms.
t(word/1,[A]-[],0,t,t)
[is_chat_trace/1]... 
bd: 0 ms.
i1       0 ms.
t(is_chat_trace/1,[A]-[A>=1],0,t,t)
[adv/1]... 
bd: 0 ms.
i1       0 ms.
t(adv/1,[A]-[A=1],0,t,t)
[gap/1]... 
bd: 0 ms.
i1       0 ms.
t(gap/1,[A]-[A>=0],0,t,t)
[terminal/5]... 
bd: 30 ms.
i1       0 ms.
t(terminal/5,[A,B,C,D,E]-[B-C>=0,A-B+C>= -1,A>=0,C>=0,E>=0,A-B+C-D+E=< -1],0,t,t)
[adverb/5]... 
bd: 0 ms.
i1       10 ms.
t(adverb/5,[A,B,C,D,E]-[A=1,B-C+D-E>=1,E>=0,C>=0,B-C>=0,B-C=<1],0,t,t)
[is_adv/1]... 
bd: 0 ms.
i1       0 ms.
t(is_adv/1,[A]-[A>=1],0,t,t)
[advs/7]... 
bd: 10 ms.
i1   i2   i3:widening i4:widening     460 ms.
t(advs/7,[A,B,C,D,E,F,G]-[B>=0,E>=0,D-E>=0,A-B-2*D+2*E>=0,G>=0,A-B-2*D+2*E-2*F+2*G=<0],0,t,t)
[chat_trace/1]... 
bd: 0 ms.
i1       0 ms.
t(chat_trace/1,[A]-[A=1],0,t,t)
[chat_trace/2]... 
bd: 10 ms.
i1       0 ms.
t(chat_trace/2,[A,B]-[B=1,A>=1],0,t,t)
[virtual/3]... 
bd: 0 ms.
i1       10 ms.
t(virtual/3,[A,B,C]-[A-B+C=< -1,A>=0,C>=0],0,t,t)
[close/4]... 
bd: 0 ms.
i1       0 ms.
t(close/4,[A,B,C,D]-[A=B,B>=0,D>=0,C-D>=1],0,t,t)
[adj/6]... 
bd: 10 ms.
i1       0 ms.
t(adj/6,[A,B,C,D,E,F]-[A=0,B=1,C-D+E-F>=1,F>=0,D>=0,C-D>=0,C-D=<1],0,t,t)
[quote/5]... 
bd: 10 ms.
i1       0 ms.
t(quote/5,[A,B,C,D,E]-[A=0,B-C+D-E>=1,E>=0,C>=0,B-C>=0,B-C=<1],0,t,t)
[comp_adv/5]... 
bd: 10 ms.
i1       0 ms.
t(comp_adv/5,[A,B,C,D,E]-[A=0,B-C>=0,B-C=<1,C>=0,E>=0,B-C+D-E>=1],0,t,t)
[rel_adj/5]... 
bd: 0 ms.
i1       0 ms.
t(rel_adj/5,[A,B,C,D,E]-[A=1,B-C+D-E>=1,E>=0,C>=0,B-C>=0,B-C=<1],0,t,t)
[comp/6]... 
bd: 150 ms.
i1       0 ms.
t(comp/6,[A,B,C,D,E,F]-[A=0,B=1,E-F>=0,C-D+E-F>=2,C-D=<3,C-D>=0,D>=0,F>=0],0,t,t)
[compl_case/1]... 
bd: 0 ms.
i1       0 ms.
t(compl_case/1,[A]-[A>=1],0,t,t)
[conj/7]... 
bd: 20 ms.
i1       0 ms.
t(conj/7,[A,B,C,D,E,F,G]-[B=0,C=0,D-E+F-G>=1,G>=0,D-E=<1,E>=0,D-E>=0],0,t,t)
[conj/9]... 
bd: 10 ms.
i1       0 ms.
t(conj/9,[A,B,C,D,E,F,G,H,I]-[C>=0,D>=0,B= -(C)-D+E,C+D-E=< -1,A= -(C)-D+E,F-G=<1,F-G>=0,G>=0,I>=0,F-G+H-I>=1],0,t,t)
[empty/1]... 
bd: 0 ms.
i1       0 ms.
t(empty/1,[A]-[A=1],0,t,t)
[is_pp/1]... 
bd: 0 ms.
i1       0 ms.
t(is_pp/1,[A]-[A>=1],0,t,t)
[is_pred/1]... 
bd: 10 ms.
i1       0 ms.
t(is_pred/1,[A]-[A>=1],0,t,t)
[loc_pred/5]... 
bd: 0 ms.
i1       10 ms.
t(loc_pred/5,[A,B,C,D,E]-[A=1,B-C+D-E>=1,E>=0,C>=0,B-C>=0,B-C=<1],0,t,t)
[anot/3]... 
bd: 0 ms.
i1       0 ms.
t(anot/3,[A,B,C]-[B=0,C>=0],0,t,t)
[minus/3]... 
bd: 20 ms.
i1       0 ms.
t(minus/3,[A,B,C]-[B=1,A>=1,C>=1],0,t,t)
[or/3]... 
bd: 0 ms.
i1       0 ms.
t(or/3,[A,B,C]-[A=0,C=0],0,t,t)
[myplus/3]... 
bd: 10 ms.
i1       0 ms.
t(myplus/3,[A,B,C]-[A=1,C=1,B>=1],0,t,t)
[no_args/1]... 
bd: 0 ms.
i1       0 ms.
t(no_args/1,[A]-[A=0],0,t,t)
[np_all/1]... 
bd: 0 ms.
i1       0 ms.
t(np_all/1,[A]-[A=1],0,t,t)
[an_s/4]... 
bd: 30 ms.
i1       0 ms.
t(an_s/4,[A,B,C,D]-[A-B=<1,C-D>=0,B>=0,D>=0,A-B>=0],0,t,t)
[gen_marker/4]... 
bd: 70 ms.
i1       10 ms.
t(gen_marker/4,[A,B,C,D]-[A-B+C-D>=1,C-D>=0,A-B=<2,B>=0,D>=0,A-B>=0],0,t,t)
[gen_case/4]... 
bd: 10 ms.
i1       0 ms.
t(gen_case/4,[A,B,C,D]-[A-B>=0,A-B=<2,C-D>= -1,B>=0,D>=1,A-B+C-D>=0],0,t,t)
[sup_adj/5]... 
bd: 10 ms.
i1       0 ms.
t(sup_adj/5,[A,B,C,D,E]-[A=1,B-C+D-E>=1,E>=0,C>=0,B-C>=0,B-C=<1],0,t,t)
[sup_adv/5]... 
bd: 10 ms.
i1       0 ms.
t(sup_adv/5,[A,B,C,D,E]-[A=0,B-C>=0,B-C=<1,C>=0,E>=0,B-C+D-E>=1],0,t,t)
[sup_phrase/5]... 
bd: 80 ms.
i1       0 ms.
t(sup_phrase/5,[A,B,C,D,E]-[A=2,D-E>=0,B-C+D-E>=1,B-C=<2,B-C>=0,C>=0,E>=0],0,t,t)
[pre_adj/5]... 
bd: 80 ms.
i1       10 ms.
t(pre_adj/5,[A,B,C,D,E]-[A>=1,A-B+C>=0,B-C>=0,A=<2,D-E>=0,B-C+D-E>=1,C>=0,E>=0],0,t,t)
[adjs/5]... 
bd: 20 ms.
i1   i2   i3:widening i4:widening     1010 ms.
t(adjs/5,[A,B,C,D,E]-[D-E>=0,A-3/2*B+3/2*C>=0,B-C>=0,C>=0,E>=0,A-3*B+3*C-3*D+3*E=<0],0,t,t)
[det/7]... 
bd: 160 ms.
i1       0 ms.
t(det/7,[A,B,C,D,E,F,G]-[D-E=<1,C-F+G=<0,E>=0,G>=0,A-D+E>=0,D-E>=0,C>=0],0,t,t)
[number/6]... 
bd: 20 ms.
i1       0 ms.
t(number/6,[A,B,C,D,E,F]-[B=0,A-C+D>= -1,A-C+D-E+F=<0,E-F>=0,F>=0,D>=0,C-D>=0,A>=1],0,t,t)
[neg_adv/6]... 
bd: 50 ms.
i1       0 ms.
t(neg_adv/6,[A,B,C,D,E,F]-[A>=0,D>=0,F>=0,C-D>=0,A-B+C-D=<0,A-B+C-D+E-F>=0,A-B>= -1],0,t,t)
[sup_op/2]... 
bd: 0 ms.
i1       0 ms.
t(sup_op/2,[A,B]-[A=0,B=1],0,t,t)
[quant/6]... 
bd: 380 ms.
i1       0 ms.
t(quant/6,[A,B,C,D,E,F]-[B=0,A=<1,A-1/2*C+1/2*D-1/2*E+1/2*F=<0,A-C+D>= -2,D>=0,F>=0,C-D>=0,E-F>=0,A>=0],0,t,t)
[quant_phrase/7]... 
bd: 110 ms.
i1       10 ms.
t(quant_phrase/7,[A,B,C,D,E,F,G]-[B=0,C=0,A-D+E>= -2,A-D+E-F+G=<1,A>=2,D-E>=0,F-G>=0,G>=0,E>=0],0,t,t)
[determiner/7]... 
bd: 160 ms.
i1       10 ms.
t(determiner/7,[A,B,C,D,E,F,G]-[A-1/2*D+1/2*E>=0,A-D+E>= -2,C-F+G=<0,D-E>=0,E>=0,G>=0,C>=0],0,t,t)
[opt_the/4]... 
bd: 30 ms.
i1       0 ms.
t(opt_the/4,[A,B,C,D]-[A-B=<1,C-D>=0,B>=0,D>=0,A-B>=0],0,t,t)
[name/5