Daily Rambam · Techie Talmid · On-Ramp
Mishneh Torah, Testimony 22
Ah, greetings, fellow explorers of the digital landscape of Torah! Today, we're diving into a fascinating sugya from Mishneh Torah, Hilchot Edut, Perek 22. Think of it as debugging a complex algorithm where witness testimonies are the data inputs, and the resulting judgment is the output. We're going to map out the logic, compare different versions, and even find a clever refactoring to make the code crystal clear. So, buckle up, and let's get our systems thinking on!
Problem Statement
Our "bug report" in this sugya concerns a critical issue in witness testimony processing: conflicting witness groups. When two distinct sets of witnesses provide contradictory information, the system needs a robust mechanism to handle this data inconsistency. The core problem is how to assign validity and weight to testimonies when it's certain that at least one group is delivering "bad data" – i.e., lying. The challenge is to determine, without knowing which group is the faulty one, how to proceed with adjudication. Can we still extract valid information, or does the entire dataset become corrupted? Mishneh Torah, Edut Perek 22, lays out the rules for these scenarios, acting as our error-handling protocol.
Full Experience in the App
Listen. Chat. Go deeper.
Audio playback, interactive chevruta, Hebrew tools, and every daily learning track — only in Derekh Learning.
Text Snapshot
Let's pinpoint the key lines that define our algorithmic logic:
- Mishneh Torah, Edut 22:1: "Two groups of witnesses contradicting each other... If one witness from one group came together with one witness from the other group and they both delivered testimony concerning another matter, the testimony is of no consequence. For certainly one of them lied, but we do not know which one."
- Mishneh Torah, Edut 22:1: "If one of these groups comes alone and gives testimony and the other group comes alone and gives testimony regarding another matter, we accept the testimony of both groups individually."
- Mishneh Torah, Edut 22:2: "Reuven produced two promissory notes against Shimon: one for a maneh and one for 200 zuz. Shimon denied being obligated for either of the promissory notes. The witnesses to one of the promissory notes were one of the groups whose testimonies contradicted each other and the witnesses to the other were the second group. Shimon is required to pay only a maneh, for the bearer of the promissory note has the position of lesser strength. He must take an oath concerning the remainder."
- Mishneh Torah, Edut 22:3: "Reuven sued Levi, producing a promissory note signed by one of these groups of witnesses. Shimon also sued Levi and produced a promissory note signed by the other group. Although Levi denies both debts, both Reuven and Shimon are given the option of taking an oath and collecting what they claim. The rationale is that certainly one of them has a viable claim against him."
- Mishneh Torah, Edut 22:4: "Reuven sued Shimon producing a promissory note signed by one of these groups of witnesses and sued Levi, producing a promissory note signed by the other group. If both defendants deny the debts, we follow the principle: 'A person who seeks to expropriate money from a colleague must prove his claim.' Since Reuven cannot validate either of these legal documents, both the promissory notes are like shards. Both of the defendants are required to take merely a sh'vuat heset and they are released of obligation."
- Mishneh Torah, Edut 22:6: "When does the above apply? When the two groups of witnesses come to testify at the same time. Otherwise, whenever a person produces a legal document containing testimony of one of these two groups, he may expropriate property based upon it. Afterwards, if either he or another person produce a legal document with testimony from the other group, it can be used to expropriate property whether from the first borrower or from any other person. The rationale is that it is as if each of the two groups came alone and testified."
Flow Model
Let's visualize the decision-making process for contradictory witness groups as a flowchart:
- Start: Two groups of witnesses (Group A, Group B) provide testimony.
- Condition 1: Simultaneous Testimony?
- YES: Proceed to Condition 2.
- NO:
- Sub-Process: Each testimony is processed independently. If Group A testifies about Debt X, and later Group B testifies about Debt Y, both are accepted as if they came alone. This is like processing independent log files. The system treats them as separate events.
- End.
- Condition 2: Testimony about the Same Matter?
- YES: Proceed to Condition 3.
- NO:
- Sub-Process: Both groups' testimonies are accepted individually. (See Edut 22:1, second clause). Each group is treated as a separate, valid data stream for its respective matter.
- End.
- Condition 3: Cross-Group Witness Involvement? (i.e., One witness from A testifies with one witness from B about another matter).
- YES:
- Outcome: Testimony is nullified (0 consequence). This is a "data corruption" event. We can't trust either piece of information because the integrity of one of the sources is compromised by its interaction with a known conflicting source.
- End.
- NO: (i.e., Group A testifies about Matter X, and Group B testifies about Matter Y, or Group A testifies about X and Group B testifies about X, but no cross-witness interaction).
- Scenario A: One Group vs. Another Group (Single Claim, Different Matters): If Group A testifies about Debt X and Group B testifies about Debt Y, both are accepted individually. (This is covered by Condition 2, but worth reinforcing).
- Scenario B: One Group vs. Another Group (Same Claim, Different Debt Instruments):
- Input: Plaintiff (P) sues Defendant (D) on two promissory notes (Note 1, Note 2).
- Witnesses: Witnesses for Note 1 are Group A. Witnesses for Note 2 are Group B.
- Defendant's State: Denies both notes.
- Analysis: We know one group is lying. So, at least one note is invalid.
- Resolution (Edut 22:2): Defendant pays the amount of the lesser claim (e.g., a maneh if one is for a maneh and the other for 200 zuz).
- Reasoning: "The bearer of the promissory note has the position of lesser strength." We can only be certain of the debt for which there is less doubt. The lesser amount is the "safest" bet.
- Oath Required: For the remaining disputed amount, the plaintiff takes an oath (likely a Rabbinic oath, as per the commentary). This is akin to a partial admission requiring confirmation.
- Flow:
- If Plaintiff presents Note 1 (witnessed by Group A) and Note 2 (witnessed by Group B):
- Check: Are Group A and Group B known to contradict each other?
- YES:
- Identify: Lesser claim amount (e.g., maneh).
- Output: Defendant pays lesser amount.
- Action: Plaintiff takes oath for remaining amount.
- NO: (This case isn't covered by 22:1's premise, but for completeness, we'd assume normal adjudication).
- YES:
- Check: Are Group A and Group B known to contradict each other?
- If Plaintiff presents Note 1 (witnessed by Group A) and Note 2 (witnessed by Group B):
- Scenario C: Each Group Testifies for a Separate Plaintiff Against the Same Defendant:
- Input: Reuven has Note 1 (witnessed by Group A). Shimon has Note 2 (witnessed by Group B). Both Reuven and Shimon sue Levi.
- Defendant's State: Levi denies both debts.
- Analysis: We know one group is lying. So, at least one note is valid.
- Resolution (Edut 22:3): Both Reuven and Shimon can choose to take an oath and collect.
- Reasoning: "Certainly one of them has a viable claim." Since we don't know which group is the lying one, we can't invalidate both claims. The oath is a Rabbinic safeguard.
- Flow:
- If Reuven (Group A) & Shimon (Group B) sue Levi:
- Check: Are Group A and Group B known to contradict each other?
- YES:
- Option: Reuven can take oath and collect.
- Option: Shimon can take oath and collect.
- NO: (Normal adjudication).
- YES:
- Check: Are Group A and Group B known to contradict each other?
- If Reuven (Group A) & Shimon (Group B) sue Levi:
- Scenario D: Each Group Testifies for a Separate Plaintiff Against Separate Defendants:
- Input: Reuven has Note 1 (witnessed by Group A). Shimon has Note 2 (witnessed by Group B). Reuven sues Shimon. Correction: This text means Reuven sues Shimon on Note 1, and Reuven also sues Levi on Note 2.
- Defendant's State: Both Shimon and Levi deny the debts.
- Analysis: We know one group is lying. So, at least one note is invalid.
- Resolution (Edut 22:4): Both promissory notes are invalidated ("like shards"). Both defendants take sh'vuat heset (oath of the hesitant/doubtful) and are released.
- Reasoning: "A person who seeks to expropriate money from a colleague must prove his claim." Since the plaintiff (Reuven) cannot validate either document due to the inherent doubt from the contradictory witness groups, the burden of proof fails for both.
- Flow:
- If Reuven (Group A) sues Shimon, AND Reuven (Group B) sues Levi:
- Check: Are Group A and Group B known to contradict each other?
- YES:
- Outcome: Both promissory notes are void.
- Action: Shimon takes sh'vuat heset.
- Action: Levi takes sh'vuat heset.
- NO: (Normal adjudication).
- YES:
- Check: Are Group A and Group B known to contradict each other?
- If Reuven (Group A) sues Shimon, AND Reuven (Group B) sues Levi:
- YES:
Two Implementations
Let's compare how earlier (Rishonim) and later (Acharonim) commentators have interpreted and applied these rules, framing them as Algorithm A (Rishonim-inspired) and Algorithm B (Acharonim-inspired).
Algorithm A: The "Strict Validation" Approach (Rishonim-like)
This approach emphasizes the principle of safek d'orayta (doubt of Torah law), where doubt generally leads to leniency for the defendant.
Core Logic:
- Input: Two witness groups (G_A, G_B) identified as contradictory.
- Check for Joint Testimony: If any witness from G_A testified jointly with any witness from G_B on another matter, then all testimony from both G_A and G_B is invalidated. This is a complete system crash for both groups.
- Check for Same Matter Testimony: If G_A and G_B testified about the same matter, they are both disqualified. (This is implied by the contradiction itself).
- Scenario: Separate Matters (Edut 22:1, second clause): If G_A testified about Debt X and G_B testified about Debt Y, and they did not testify jointly on a third matter, then both testimonies are accepted individually. This is like treating them as parallel, independent processing threads.
- Scenario: Single Plaintiff, Multiple Notes (Edut 22:2):
- Input: Plaintiff P claims Debt D1 (witnessed by G_A) and Debt D2 (witnessed by G_B) against Defendant D. D denies both.
- Condition: G_A and G_B are contradictory.
- Analysis: We know at least one group is lying, so at least one debt is invalid.
- Algorithm: D pays the lesser of the two claimed amounts. P takes an oath for the remainder.
- Rationale: The "position of lesser strength" means we can only be sure of the smaller, more likely debt. The oath is a Rabbinic mechanism for partial claims.
- Scenario: Multiple Plaintiffs, Same Defendant (Edut 22:3):
- Input: Plaintiff P1 has Note N1 (witnessed by G_A). Plaintiff P2 has Note N2 (witnessed by G_B). Both sue Defendant D. D denies both.
- Condition: G_A and G_B are contradictory.
- Algorithm: Both P1 and P2 have the option to take an oath and collect their claims.
- Rationale: "Certainly one of them has a viable claim." Since we don't know which group is false, we can't dismiss both. The oath is a Rabbinic tool to allow potential recovery.
- Scenario: Multiple Plaintiffs, Multiple Defendants (Edut 22:4):
- Input: Plaintiff P1 has Note N1 (witnessed by G_A). Plaintiff P2 has Note N2 (witnessed by G_B). P1 sues Defendant D1. P2 sues Defendant D2. Both defendants deny.
- Condition: G_A and G_B are contradictory.
- Algorithm: Both promissory notes are invalidated. Both defendants take sh'vuat heset and are released.
- Rationale: "A person who seeks to expropriate money from a colleague must prove his claim." With contradictory witness groups, the plaintiff cannot definitively prove either claim. The burden of proof fails.
- Exception: Non-Simultaneous Testimony (Edut 22:6): If the testimonies were not simultaneous, each group's testimony is treated independently, as if it came alone. This bypasses the contradiction issue.
Data Structures:
WitnessGroup{ID,Testimonies:List<Testimony>}Testimony{Matter,Witnesses:List<Witness>}ContradictionMap:Map<WitnessGroup.ID, List<WitnessGroup.ID>>
Algorithm B: The "Procedural Integrity" Approach (Acharonim-like)
This approach, influenced by later commentators (like the commentaries on the Ohr Sameach), often focuses on the procedural implications of witness disqualification and the nature of oaths. It's more about maintaining the integrity of the legal process even with imperfect data.
Core Logic:
- Input: Two witness groups (G_A, G_B) identified as contradictory.
- Joint Testimony Nullification (Edut 22:1, first clause): If a witness from G_A testified jointly with a witness from G_B on another matter, the testimony is void. This is a critical integrity check. The interaction between conflicting sources contaminates the data.
- Separate Matters (Edut 22:1, second clause): If G_A and G_B testify about different matters, their testimonies are accepted individually. This is a key distinction: the contradiction only invalidates testimony about the same subject.
- Scenario: Single Plaintiff, Multiple Notes (Edut 22:2):
- Input: Plaintiff P claims Debt D1 (witnessed by G_A) and Debt D2 (witnessed by G_B) against Defendant D. D denies both.
- Condition: G_A and G_B are contradictory.
- Algorithm: D pays the lesser of the two claimed amounts. P takes an oath for the remainder.
- Rationale: The Ohr Sameach commentary (and others) highlights that even though one group might be lying, the lesser amount is the only one for which there's a degree of certainty. The oath is a Rabbinic institution (like a storekeeper's ledger oath) to bridge the gap of doubt. This algorithm places emphasis on the practical outcome and the role of Rabbinic safeguards.
- Scenario: Multiple Plaintiffs, Same Defendant (Edut 22:3):
- Input: Plaintiff P1 has Note N1 (witnessed by G_A). Plaintiff P2 has Note N2 (witnessed by G_B). Both sue Defendant D. D denies both.
- Condition: G_A and G_B are contradictory.
- Algorithm: Both P1 and P2 have the option to take an oath and collect their claims.
- Rationale: The commentary emphasizes that "certainly one of them has a viable claim." This algorithm focuses on the possibility of a valid claim, rather than the absolute certainty. The oath is a Rabbinic tool.
- Scenario: Multiple Plaintiffs, Multiple Defendants (Edut 22:4):
- Input: Plaintiff P1 has Note N1 (witnessed by G_A). Plaintiff P2 has Note N2 (witnessed by G_B). P1 sues Defendant D1. P2 sues Defendant D2. Both defendants deny.
- Condition: G_A and G_B are contradictory.
- Algorithm: Both promissory notes are invalidated. Both defendants take sh'vuat heset and are released.
- Rationale: The principle "A person who seeks to expropriate money from a colleague must prove his claim" is applied strictly here. Since the plaintiff cannot definitively prove their claim due to the contradiction, the burden of proof is not met. This is where Algorithm B aligns with Algorithm A in this specific case.
- Exception: Non-Simultaneous Testimony (Edut 22:6): If testimonies were not simultaneous, each is processed independently. This is a crucial "catch-all" to prevent systemic failure. The system is designed to handle sequential data points.
Key Differences/Nuances in Algorithm B:
- Emphasis on Oaths: Acharonim often delve deeper into the nature and function of the Rabbinic oaths (like sh'vuat heset or the oath for partial claims), seeing them as integral to resolving these "tainted data" situations.
- Focus on Procedural Validity: The logic sometimes hinges on whether the testimony itself was flawed, or if the interaction between testimonies created the flaw. The joint testimony rule (22:1) is a prime example of process contamination.
- "Shards" Analogy: The idea of promissory notes becoming "shards" (22:4) implies a complete breakdown of evidentiary value when the underlying testimony is compromised by contradiction.
Data Structures (Similar to Algorithm A, but with added emphasis on oath types):
WitnessGroup{ID,Testimonies:List<Testimony>}Testimony{Matter,Witnesses:List<Witness>}ContradictionMap:Map<WitnessGroup.ID, List<WitnessGroup.ID>>OathType{Biblical,Rabbinic,ShvuatHeshet}
Edge Cases
Let's stress-test our logic with inputs that might break a naive implementation:
Edge Case 1: The "Cascading Contradiction"
- Input:
- Group A testifies that Shimon owes Reuven 100 zuz.
- Group B testifies that Shimon owes Reuven 200 zuz.
- Group C testifies that Shimon owes Reuven 300 zuz.
- Crucially, Group A contradicts Group B, AND Group B contradicts Group C. (But Group A does NOT contradict Group C directly, though it's implied).
- This is a claim by Reuven against Shimon for 300 zuz, with three sets of witnesses, where each set contradicts the next in sequence.
- Naïve Logic Failure: If we only check pairwise contradictions, we might get confused. For instance, if we process A vs. B, we might say Shimon pays 100 and swears to 200. Then, processing B vs. C, we might say Shimon pays 200 and swears to 100. This leads to inconsistent outputs.
- Expected Output (based on Mishneh Torah Edut 22): The text primarily deals with two groups. However, extending the principle: If Group A contradicts B, and B contradicts C, it implies a systemic issue with the testimony.
- If the question is about a single debt of 300, and we have three sets of witnesses where the first two contradict, and the last two contradict, this points to widespread data corruption.
- Applying the spirit of 22:4 ("both promissory notes are like shards"), if Reuven is claiming 300 zuz, and the witnesses supporting this claim are deeply fractured in contradiction, the claim itself is not proven.
- Therefore, Shimon would likely be required to take a sh'vuat heset and be released from the debt. The inability to establish a clear, uncontradicted claim from any single group renders the entire claim suspect.
Edge Case 2: The "Indirect Contradiction Via Joint Testimony"
- Input:
- Group A (witnesses W_A1, W_A2) testifies that Shimon owes Reuven 100 zuz.
- Group B (witnesses W_B1, W_B2) testifies that Shimon owes Reuven 200 zuz.
- Group A and Group B are known to contradict each other regarding the amount owed to Reuven.
- The Twist: W_A1 and W_B1 also testified together on a completely different matter (e.g., the sale of a field between Shimon and Levi).
- Naïve Logic Failure: If we only look at the contradiction regarding Reuven's debt, we might apply 22:2 (pay the lesser amount) or 22:3/4. However, the rule in 22:1 ("If one witness from one group came together with one witness from the other group and they both delivered testimony concerning another matter, the testimony is of no consequence") kicks in.
- Expected Output (based on Mishneh Torah Edut 22:1): The testimony of both Group A and Group B regarding Reuven's debt is nullified.
- Reasoning: The joint testimony on a separate matter between members of the contradictory groups acts as a "poison pill." It directly flags that at least one witness in each group is unreliable in conjunction with the other group. Therefore, their testimony about Reuven's debt becomes "of no consequence."
- Outcome: Reuven cannot collect either debt. Shimon would likely take a sh'vuat heset and be released from both claims. This is a direct application of the "poison pill" clause.
Refactor
The current text, while comprehensive, can be streamlined for clarity. The core "bug" we're fixing is the potential for confusion when testimonies aren't simultaneous or when joint testimony contaminates otherwise separate claims.
Minimal Change for Clarity: Add a "Contamination Check" Flag
Proposed Refactor:
Introduce a clear, explicit condition at the beginning of the processing logic for contradictory groups.
Revised Rule (adding to Edut 22:1):
"When two groups of witnesses contradict each other regarding the same matter, first check for contamination: If any witness from one group testified jointly with any witness from the other group concerning any other matter, then all testimony from both groups is considered void. Only if there is no such contamination, and the testimonies were not simultaneous, do we proceed to the subsequent rules based on whether the groups testified about the same or different matters."
Impact: This refactoring ensures that the most severe form of data corruption (joint testimony across conflicting groups) is identified and handled before applying less stringent rules. It's like a critical error handler that takes precedence. This directly addresses the scenario in Edge Case 2 and clarifies the hierarchy of rules.
Takeaway
This sugya is a masterclass in robust data validation and error handling within a legal system. Mishneh Torah, Edut Perek 22, teaches us that not all data is created equal. When faced with contradictory inputs (witness groups), the system must:
- Identify the source of the contradiction: Is it genuine disagreement, or is there evidence of systemic compromise?
- Prioritize integrity checks: The "joint testimony on another matter" rule is a critical integrity check, akin to a checksum failure, that invalidates entire datasets.
- Handle concurrency issues: The distinction between simultaneous and non-simultaneous testimony is crucial. Non-simultaneous testimonies are treated as independent data streams, preventing a single point of failure from corrupting unrelated data.
- Employ specific recovery mechanisms: When contradictions are unavoidable but not indicative of total corruption, the system uses graduated responses: paying lesser amounts, allowing oaths for partial claims, or requiring oaths of doubt (sh'vuat heset).
Essentially, the Torah is providing us with an advanced algorithm for dealing with unreliable data sources. It's not just about finding the truth; it's about building a system that can function even when some of its components are demonstrably flawed. This is systems thinking at its finest, applied to the bedrock of Jewish law! Keep debugging, keep analyzing, and keep finding the elegance in the code!
derekhlearning.com