---
title: "AandP — paper by Tran (2020) — summary and ideas"
description: "The author builds a small rule-based system in Prolog with Definite Clause Grammars (DCG), using extra arguments, extra… 6 references."
authors: ["Trung Q. Tran"]
year: 2020
venue: "arXiv:2001.05672"
source: "https://arxiv.org/abs/2001.05672"
doi: "10.48550/arxiv.2001.05672"
arxiv: "2001.05672"
licence: "arXiv — non-exclusive license to distribute"
licence_url: "http://arxiv.org/licenses/nonexclusive-distrib/1.0/"
summary_licence: "Elamur Cosmic License"
canonical: "https://research.elamur.ai/free/en/papers/tran-2020-aandp-utilizing-prolog-converting-between/"
---
[Elamur Research](https://md.research.elamur.ai/free/en/) · [this page in HTML](https://research.elamur.ai/free/en/papers/tran-2020-aandp-utilizing-prolog-converting-between/)

[home](https://md.research.elamur.ai/free/en/) / [papers](https://md.research.elamur.ai/free/en/papers/) / [2020](https://md.research.elamur.ai/free/en/papers/2020/page/10/) / AandP: Utilizing Prolog for converting between active sentence and passive sentence with three-steps conversion

# AandP: Utilizing Prolog for converting between active sentence and passive sentence with three-steps conversion

**Authors:** Trung Q. Tran · **Year:** 2020 · **Venue:** arXiv:2001.05672 · **Licence:** [arXiv — non-exclusive license to distribute](http://arxiv.org/licenses/nonexclusive-distrib/1.0/)

**Links:** [Publisher's page](https://arxiv.org/abs/2001.05672) · [PDF](https://arxiv.org/pdf/2001.05672) · [DOI 10.48550/arxiv.2001.05672](https://doi.org/10.48550/arxiv.2001.05672) · [arXiv 2001.05672](https://arxiv.org/abs/2001.05672) · [OpenAlex](https://openalex.org/W2999671404)

**Citations:** 0 citations (OpenAlex, 2026-10-14)

## Summary
The paper addresses a classic grammar task: turning an English active-voice sentence into its passive counterpart and back. The meaning stays the same while the structure changes. The author builds a small rule-based system in Prolog with Definite Clause Grammars (DCG), using extra arguments, extra goals and a hand-written lexicon. Coverage includes all 12 English tenses, modal verbs, negation, singular/plural agreement, subject/object pronoun forms and irregular past participles. Conversion is refused when the active sentence has no object. The author introduces three design elements:
- a flattened sentence representation restricted to the transitive case;
- an auxiliary-based grouping of the 12 tenses into 4 classes, which reduces the number of DCG rules;
- a three-step pipeline: parse the sentence into a representation, rewrite that representation into the other voice, then generate the surface sentence from it.

The result is a working, open-source program demonstrated on example queries. There is no quantitative evaluation. The work matters mainly as a transparent, reversible model of voice alternation, built so that the same grammar serves both analysis and generation.

## Key points
- Implementation: Prolog + DCG. Code at github.com/tqtrunghnvn/ActiveAndPassive, split into `convertible.pl` (DCG rules and lexicon), `convert.pl` (the conversion step) and `testSuite.pl` (user commands).
- Coverage includes:
  - 12 tenses, modals (e.g., *should* → *should be bought*) and negation with *not*;
  - do-support in negated simple tenses, number agreement and pronoun case swapping (*he* ↔ *him*);
  - irregular participles (*buy* → *bought*);
  - noun phrases with adjective lists and PP modifiers.
- Passive auxiliaries are organised into three `auxTense` groups (*be*, *being*, *been*). Separately, the 12 tenses are grouped into 4 classes by their auxiliary pattern.
- Representation: `s(NP, V, NP)` for actives and `s(NP, aux, auxTense, v, agent(by), NP)` for passives, with `pol(not)` and `modal(X)` as extra slots. The query interface is `convert(ActiveS, ActiveRe, PassiveS, PassiveRe)`.
- Limitations: every word must be listed in the lexicon. Testing consists only of `activeTestSuite`/`passiveTestSuite` commands, with no reported accuracy figures.

## Interesting ideas
- Voice change is done as parse → rewrite the structure → regenerate, with one reversible grammar used for both directions, so the same rules analyse and produce text.
- Instead of 12 separate tense cases, tenses are grouped by the shape of their auxiliary chain, which collapses many rules into a few.
- Passivisation is gated on the presence of an object, and the passive's subject and *by*-phrase are mapped back to the active's object and subject.
- Agreement and pronoun case are threaded through the rules as extra arguments, so swapping roles automatically re-inflects the auxiliary and pronoun forms.
- Two-direction test suites exercise the converter both ways, and sentences without an object are expected to be rejected.

## For Mova

How these ideas could serve Mova, our small open language model — its files, stages and tests:

- **I1** (back): frame-to-text generation could choose active or passive from a single frame, reusing the analysis grammar's knowledge as generation constraints rather than separate templates.
- **I2** (tokens): tense/aspect/voice features could be computed from the aux chain pattern (modal? have? be+ing? be+participle?) as a compact, explainable morphology step.
- **I3** (frames): normalise `nsubj:pass` and `obl:agent` back to patient/agent roles so that "an apple is bought by him" and "he buys an apple" yield the same who-did-what-to-whom frame.
- **I4** (back): when generation promotes a different participant to subject, recompute verb agreement and pronoun case from the frame rather than copying surface forms.
- **I5** (learn): use active↔passive round-trips as a consistency check on parsing and generation, and use intransitive sentences as a negative control that must fail to passivise.

*Our summary of the paper, in our own words — not its text. The work belongs to its authors; read it at the links above.*

📚 Shelves (4): [🖥️ Computer Science](https://md.research.elamur.ai/free/en/shelves/computer-science/) · 16,667 works · [🤖 Artificial Intelligence](https://md.research.elamur.ai/free/en/shelves/computer-science/artificial-intelligence/) · 16,194 works · [🎭 Arts and Humanities](https://md.research.elamur.ai/free/en/shelves/arts-and-humanities/) · 16,039 works · [🗣️ Language and Linguistics](https://md.research.elamur.ai/free/en/shelves/arts-and-humanities/language-and-linguistics/) · 15,891 works

## Cite

Cite as: Trung Q. Tran. 2020. AandP: Utilizing Prolog for converting between active sentence and passive sentence with three-steps conversion. arXiv:2001.05672.

The paper itself, not this page. BibTeX from the library's record of the work.

```bibtex
@misc{tran2020aandp,
  title = {{AandP: Utilizing Prolog for converting between active sentence and passive sentence with three-steps conversion}},
  author = {Trung Q. Tran},
  year = {2020},
  doi = {10.48550/arxiv.2001.05672},
  eprint = {2001.05672},
  archivePrefix = {arXiv},
  url = {https://doi.org/10.48550/arxiv.2001.05672}
}
```

- [← previous A Thesaurus for Biblical Hebrew](https://md.research.elamur.ai/free/en/papers/azar-2020-thesaurus-biblical-hebrew/)
- [next → Bibliography of Ethiopian Semitic, Cushitic and Omotic Linguistics XXII: 2018](https://md.research.elamur.ai/free/en/papers/bulakh-2020-bibliography-ethiopian-semitic-cushitic-omotic/)
- [↑ back to papers of 2020](https://md.research.elamur.ai/free/en/papers/2020/page/10/)

## References

6 references, 0 of them with a card of ours. ↗ leads to the work, «find» searches for one we have no id for yet.

1. Donald Davidson and Gilbert Harman. Semantics of natural language, volume 40. Springer Science & Business Media, 2012. [find](https://scholar.google.com/scholar?q=Donald+Davidson+and+Gilbert+Harman%2E+Semantics+of+natural+language%2C+volume+40%2E+Springer+Science+%26+Business+Media%2C+2012%2E)
2. Ralph Grishman. Computational linguistics: an introduction. Cambridge University Press, 1986. [find](https://scholar.google.com/scholar?q=Ralph+Grishman%2E+Computational+linguistics%3A+an+introduction%2E+Cambridge+University+Press%2C+1986%2E)
3. Pierre M Nugues. An introduction to language processing with perl and prolog. Springer, 2006. [↗](https://doi.org/10.1007/3-540-34336-9)
4. Fernando CN Pereira and Stuart M Shieber. Prolog and natural-language analysis. Microtome Publishing, 2002. [find](https://scholar.google.com/scholar?q=Fernando+CN+Pereira+and+Stuart+M+Shieber%2E+Prolog+and+natural%2Dlanguage+analysis%2E+Microtome+Publishing%2C+2002%2E)
5. Fernando CN Pereira and David HD Warren. Definite clause grammars for language analysis—a survey of the formalism and a comparison with augmented transition networks. Artificial intelligence, 13(3):231–278, 1980. [↗](https://doi.org/10.1016/0004-3702(80)90003-x)
6. John Stobo. Problem solving with Prolog. CRC Press, 2004. [↗](https://doi.org/10.4324/9781315272825)

*Updated 1 November 2026*
