code$ swipl -s code_English.prolog
% Janus 1.5.2 embeds Python 3.13.13 (main, Apr 8 2026, 18:23:14) [Clang 21.0.0 (clang-2100.0.123.102)]
Manual & tutorial: https://sandiway.arizona.edu Sandiway Fong (2024-2026)
Run: ?- parse(List,SO,L). (; for more answers)
List = [..words] (input), SO,L = syntactic object, [..] spellout (output)
See derivation: ?- report. ?- graph. (<- after parse/3) ?- summary. (short)
for a long report ?- retract(no_fill).
LEX expansion: ⒜ WordNet: ?- useMorphy. (noMorphy)
assert/retract/?- : use_morphy(C), for C={v,n,a,r}. ⒝ edit lex.prolog
⒞ ?- addNoun(Word) (addTr/addUrg/addUnacc/addAdj/addPrep).
Welcome to SWI-Prolog (threaded, 64 bits, version 10.0.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
% Interactive session; added `.` to Python `sys.path`
101 ?- assert(vR(be, v:be:θ, θ)).
true.
102 ?- assert(vR(fly, v:fly:θ, θ)).
true.
103 ?- parse([they,are,flying,planes],S,L).
Words: they are flying planes
Initial WS: planes fly_ø:presp v_fly:θ v_v:prog:pres INFL_v:pl they
INT/EXT: {C, {INFL_v:pl, {v_v:prog:pres, {{planes, they}, {v_fly:θ, fly_ø:presp}}}}}
EXT: {planes,[and],they} 3pl pres be ing fly
Spellout: {planes,[and],they} are flying
Blocked: inconsistent with input!
EXT: there 3pl pres be ing {planes,[and],they} fly
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
INT/EXT: {C_Q_aux(pl,pres,be), {INFL_v:pl, {v_v:prog:pres, {{planes, they}, {v_fly:θ, fly_ø:presp}}}}}
EXT: pl pres be →→ {planes,[and],they} 3pl pres be ing fly
Spellout: 3pl pres be {planes,[and],they} ing fly
Spellout: are {planes,[and],they} flying
Blocked: inconsistent with input!
EXT: pl pres be →→ there 3pl pres be ing {planes,[and],they} fly
Spellout: 3pl pres be there ing {planes,[and],they} fly
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
Initial WS: planes fly_θ:presp v_fly:θ v_v:prog:pres INFL_v:pl they
INT/EXT: {C, {INFL_v:pl, {v_v:prog:pres, {they, {v_fly:θ, {fly_θ:presp, planes}}}}}}
EXT: they 3pl pres be ing fly planes
Spellout: they are flying planes
Parse found!
S = {C, {INFL_v:pl, {v_v:prog:pres, {they, {v_fly:θ, {fly_θ:presp, planes}}}}}},
L = [they,are,flying,planes] ;
EXT: there 3pl pres be ing they fly planes
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
INT/EXT: {C_Q_aux(pl,pres,be), {INFL_v:pl, {v_v:prog:pres, {they, {v_fly:θ, {fly_θ:presp, planes}}}}}}
EXT: pl pres be →→ they 3pl pres be ing fly planes
Spellout: 3pl pres be they ing fly planes
Spellout: are they flying planes
Blocked: inconsistent with input!
EXT: pl pres be →→ there 3pl pres be ing they fly planes
Spellout: 3pl pres be there ing they fly planes
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
INT/EXT: {C, {INFL_v:pl, {v_v:prog:pres, {planes, {v_fly:θ, {fly_θ:presp, they}}}}}}
Error: Case: object "they" not ACC
Error: Case: object "they" not ACC
INT/EXT: {C_Q_aux(pl,pres,be), {INFL_v:pl, {v_v:prog:pres, {planes, {v_fly:θ, {fly_θ:presp, they}}}}}}
Error: Case: object "they" not ACC
Error: Case: object "they" not ACC
INT/EXT: {C, {INFL_v:pl, {v_v:prog:pres, {{planes, they}, {v_fly:θ, {fly_θ:presp, {planes, they}}}}}}}
EXT: {planes,[and],they} 3pl pres be ing fly {planes,[and],they}
Blocked: EXT inconsistent!
Blocked: inconsistent with input!
EXT: there 3pl pres be ing {planes,[and],they} fly {planes,[and],they}
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
INT/EXT: {C_Q_aux(pl,pres,be), {INFL_v:pl, {v_v:prog:pres, {{planes, they}, {v_fly:θ, {fly_θ:presp, {planes, they}}}}}}}
EXT: pl pres be →→ {planes,[and],they} 3pl pres be ing fly {planes,[and],they}
Spellout: 3pl pres be {planes,[and],they} ing fly {planes,[and],they}
Blocked: EXT inconsistent!
Blocked: inconsistent with input!
EXT: pl pres be →→ there 3pl pres be ing {planes,[and],they} fly {planes,[and],they}
Spellout: 3pl pres be there ing {planes,[and],they} fly {planes,[and],they}
Error: Morpheme "ing" unattached!
Blocked: inconsistent with input!
Initial WS: planes flying_θ be_θ v_be:θ:pres INFL_v:pl they
INT/EXT: {C, {INFL_v:pl, {they, {v_be:θ:pres, {be_θ, {planes, {flying_θ, planes}}}}}}}
EXT: they 3pl pres be flying planes
Spellout: they are flying planes
Parse found!
S = {C, {INFL_v:pl, {they, {v_be:θ:pres, {be_θ, {planes, {flying_θ, planes}}}}}}},
L = [they,are,flying,planes] ;
INT/EXT: {C, {INFL_v:pl, {planes, {v_be:θ:pres, {be_θ, {they, {flying_θ, they}}}}}}}
Error: Case: object "they" not ACC
INT/EXT: {C, {INFL_v:pl, {{they, {flying_θ, they}}, {v_be:θ:pres, {be_θ, planes}}}}}
EXT: flying they 3pl pres be planes
Spellout: flying they are planes
Blocked: inconsistent with input!
INT/EXT: {C, {INFL_v:pl, {{planes, {flying_θ, planes}}, {v_be:θ:pres, {be_θ, they}}}}}
Error: Case: object "they" not ACC
false.
105 ?- report.
REPORT LENGTH: 179
true.