PropositionContraster

Identifies and articulates differences between groups of propositions.

This operation compares two labeled groups and generates propositions that describe their differences - useful for:

  • Comparing entities: "Alice vs Bob's work styles"

  • Comparing time periods: "Q1 vs Q2 performance"

  • Comparing products: "Product A vs Product B features"

Example:

Group A (Alice):
- "Alice prefers morning meetings"
- "Alice likes Python"
- "Alice works remotely"

Group B (Bob):
- "Bob prefers afternoon meetings"
- "Bob likes Java"
- "Bob works in office"

Output contrasts:
- "Alice and Bob have opposite meeting time preferences (morning vs afternoon)"
- "Alice prefers Python while Bob prefers Java"
- "Alice works remotely whereas Bob works in office"

Contrast propositions are stored with:

  • level = max(source levels) + 1

  • sourceIds = IDs from both groups

  • decay = average decay of sources

  • confidence = LLM-assessed confidence in the contrast

Inheritors

Functions

Link copied to clipboard
abstract fun contrast(groupA: PropositionGroup, groupB: PropositionGroup, targetCount: Int = 3): List<Proposition>

Identify differences between two groups of propositions.