withoutFoldedEvidence

fun withoutFoldedEvidence(groundingToRemove: List<String>, provenanceRefsToRemove: List<String>, sourceIdsToRemove: List<String>): Proposition

Create a copy with exactly groundingToRemove, provenanceRefsToRemove and sourceIdsToRemove taken out of this proposition's evidence — the inverse of absorbEvidence for one loser's contribution. Provenance refs use the shared evidence-key contract so current refs identify one full entry while legacy locator refs match only revisionless evidence.

Callers subtracting one collapsed member's evidence from a survivor that absorbed several members must first drop any ref another still-retired member also contributed, or this would strip evidence that member still needs. This method does the removal only — that "still needed by someone else" check belongs to the caller, which has visibility across all retired members of the collapse.