Criminal responsibilities of mentally ill person from ksn reddy and biswas
| Term | Meaning |
|---|---|
| Clearly proved | The unsoundness of mind must have a direct causative relationship to the offence - the offence would not have occurred without the mental abnormality |
| Defect of reason | The intellectual/cognitive faculties must be so disordered that reasoning powers are not functioning normally |
| Abnormality of the mind | An unsoundness of mind defence can be used |
| Feature | Sane Person | Insane Person |
|---|---|---|
| Motive | Usually has a definite motive | Purposeless / motiveless |
| Victims | Attacks enemies/targets; spares loved ones | Attacks anyone - friends, relatives, strangers, enemies without discrimination; multiple murders possible |
| Preparation | Makes elaborate preparations, selects time and place, arranges accomplices, plans escape | Spontaneous, no preparation, no accomplices, no secrecy |
| After the crime | Disposes of body, destroys evidence, prepares alibi | No attempt to conceal body or destroy evidence |
| Section | Subject | Key Provision |
|---|---|---|
| BNS S.22 / IPC Sec. 84 | Insanity | Act of unsound mind not an offence if person cannot know nature/wrongfulness |
| IPC Sec. 85 | Involuntary intoxication | No offence if substance given without knowledge/consent |
| IPC Sec. 86 | Voluntary intoxication | No full defence; knowledge presumed as if sober |
Generate a summary document on Section 84 IPC with case examples
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace does not exist"
mkdir -p /tmp/workspace/section84-ipc && python3 << 'PYEOF' from docx import Document from docx.shared import Pt, Inches, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.oxml.ns import qn from docx.oxml import OxmlElement doc = Document() # ── Page margins ────────────────────────────────────────────────────────────── from docx.shared import Inches section = doc.sections[0] section.page_height = Inches(11) section.page_width = Inches(8.5) section.left_margin = Inches(1.1) section.right_margin = Inches(1.1) section.top_margin = Inches(1.0) section.bottom_margin = Inches(1.0) # ── Default font ────────────────────────────────────────────────────────────── normal_style = doc.styles['Normal'] normal_style.font.name = 'Calibri' normal_style.font.size = Pt(11) # ── Helper: shaded table row ────────────────────────────────────────────────── def shade_cell(cell, hex_color): tc_pr = cell._tc.get_or_add_tcPr() shd = OxmlElement('w:shd') shd.set(qn('w:val'), 'clear') shd.set(qn('w:color'), 'auto') shd.set(qn('w:fill'), hex_color) tc_pr.append(shd) def set_cell_font(cell, bold=False, size=11, color=None): for para in cell.paragraphs: for run in para.runs: run.bold = bold run.font.size = Pt(size) if color: run.font.color.rgb = RGBColor(*bytes.fromhex(color)) # ══════════════════════════════════════════════════════════════════════════════ # HEADER BLOCK # ══════════════════════════════════════════════════════════════════════════════ title = doc.add_heading('Section 84 IPC / BNS Section 22', level=1) title.alignment = WD_ALIGN_PARAGRAPH.CENTER title.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) title.runs[0].font.size = Pt(18) sub = doc.add_paragraph('Criminal Responsibility of the Mentally Ill') sub.alignment = WD_ALIGN_PARAGRAPH.CENTER sub.runs[0].bold = True sub.runs[0].font.size = Pt(13) sub.runs[0].font.color.rgb = RGBColor(0x2E, 0x6D, 0xAF) ref = doc.add_paragraph('Based on KSN Reddy (36th Ed.) & Parikh\'s Textbook of Forensic Medicine (Biswas)') ref.alignment = WD_ALIGN_PARAGRAPH.CENTER ref.runs[0].italic = True ref.runs[0].font.size = Pt(10) ref.runs[0].font.color.rgb = RGBColor(0x55, 0x55, 0x55) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 1. STATUTORY TEXT # ══════════════════════════════════════════════════════════════════════════════ h1 = doc.add_heading('1. Statutory Provision', level=2) h1.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) # Box-style table for the statute text tbl = doc.add_table(rows=1, cols=1) tbl.style = 'Table Grid' cell = tbl.rows[0].cells[0] shade_cell(cell, 'E8F0FE') p = cell.paragraphs[0] p.alignment = WD_ALIGN_PARAGRAPH.LEFT run = p.add_run('Section 84 IPC (now BNS Section 22): ') run.bold = True run.font.size = Pt(11) run2 = p.add_run( '"Nothing is an offence which is done by a person who, at the time of doing it, ' 'by reason of unsoundness of mind, is incapable of knowing the nature of the act, ' 'or that he is doing what is either wrong or contrary to law."' ) run2.italic = True run2.font.size = Pt(11) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 2. KEY CONCEPTS TABLE # ══════════════════════════════════════════════════════════════════════════════ h2 = doc.add_heading('2. Key Legal Concepts', level=2) h2.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) concepts = [ ('Concept', 'Meaning', True), ('Actus Reus', 'The actual forbidden physical act constituting the crime', False), ('Mens Rea', 'Guilty state of mind / criminal intent that motivates the act (mens = mind; rea = criminal)', False), ('Unsoundness of Mind', 'A defect of reason arising from a disease of the mind; must be a known, nameable disease — not mere rage, jealousy, or transient loss of control', False), ('Burden of Proof', 'Rests on the accused (defence) to prove mental illness, not on the prosecution', False), ('Lucid Interval', 'A period of normal mental functioning; acts committed during a lucid interval carry full criminal responsibility', False), ('Clearly Proved', 'Mental abnormality must have a direct causal relationship to the offence; the offence would not have occurred without it', False), ] tbl2 = doc.add_table(rows=len(concepts), cols=2) tbl2.style = 'Table Grid' tbl2.columns[0].width = Inches(1.8) tbl2.columns[1].width = Inches(4.6) for i, (col1, col2, is_header) in enumerate(concepts): row = tbl2.rows[i] row.cells[0].text = col1 row.cells[1].text = col2 if is_header: shade_cell(row.cells[0], '1A376C') shade_cell(row.cells[1], '1A376C') for cell in row.cells: for para in cell.paragraphs: for run in para.runs: run.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) run.font.size = Pt(11) else: shade_cell(row.cells[0], 'D6E4F7') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True run.font.size = Pt(10.5) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 3. REQUIREMENTS FOR INVOKING SECTION 84 # ══════════════════════════════════════════════════════════════════════════════ h3 = doc.add_heading('3. Requirements for Invoking Section 84', level=2) h3.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) reqs = [ ('I', 'Evidence of Mental Disease or Defect', 'A known, diagnosable mental illness must be established — not mere emotional disturbance, rage, jealousy, or transient loss of control.'), ('II', 'Existence at the Time of the Crime', 'The mental disease/defect must have been present at the exact time of commission of the offence — not before or after.'), ('III', 'Incapacity to Know the Act\'s Nature OR its Wrongfulness', 'The disease must have rendered the accused incapable of: (a) knowing the nature and quality of the act, OR (b) knowing that the act was wrong or contrary to law.'), ] tbl3 = doc.add_table(rows=1 + len(reqs), cols=3) tbl3.style = 'Table Grid' headers3 = ['Requirement', 'Element', 'Explanation'] for j, h in enumerate(headers3): cell = tbl3.rows[0].cells[j] cell.text = h shade_cell(cell, '2E6DAF') for para in cell.paragraphs: for run in para.runs: run.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) run.font.size = Pt(11) for i, (num, elem, expl) in enumerate(reqs): row = tbl3.rows[i+1] row.cells[0].text = num row.cells[1].text = elem row.cells[2].text = expl if i % 2 == 0: shade_cell(row.cells[0], 'EAF2FB') shade_cell(row.cells[1], 'EAF2FB') shade_cell(row.cells[2], 'EAF2FB') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True for para in row.cells[1].paragraphs: for run in para.runs: run.bold = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 4. McNAUGHTEN RULES # ══════════════════════════════════════════════════════════════════════════════ h4 = doc.add_heading('4. The McNaughten Rules — Historical Background', level=2) h4.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) mc_text = ( 'Daniel McNaughten (1843) was suffering from paranoid schizophrenia with a delusion that Catholic priests ' 'and the Tory party were persecuting him. He intended to shoot Prime Minister Sir Robert Peel but shot ' 'his Private Secretary Edward Drummond by mistake on 20th January 1843. ' 'Ten physicians found him of unsound mind. He was acquitted on grounds of mental illness and sent to ' 'Bethlem Mental Hospital for life.\n\n' 'The public outcry led Queen Victoria to convene the House of Lords. A panel of 14 judges answered ' '5 hypothetical questions on 19th June 1843 — these answers became the McNaughten Rules, ' 'now enshrined in Indian law as Section 84 IPC / BNS Section 22.' ) p_mc = doc.add_paragraph(mc_text) p_mc.runs[0].font.size = Pt(11) # The Rule verbatim tbl_mc = doc.add_table(rows=1, cols=1) tbl_mc.style = 'Table Grid' cell_mc = tbl_mc.rows[0].cells[0] shade_cell(cell_mc, 'FFF3CD') p2 = cell_mc.paragraphs[0] r1 = p2.add_run('The McNaughten Rule: ') r1.bold = True r2 = p2.add_run( '"An accused person is not legally responsible, if it is clearly proved that at the time of committing ' 'the crime, he was suffering from such a defect of reason from abnormality of mind, that he did not ' 'know the nature and quality of the act he was doing, or that what he was doing was wrong."' ) r2.italic = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 5. CASE EXAMPLES # ══════════════════════════════════════════════════════════════════════════════ h5 = doc.add_heading('5. Illustrative Case Examples', level=2) h5.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) cases = [ { 'no': '1', 'title': 'Self-Defence Delusion', 'facts': 'Under a delusion from unsoundness of mind, the accused believed another man was attempting to kill him. Acting on this belief, he killed that man in what he perceived as self-defence.', 'verdict': 'No Criminal Responsibility', 'reasoning': 'The accused, due to the delusion, could not know that his act was wrong. He genuinely (though delusionally) believed he was defending himself. The law judges him as if the delusional facts were real.', 'color': 'E8F5E9', }, { 'no': '2', 'title': 'Wild Animal Delusion', 'facts': 'Under a delusion, the accused mistook a living person for a wild animal and killed him.', 'verdict': 'No Criminal Responsibility', 'reasoning': 'The accused did not know the physical nature of the act — he did not appreciate that he was killing a human being. Section 84 applies as he was incapable of knowing the nature and quality of the act.', 'color': 'E8F5E9', }, { 'no': '3', 'title': 'Delusional "State Executioner"', 'facts': 'Under a delusion, the accused believed he was the State Executioner and that his victim was a condemned criminal whom he was lawfully executing.', 'verdict': 'Exempt from Punishment', 'reasoning': 'The accused, judging by the delusional facts, believed he was performing a legal duty. He did not know the act was contrary to law. Section 84 defence succeeds.', 'color': 'E8F5E9', }, { 'no': '4', 'title': 'Revenge Killing Under Delusion', 'facts': 'Under a delusion, the accused believed the victim had caused serious injury to his character and fortune. He killed the victim as revenge for this perceived harm.', 'verdict': 'Criminally Responsible', 'reasoning': 'Even accepting the delusional belief as real, the law does not permit killing as revenge for an injury to character or fortune. The accused knew or ought to have known that killing was wrong/contrary to law. Section 84 does NOT apply.', 'color': 'FFEBEE', }, { 'no': '5', 'title': 'Mayor Assassination Attempt (KSN Reddy Case)', 'facts': 'The accused was charged with murdering a mayor. He shot the mayor in broad daylight in the presence of a bodyguard, and continued shooting after the mayor had already fallen dead.', 'verdict': 'Plea of Insanity Supported', 'reasoning': 'The doctor testified: "If the accused merely wanted revenge, he would not have picked a time when the mayor was accompanied by a bodyguard in broad daylight. The fact that he kept shooting after the victim fell dead shows he was actuated by a force beyond his control." These features (lack of planning, no escape attempt, motiveless overkill) supported the insanity plea.', 'color': 'E8F0FE', }, { 'no': '6', 'title': 'McNaughten Case (Historic)', 'facts': 'Daniel McNaughten (1843) shot Edward Drummond (Sir Robert Peel\'s Secretary), mistaking him for the Prime Minister, acting under the delusion of persecution by Catholic priests and Tories.', 'verdict': 'Not Guilty — Unsound Mind', 'reasoning': 'Ten physicians confirmed unsoundness of mind. He was sent to Bethlem Mental Hospital for life. This case directly gave rise to the McNaughten Rules and, eventually, Section 84 IPC.', 'color': 'E8F0FE', }, { 'no': '7', 'title': 'Delirium — Violent Act During Fever', 'facts': 'A patient in acute delirium (due to high fever/toxic state) attacked and injured a hospital staff member during a confused episode with hallucinations.', 'verdict': 'Not Guilty', 'reasoning': 'Delirium is characterised by clouding of consciousness, disorientation, and abnormal experiences. The patient was incapable of knowing the nature of his act. Section 84 IPC applies. (Parikh/Biswas)', 'color': 'E8F5E9', }, ] for case in cases: # Case header case_hdr = doc.add_paragraph() r_no = case_hdr.add_run(f" Case {case['no']}: {case['title']} ") r_no.bold = True r_no.font.size = Pt(11.5) r_no.font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) tbl_c = doc.add_table(rows=3, cols=2) tbl_c.style = 'Table Grid' # col widths for row in tbl_c.rows: row.cells[0].width = Inches(1.4) row.cells[1].width = Inches(5.0) labels = ['Facts', 'Outcome', 'Reasoning'] values = [case['facts'], case['verdict'], case['reasoning']] for i, (lbl, val) in enumerate(zip(labels, values)): row = tbl_c.rows[i] row.cells[0].text = lbl row.cells[1].text = val shade_cell(row.cells[0], 'CFE2FF') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True run.font.size = Pt(10.5) shade_cell(row.cells[1], case['color']) if lbl == 'Outcome': for para in row.cells[1].paragraphs: for run in para.runs: run.bold = True run.font.size = Pt(10.5) if 'No Criminal' in val or 'Not Guilty' in val or 'Exempt' in val or 'Supported' in val: run.font.color.rgb = RGBColor(0x1B, 0x5E, 0x20) else: run.font.color.rgb = RGBColor(0xB7, 0x1C, 0x1C) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 6. CHARACTERISTICS TABLE # ══════════════════════════════════════════════════════════════════════════════ h6 = doc.add_heading('6. Distinguishing Features: Sane vs Insane Offender', level=2) h6.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) features = [ ('Feature', 'Sane Person', 'Insane Person', True), ('Motive', 'Definite motive (revenge, gain, passion)', 'Purposeless / motiveless crime', False), ('Victims', 'Definite target — usually enemies; spares loved ones', 'Any person — friend, relative, stranger, enemy; may commit multiple murders', False), ('Preparation', 'Elaborate — selects time, place, accomplices; plans escape', 'Spontaneous, no preparation whatsoever, no accomplices', False), ('Secrecy', 'Conceals body, destroys evidence, prepares alibi', 'No attempt to conceal or destroy evidence', False), ('Nature of Act', 'Usually purposeful and proportionate', 'Unprovoked, often disproportionate, bizarre', False), ] tbl6 = doc.add_table(rows=len(features), cols=3) tbl6.style = 'Table Grid' for i, row_data in enumerate(features): row = tbl6.rows[i] feat, sane, insane, is_hdr = row_data row.cells[0].text = feat row.cells[1].text = sane row.cells[2].text = insane if is_hdr: for j in range(3): shade_cell(row.cells[j], '1A376C') for para in row.cells[j].paragraphs: for run in para.runs: run.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) else: shade_cell(row.cells[0], 'D6E4F7') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 7. OTHER TESTS TABLE # ══════════════════════════════════════════════════════════════════════════════ h7 = doc.add_heading('7. Other Tests for Criminal Responsibility', level=2) h7.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) tests = [ ('Test', 'Year', 'Rule', True), ('McNaughten (Right-or-Wrong) Test', '1843', '"Did not know the nature/quality of the act OR that it was wrong."', False), ('Irresistible Impulse Rule', '1923', 'Accused knew the act was wrong but could not control the impulse (emotional/volitional).', False), ('Durham Rule', '1954', '"Unlawful act was the product of mental disease or mental defect."', False), ('Curren\'s Rule', '1961', '"Did not have the capacity to regulate conduct in conformity with the law."', False), ('ALI / Model Penal Code Test', '1970', '"Lacked substantial capacity to appreciate criminality OR to conform conduct to law."', False), ('Norwegian System', 'N/A', 'No punishment if suffering from mental illness at time of offence; medical and legal insanity are equated.', False), ] tbl7 = doc.add_table(rows=len(tests), cols=3) tbl7.style = 'Table Grid' for i, row_data in enumerate(tests): row = tbl7.rows[i] t, yr, rule, is_hdr = row_data row.cells[0].text = t row.cells[1].text = yr row.cells[2].text = rule if is_hdr: for j in range(3): shade_cell(row.cells[j], '2E6DAF') for para in row.cells[j].paragraphs: for run in para.runs: run.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) else: if i % 2 == 0: shade_cell(row.cells[0], 'EAF2FB') shade_cell(row.cells[1], 'EAF2FB') shade_cell(row.cells[2], 'EAF2FB') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 8. RELATED IPC SECTIONS # ══════════════════════════════════════════════════════════════════════════════ h8 = doc.add_heading('8. Related Sections of IPC / BNS', level=2) h8.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) related = [ ('Section', 'Subject', 'Key Provision', True), ('IPC 84 / BNS 22', 'Insanity (Unsound Mind)', 'Nothing is an offence if person cannot know nature/wrongfulness due to unsoundness of mind.', False), ('IPC 85', 'Involuntary Intoxication', 'No offence if intoxicating substance was administered without knowledge or against will.', False), ('IPC 86', 'Voluntary Intoxication', 'Voluntary intoxication is NO full defence; knowledge is presumed as if the person were sober.', False), ] tbl8 = doc.add_table(rows=len(related), cols=3) tbl8.style = 'Table Grid' for i, row_data in enumerate(related): row = tbl8.rows[i] sec, subj, prov, is_hdr = row_data row.cells[0].text = sec row.cells[1].text = subj row.cells[2].text = prov if is_hdr: for j in range(3): shade_cell(row.cells[j], '1A376C') for para in row.cells[j].paragraphs: for run in para.runs: run.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) else: shade_cell(row.cells[0], 'D6E4F7') for para in row.cells[0].paragraphs: for run in para.runs: run.bold = True doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 9. CRITICISM # ══════════════════════════════════════════════════════════════════════════════ h9 = doc.add_heading('9. Criticism of McNaughten Rules', level=2) h9.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) criticisms = [ 'The criterion is purely intellectual — emotional and volitional factors are completely ignored.', 'No consideration for delusional beliefs, hallucinations, or inability to control impulses.', 'Medicine now recognises that all mental disorders affect emotional control; intellectual defect implies emotional defect.', 'Does not accommodate: disordered ideation of schizophrenia, post-hypnotic / epileptic automatisms, or overwhelming affective disorders (e.g., depressed person who murders loved ones while knowing it is "wrong" but being compelled).', 'Condemned by many modern criminologists and psychiatrists as outdated and requiring complete revision.', 'Several Western states have already formulated improvements (Durham Rule, ALI Test, Partial Responsibility Doctrine).', ] for crit in criticisms: p_c = doc.add_paragraph(style='List Bullet') p_c.add_run(crit).font.size = Pt(11) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # 10. PARTIAL RESPONSIBILITY DOCTRINE # ══════════════════════════════════════════════════════════════════════════════ h10 = doc.add_heading('10. Doctrine of Partial (Diminished) Responsibility', level=2) h10.runs[0].font.color.rgb = RGBColor(0x1A, 0x37, 0x6C) doc.add_paragraph( 'Recognised in some Western jurisdictions. If a person who committed a crime is suffering from ' 'some aberration or weakness of mind — though not completely insane — he is not fully but only ' 'partially responsible. A charge of murder may be reduced to culpable homicide not amounting ' 'to murder (or manslaughter).\n\n' 'Applicable conditions: Depression, Obsessional states, Paranoid states, Certain organic states.' ).runs[0].font.size = Pt(11) doc.add_paragraph() # ══════════════════════════════════════════════════════════════════════════════ # FOOTER NOTE # ══════════════════════════════════════════════════════════════════════════════ footer_p = doc.add_paragraph() footer_p.alignment = WD_ALIGN_PARAGRAPH.CENTER footer_run = footer_p.add_run( 'References: KSN Reddy — The Essentials of Forensic Medicine and Toxicology, 36th Ed. (2026), pp. 468–470 | ' 'Parikh\'s Textbook of Medical Jurisprudence, Forensic Medicine and Toxicology (Biswas), pp. 499–505' ) footer_run.italic = True footer_run.font.size = Pt(9) footer_run.font.color.rgb = RGBColor(0x55, 0x55, 0x55) # ── Save ────────────────────────────────────────────────────────────────────── out_path = '/tmp/workspace/section84-ipc/Section84_IPC_Criminal_Responsibility.docx' doc.save(out_path) print(f"Saved: {out_path}") PYEOF
python3 -c " from docx import Document doc = Document('/tmp/workspace/section84-ipc/Section84_IPC_Criminal_Responsibility.docx') for i, p in enumerate(doc.paragraphs[:20]): if p.text.strip(): print(f'[{p.style.name}] {p.text[:80]}') print('---') for t in doc.tables[:2]: for row in t.rows[:2]: print([c.text[:40] for c in row.cells]) "
Section84 IPC Criminal Responsibility
Word Document · DOCX