0 Prolog
↳1 UnifyTransformerProof (⇔, 0 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 66 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 0 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 TRUE
parse_in_ga(S0, Meaning) → U3_ga(S0, Meaning, np_in_gaa(S0, S1, Meaning))
np_in_gaa(Si, So, S) → U7_gaa(Si, So, S, det_in_gaa(Si, St, T))
det_in_gaa(.(a, S), S, a) → det_out_gaa(.(a, S), S, a)
det_in_gaa(.(the, S), S, the) → det_out_gaa(.(the, S), S, the)
U7_gaa(Si, So, S, det_out_gaa(Si, St, T)) → U8_gaa(Si, So, S, T, noun_in_gaa(St, So, N))
noun_in_gaa(.(book, S), S, -(book, s)) → noun_out_gaa(.(book, S), S, -(book, s))
noun_in_gaa(.(books, S), S, -(book, p)) → noun_out_gaa(.(books, S), S, -(book, p))
noun_in_gaa(.(box, S), S, -(box, s)) → noun_out_gaa(.(box, S), S, -(box, s))
noun_in_gaa(.(boxes, S), S, -(box, p)) → noun_out_gaa(.(boxes, S), S, -(box, p))
U8_gaa(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_gaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_gaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_gaa(Si, So, S)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_ga(S0, Meaning, verb_in_ggg(S1, [], Meaning))
verb_in_ggg(.(falls, So), So, s(s, N, fall)) → verb_out_ggg(.(falls, So), So, s(s, N, fall))
verb_in_ggg(.(fall, So), So, s(p, N, fall)) → verb_out_ggg(.(fall, So), So, s(p, N, fall))
verb_in_ggg(.(flies, So), So, s(s, N, fly)) → verb_out_ggg(.(flies, So), So, s(s, N, fly))
verb_in_ggg(.(fly, So), So, s(p, N, fly)) → verb_out_ggg(.(fly, So), So, s(p, N, fly))
U4_ga(S0, Meaning, verb_out_ggg(S1, [], Meaning)) → parse_out_ga(S0, Meaning)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_ga(S0, Meaning, verb_in_gag(S1, S2, Meaning))
verb_in_gag(.(falls, So), So, s(s, N, fall)) → verb_out_gag(.(falls, So), So, s(s, N, fall))
verb_in_gag(.(fall, So), So, s(p, N, fall)) → verb_out_gag(.(fall, So), So, s(p, N, fall))
verb_in_gag(.(flies, So), So, s(s, N, fly)) → verb_out_gag(.(flies, So), So, s(s, N, fly))
verb_in_gag(.(fly, So), So, s(p, N, fly)) → verb_out_gag(.(fly, So), So, s(p, N, fly))
U5_ga(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_ga(S0, Meaning, =_in_gg(S2, []))
=_in_gg(X, X) → =_out_gg(X, X)
U6_ga(S0, Meaning, =_out_gg(S2, [])) → parse_out_ga(S0, Meaning)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
parse_in_ga(S0, Meaning) → U3_ga(S0, Meaning, np_in_gaa(S0, S1, Meaning))
np_in_gaa(Si, So, S) → U7_gaa(Si, So, S, det_in_gaa(Si, St, T))
det_in_gaa(.(a, S), S, a) → det_out_gaa(.(a, S), S, a)
det_in_gaa(.(the, S), S, the) → det_out_gaa(.(the, S), S, the)
U7_gaa(Si, So, S, det_out_gaa(Si, St, T)) → U8_gaa(Si, So, S, T, noun_in_gaa(St, So, N))
noun_in_gaa(.(book, S), S, -(book, s)) → noun_out_gaa(.(book, S), S, -(book, s))
noun_in_gaa(.(books, S), S, -(book, p)) → noun_out_gaa(.(books, S), S, -(book, p))
noun_in_gaa(.(box, S), S, -(box, s)) → noun_out_gaa(.(box, S), S, -(box, s))
noun_in_gaa(.(boxes, S), S, -(box, p)) → noun_out_gaa(.(boxes, S), S, -(box, p))
U8_gaa(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_gaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_gaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_gaa(Si, So, S)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_ga(S0, Meaning, verb_in_ggg(S1, [], Meaning))
verb_in_ggg(.(falls, So), So, s(s, N, fall)) → verb_out_ggg(.(falls, So), So, s(s, N, fall))
verb_in_ggg(.(fall, So), So, s(p, N, fall)) → verb_out_ggg(.(fall, So), So, s(p, N, fall))
verb_in_ggg(.(flies, So), So, s(s, N, fly)) → verb_out_ggg(.(flies, So), So, s(s, N, fly))
verb_in_ggg(.(fly, So), So, s(p, N, fly)) → verb_out_ggg(.(fly, So), So, s(p, N, fly))
U4_ga(S0, Meaning, verb_out_ggg(S1, [], Meaning)) → parse_out_ga(S0, Meaning)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_ga(S0, Meaning, verb_in_gag(S1, S2, Meaning))
verb_in_gag(.(falls, So), So, s(s, N, fall)) → verb_out_gag(.(falls, So), So, s(s, N, fall))
verb_in_gag(.(fall, So), So, s(p, N, fall)) → verb_out_gag(.(fall, So), So, s(p, N, fall))
verb_in_gag(.(flies, So), So, s(s, N, fly)) → verb_out_gag(.(flies, So), So, s(s, N, fly))
verb_in_gag(.(fly, So), So, s(p, N, fly)) → verb_out_gag(.(fly, So), So, s(p, N, fly))
U5_ga(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_ga(S0, Meaning, =_in_gg(S2, []))
=_in_gg(X, X) → =_out_gg(X, X)
U6_ga(S0, Meaning, =_out_gg(S2, [])) → parse_out_ga(S0, Meaning)
PARSE_IN_GA(S0, Meaning) → U3_GA(S0, Meaning, np_in_gaa(S0, S1, Meaning))
PARSE_IN_GA(S0, Meaning) → NP_IN_GAA(S0, S1, Meaning)
NP_IN_GAA(Si, So, S) → U7_GAA(Si, So, S, det_in_gaa(Si, St, T))
NP_IN_GAA(Si, So, S) → DET_IN_GAA(Si, St, T)
U7_GAA(Si, So, S, det_out_gaa(Si, St, T)) → U8_GAA(Si, So, S, T, noun_in_gaa(St, So, N))
U7_GAA(Si, So, S, det_out_gaa(Si, St, T)) → NOUN_IN_GAA(St, So, N)
U8_GAA(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_GAA(Si, So, S, comb_in_gga(T, N, S))
U8_GAA(Si, So, S, T, noun_out_gaa(St, So, N)) → COMB_IN_GGA(T, N, S)
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_GA(S0, Meaning, verb_in_ggg(S1, [], Meaning))
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → VERB_IN_GGG(S1, [], Meaning)
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_GA(S0, Meaning, verb_in_gag(S1, S2, Meaning))
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → VERB_IN_GAG(S1, S2, Meaning)
U5_GA(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_GA(S0, Meaning, =_in_gg(S2, []))
U5_GA(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → =_IN_GG(S2, [])
parse_in_ga(S0, Meaning) → U3_ga(S0, Meaning, np_in_gaa(S0, S1, Meaning))
np_in_gaa(Si, So, S) → U7_gaa(Si, So, S, det_in_gaa(Si, St, T))
det_in_gaa(.(a, S), S, a) → det_out_gaa(.(a, S), S, a)
det_in_gaa(.(the, S), S, the) → det_out_gaa(.(the, S), S, the)
U7_gaa(Si, So, S, det_out_gaa(Si, St, T)) → U8_gaa(Si, So, S, T, noun_in_gaa(St, So, N))
noun_in_gaa(.(book, S), S, -(book, s)) → noun_out_gaa(.(book, S), S, -(book, s))
noun_in_gaa(.(books, S), S, -(book, p)) → noun_out_gaa(.(books, S), S, -(book, p))
noun_in_gaa(.(box, S), S, -(box, s)) → noun_out_gaa(.(box, S), S, -(box, s))
noun_in_gaa(.(boxes, S), S, -(box, p)) → noun_out_gaa(.(boxes, S), S, -(box, p))
U8_gaa(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_gaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_gaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_gaa(Si, So, S)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_ga(S0, Meaning, verb_in_ggg(S1, [], Meaning))
verb_in_ggg(.(falls, So), So, s(s, N, fall)) → verb_out_ggg(.(falls, So), So, s(s, N, fall))
verb_in_ggg(.(fall, So), So, s(p, N, fall)) → verb_out_ggg(.(fall, So), So, s(p, N, fall))
verb_in_ggg(.(flies, So), So, s(s, N, fly)) → verb_out_ggg(.(flies, So), So, s(s, N, fly))
verb_in_ggg(.(fly, So), So, s(p, N, fly)) → verb_out_ggg(.(fly, So), So, s(p, N, fly))
U4_ga(S0, Meaning, verb_out_ggg(S1, [], Meaning)) → parse_out_ga(S0, Meaning)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_ga(S0, Meaning, verb_in_gag(S1, S2, Meaning))
verb_in_gag(.(falls, So), So, s(s, N, fall)) → verb_out_gag(.(falls, So), So, s(s, N, fall))
verb_in_gag(.(fall, So), So, s(p, N, fall)) → verb_out_gag(.(fall, So), So, s(p, N, fall))
verb_in_gag(.(flies, So), So, s(s, N, fly)) → verb_out_gag(.(flies, So), So, s(s, N, fly))
verb_in_gag(.(fly, So), So, s(p, N, fly)) → verb_out_gag(.(fly, So), So, s(p, N, fly))
U5_ga(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_ga(S0, Meaning, =_in_gg(S2, []))
=_in_gg(X, X) → =_out_gg(X, X)
U6_ga(S0, Meaning, =_out_gg(S2, [])) → parse_out_ga(S0, Meaning)
PARSE_IN_GA(S0, Meaning) → U3_GA(S0, Meaning, np_in_gaa(S0, S1, Meaning))
PARSE_IN_GA(S0, Meaning) → NP_IN_GAA(S0, S1, Meaning)
NP_IN_GAA(Si, So, S) → U7_GAA(Si, So, S, det_in_gaa(Si, St, T))
NP_IN_GAA(Si, So, S) → DET_IN_GAA(Si, St, T)
U7_GAA(Si, So, S, det_out_gaa(Si, St, T)) → U8_GAA(Si, So, S, T, noun_in_gaa(St, So, N))
U7_GAA(Si, So, S, det_out_gaa(Si, St, T)) → NOUN_IN_GAA(St, So, N)
U8_GAA(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_GAA(Si, So, S, comb_in_gga(T, N, S))
U8_GAA(Si, So, S, T, noun_out_gaa(St, So, N)) → COMB_IN_GGA(T, N, S)
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_GA(S0, Meaning, verb_in_ggg(S1, [], Meaning))
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → VERB_IN_GGG(S1, [], Meaning)
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_GA(S0, Meaning, verb_in_gag(S1, S2, Meaning))
U3_GA(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → VERB_IN_GAG(S1, S2, Meaning)
U5_GA(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_GA(S0, Meaning, =_in_gg(S2, []))
U5_GA(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → =_IN_GG(S2, [])
parse_in_ga(S0, Meaning) → U3_ga(S0, Meaning, np_in_gaa(S0, S1, Meaning))
np_in_gaa(Si, So, S) → U7_gaa(Si, So, S, det_in_gaa(Si, St, T))
det_in_gaa(.(a, S), S, a) → det_out_gaa(.(a, S), S, a)
det_in_gaa(.(the, S), S, the) → det_out_gaa(.(the, S), S, the)
U7_gaa(Si, So, S, det_out_gaa(Si, St, T)) → U8_gaa(Si, So, S, T, noun_in_gaa(St, So, N))
noun_in_gaa(.(book, S), S, -(book, s)) → noun_out_gaa(.(book, S), S, -(book, s))
noun_in_gaa(.(books, S), S, -(book, p)) → noun_out_gaa(.(books, S), S, -(book, p))
noun_in_gaa(.(box, S), S, -(box, s)) → noun_out_gaa(.(box, S), S, -(box, s))
noun_in_gaa(.(boxes, S), S, -(box, p)) → noun_out_gaa(.(boxes, S), S, -(box, p))
U8_gaa(Si, So, S, T, noun_out_gaa(St, So, N)) → U9_gaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_gaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_gaa(Si, So, S)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U4_ga(S0, Meaning, verb_in_ggg(S1, [], Meaning))
verb_in_ggg(.(falls, So), So, s(s, N, fall)) → verb_out_ggg(.(falls, So), So, s(s, N, fall))
verb_in_ggg(.(fall, So), So, s(p, N, fall)) → verb_out_ggg(.(fall, So), So, s(p, N, fall))
verb_in_ggg(.(flies, So), So, s(s, N, fly)) → verb_out_ggg(.(flies, So), So, s(s, N, fly))
verb_in_ggg(.(fly, So), So, s(p, N, fly)) → verb_out_ggg(.(fly, So), So, s(p, N, fly))
U4_ga(S0, Meaning, verb_out_ggg(S1, [], Meaning)) → parse_out_ga(S0, Meaning)
U3_ga(S0, Meaning, np_out_gaa(S0, S1, Meaning)) → U5_ga(S0, Meaning, verb_in_gag(S1, S2, Meaning))
verb_in_gag(.(falls, So), So, s(s, N, fall)) → verb_out_gag(.(falls, So), So, s(s, N, fall))
verb_in_gag(.(fall, So), So, s(p, N, fall)) → verb_out_gag(.(fall, So), So, s(p, N, fall))
verb_in_gag(.(flies, So), So, s(s, N, fly)) → verb_out_gag(.(flies, So), So, s(s, N, fly))
verb_in_gag(.(fly, So), So, s(p, N, fly)) → verb_out_gag(.(fly, So), So, s(p, N, fly))
U5_ga(S0, Meaning, verb_out_gag(S1, S2, Meaning)) → U6_ga(S0, Meaning, =_in_gg(S2, []))
=_in_gg(X, X) → =_out_gg(X, X)
U6_ga(S0, Meaning, =_out_gg(S2, [])) → parse_out_ga(S0, Meaning)