argument

Data · Kotlin object ArgumentModule · library prolog.argumentation.data.argument

The term of an argument (module argument), read and built through it rather than by the positions of its parts.

An argument is the list [Rules, TopRule, Conclusion, Body, Info]:

  • Rules: the identifiers of the rules and premises it is made of;
  • TopRule: the identifier of its last rule, none for an argument made of a premise alone;
  • Conclusion: the statement it concludes, [Claim];
  • Body: the premises of its top rule;
  • Info: [LastDefeasibleRules, DefeasibleRules, DefeasiblePremises], what the preferences between arguments weigh.

Each accessor is a fact relating an argument to one of its parts, so it works both ways: given an argument it reads the part, given a part it builds the template of the arguments with it, to look them up in the context (argument::claim(A, sup(X, Y)), context_check(argument(A))). Kotlin reads and builds the terms through ArgumentTerm.parts and ArgumentTerm.info, written after the same layout.

PredicateDescription
new/6Argument is made of its parts
rules/2Rules are the identifiers of the rules and premises of Argument
withRules/3Changed is Argument with the rules Rules
topRule/2TopRule is the last rule of Argument, none for an argument made of a premise alone
conclusion/2Conclusion is the statement Argument concludes, [Claim]
claim/2Claim is the term Argument concludes
body/2Body are the premises of the top rule of Argument
info/2Info is what the preferences weigh of Argument: [LastDefeasibleRules, DefeasibleRules, DefeasiblePremises]
lastDefeasibleRules/2Rules are the last defeasible rules of Argument
defeasibleRules/2Rules are the defeasible rules of Argument
defeasiblePremises/2Premises are the defeasible premises of Argument
infoParts/4Info is made of its parts
isPremise/1Argument is made of a premise alone
rulesAndInfo/5The rules and the info of the argument built from the rule RuleId (strict if Strict is strict) on sub-arguments with the rules, last defeasible rules, defeasible rules and defeasible premises in Supports (see RulesAndInfo); native
isDefeasible/1Argument has defeasible rules or premises

new/6

new(?Rules, ?TopRule, ?Conclusion, ?Body, ?Info, ?Argument)

Argument is made of its parts.

rules/2

rules(?Argument, ?Rules)

Rules are the identifiers of the rules and premises of Argument.

withRules/3

withRules(?Argument, ?Rules, ?Changed)

Changed is Argument with the rules Rules.

topRule/2

topRule(?Argument, ?TopRule)

TopRule is the last rule of Argument, none for an argument made of a premise alone.

conclusion/2

conclusion(?Argument, ?Conclusion)

Conclusion is the statement Argument concludes, [Claim].

claim/2

claim(?Argument, ?Claim)

Claim is the term Argument concludes.

body/2

body(?Argument, ?Body)

Body are the premises of the top rule of Argument.

info/2

info(?Argument, ?Info)

Info is what the preferences weigh of Argument: [LastDefeasibleRules, DefeasibleRules, DefeasiblePremises].

lastDefeasibleRules/2

lastDefeasibleRules(?Argument, ?Rules)

Rules are the last defeasible rules of Argument.

defeasibleRules/2

defeasibleRules(?Argument, ?Rules)

Rules are the defeasible rules of Argument.

defeasiblePremises/2

defeasiblePremises(?Argument, ?Premises)

Premises are the defeasible premises of Argument.

infoParts/4

infoParts(?Info, ?LastDefeasibleRules, ?DefeasibleRules, ?DefeasiblePremises)

Info is made of its parts.

isPremise/1

isPremise(+Argument)

Argument is made of a premise alone.

rulesAndInfo/5

rulesAndInfo(+RuleId, +Strict, +Supports, -Rules, -Info)

Native primitive.

The rules and the info of the argument built from the rule RuleId (strict if Strict is strict) on sub-arguments with the rules, last defeasible rules, defeasible rules and defeasible premises in Supports (see RulesAndInfo); native.

isDefeasible/1

isDefeasible(+Argument)

Argument has defeasible rules or premises.