import sys
sys.path.insert(0,'/home/mettaclaw')

# NAL Drug Repurposing Demo - Auditable Multi-Hop Inference
# Shows confidence decay across hops = flags where evidence is thin

def nal_deduction(f1, c1, f2, c2):
    f = f1 * f2
    c = f1 * f2 * c1 * c2
    return round(f, 4), round(c, 4)

def chain(links):
    f, c = links[0]['f'], links[0]['c']
    print(f'  HOP 0: {links[0]["name"]} (f={f}, c={c})')
    for i, link in enumerate(links[1:], 1):
        f, c = nal_deduction(f, c, link['f'], link['c'])
        print(f'  HOP {i}: {link["name"]} => cumulative (f={f}, c={c})')
    return f, c

print('=== METFORMIN REPURPOSING: Diabetes Drug -> Anticancer ===')
metformin_chain = [
    {'name': 'metformin-->inhibits_mTOR', 'f': 0.85, 'c': 0.9},
    {'name': 'mTOR_inhibition-->anticancer_pathway', 'f': 0.75, 'c': 0.85},
]
f, c = chain(metformin_chain)
print(f'  CONCLUSION: metformin-->anticancer (f={f}, c={c})')
print(f'  WEAKEST LINK: mTOR->anticancer (c=0.85) -- prioritize validation here')
print()

print('=== ASPIRIN: Anti-inflammatory -> Colorectal Cancer Prevention ===')
aspirin_chain = [
    {'name': 'aspirin-->COX2_inhibition', 'f': 0.95, 'c': 0.95},
    {'name': 'COX2_inhibition-->reduced_prostaglandin', 'f': 0.9, 'c': 0.9},
    {'name': 'reduced_prostaglandin-->colorectal_protection', 'f': 0.6, 'c': 0.7},
]
f, c = chain(aspirin_chain)
print(f'  CONCLUSION: aspirin-->colorectal_protection (f={f}, c={c})')
print(f'  WEAKEST LINK: prostaglandin->colorectal (c=0.7) -- prioritize here')
print()
print('Black-box KG embeddings give a score. NAL gives a PROVENANCE CHAIN.')

print('=== RAPAMYCIN: mTOR Inhibitor -> Lifespan Extension ===')
rapamycin_chain = [
    {'name': 'rapamycin-->mTOR_inhibitor', 'f': 0.95, 'c': 0.95},
    {'name': 'mTOR_inhibition-->lifespan_extension', 'f': 0.7, 'c': 0.75},
]
f, c = chain(rapamycin_chain)
print(f'  CONCLUSION: rapamycin-->lifespan_extension (f={f}, c={c})')
print(f'  WEAKEST LINK: mTOR->lifespan (c=0.75) -- animal evidence strong, human trials nascent')
print()

print('=== LITHIUM: GSK3 Inhibitor -> Neuroprotective ===')
lithium_chain = [
    {'name': 'lithium-->GSK3_inhibitor', 'f': 0.9, 'c': 0.9},
    {'name': 'GSK3_inhibition-->neuroprotective', 'f': 0.75, 'c': 0.8},
]
f, c = chain(lithium_chain)
print(f'  CONCLUSION: lithium-->neuroprotective (f={f}, c={c})')
print(f'  WEAKEST LINK: GSK3->neuroprotective (c=0.8) -- epidemiological support from drinking water studies')
print()

print('=== THALIDOMIDE: Anti-inflammatory -> Anti-angiogenic ===')
thalidomide_chain = [
    {'name': 'thalidomide-->anti_inflammatory', 'f': 0.9, 'c': 0.9},
    {'name': 'anti_inflammatory-->anti_angiogenic', 'f': 0.65, 'c': 0.7},
]
f, c = chain(thalidomide_chain)
print(f'  CONCLUSION: thalidomide-->anti_angiogenic (f={f}, c={c})')
print(f'  WEAKEST LINK: anti-inflam->anti-angiogenic (c=0.7) -- mechanism partially distinct, needs direct evidence')

