Package-level declarations
Types
The term of an argument (module argument), read and built through it rather than by the positions of its parts.
The term of an attack (module attack): attack(Type, Attacker, Attacked, On), Attacker attacking Attacked on its sub-argument On (Attacked itself for a direct attack), with an attack of Type (rebut, undermine, undercut, ...). Kotlin reads and builds it through AttackTerm.parts and AttackTerm.of.
The terms of the labels (module label): an argument labelled IN, OUT or UND is in(Argument), out(Argument) or und(Argument), by its identifier inId(Id), outId(Id) or undId(Id) (the native labellings), and a statement statIn(Statement), statOut(Statement) or statUnd(Statement). A label is in, out or und. Kotlin builds them through LabelTerm.argument, LabelTerm.identifier and LabelTerm.statement.
The terms of the rules and premises of a theory as the parser converts them (module rule): a clause rl(Conclusion) :- [Id, Premises, Conclusion] for a rule, Premises a conjunction, and rl(Conclusion) :- [Id, Conclusion] for a premise, kept in the context by their conclusion. Kotlin builds them through RuleTerm.rule and RuleTerm.premise.
The term of a statement (module statementTerm, as statement is the statement labelling of that name): [Claim], the list of the term claimed, as the conclusions of the arguments and the statements labelled are written. Kotlin reads and builds it through StatementTerm.claim and StatementTerm.of.
The term of a support (module support): support(Supporter, Supported), Supporter being a sub-argument of Supported. Kotlin reads and builds it through SupportTerm.parts and SupportTerm.of.