YahBible / code /taviel_contrast.py
OhBeOneKeyNoBe's picture
Jev front door: install at serve(), two witnesses to decline, code-owned verse lookup
d40befd verified
Raw History Blame Contribute Delete
8.65 kB
r"""TAV'IEL-CONTRAST -- a thing is understood by what it is NOT.
Elan'iel: "one fact of answering a question thoroughly and true understanding is
being able to point out clear examples of its opposite, and what it is not. God is
a spirit, man is flesh and bone. God is not man, because man is not just a spirit."
Contrast draws the EDGE of a definition. "God is a Spirit" (John 4:24) is a claim
a hearer can still fill with his own imagining; "a spirit hath not flesh and
bones, as ye see me have" (Luke 24:39) closes the door on the wrong picture, and
does it in Christ's own words after the resurrection.
DISCIPLINE. Every contrast is verse-backed on BOTH sides -- the affirmation and
the denial -- and every verse is checked word-for-word against watchman.db by
`taviel_verify` before it may be emitted. A contrast with no record is NOT
invented: the system simply says less. An opposite asserted without scripture is
exactly the failure this module exists to prevent.
Shape of a record:
subject the thing being defined
is what it IS, in the product's own voice
is_not what it is NOT -- the wrong picture, named
because the distinguishing property that makes the denial true
verses_is [(ref, quote)] for the affirmation
verses_not [(ref, quote)] for the denial
"""
from __future__ import annotations
CONTRASTS = {
"god_is_spirit": {
"subject": "what God is",
"is": "God is Spirit -- not a thing among things.",
"is_not": "He is not a man, and not flesh and bone.",
"because": ("a spirit has no flesh and bones; a man is not only spirit, "
"so what is true of a man is not therefore true of God"),
"verses_is": [
("John 4:24", "God is a Spirit: and they that worship him must "
"worship him in spirit and in truth."),
],
"verses_not": [
("Luke 24:39", "handle me, and see; for a spirit hath not flesh and "
"bones, as ye see me have."),
("Numbers 23:19", "God is not a man, that he should lie; neither the "
"son of man, that he should repent"),
],
},
"god_is_light": {
"subject": "God as light",
"is": "God is light.",
"is_not": "There is no darkness in Him at all -- not a mixture, not a shadow.",
"because": "light and darkness are not blended in Him; the denial is absolute",
"verses_is": [
("1 John 1:5", "God is light, and in him is no darkness at all."),
],
"verses_not": [
("1 John 1:5", "in him is no darkness at all"),
],
},
"god_is_love": {
"subject": "God as love",
"is": "God is love.",
"is_not": "He is not the author of confusion.",
"because": ("love and confusion do not proceed from the same source; "
"what sows disorder is not from Him"),
"verses_is": [
("1 John 4:8", "He that loveth not knoweth not God; for God is love."),
],
"verses_not": [
("1 Corinthians 14:33", "For God is not the author of confusion, but "
"of peace, as in all churches of the saints."),
],
},
"kingdom_within": {
"subject": "where the kingdom is",
"is": "The kingdom of God is within you.",
"is_not": "It does not come by observation, and is not 'lo here' or 'lo there'.",
"because": ("what is within is not found by looking outward; a place "
"cannot be pointed to when the thing is not in a place"),
"verses_is": [
("Luke 17:21", "behold, the kingdom of God is within you."),
],
"verses_not": [
("Luke 17:21", "Neither shall they say, Lo here! or, lo there!"),
],
},
"flesh_and_spirit": {
"subject": "flesh and spirit",
"is": "That which is born of the Spirit is spirit.",
"is_not": "That which is born of the flesh is flesh -- the two are not one kind.",
"because": "each begets after its own kind; birth does not cross the two",
"verses_is": [
("John 3:6", "that which is born of the Spirit is spirit."),
],
"verses_not": [
("John 3:6", "That which is born of the flesh is flesh"),
],
},
"faith_and_works": {
"subject": "faith",
"is": "Faith is shown alive by works.",
"is_not": "Faith without works is not living faith -- it is dead.",
"because": "as a body without the spirit is dead, so is faith without works",
"verses_is": [
("James 2:26", "For as the body without the spirit is dead, so faith "
"without works is dead also."),
],
"verses_not": [
("James 2:26", "faith without works is dead also."),
],
},
"gods_ways": {
"subject": "God's thoughts and ways",
"is": "His thoughts and ways are His own.",
"is_not": "They are not ours -- He is not a larger version of a man's reasoning.",
"because": "the difference is in kind, not only in degree",
"verses_is": [
("Psalms 103:14", "For he knoweth our frame; he remembereth that we "
"are dust."),
],
"verses_not": [
("Isaiah 55:8", "For my thoughts are not your thoughts, neither are "
"your ways my ways, saith the LORD."),
],
},
"man_looks_outward": {
"subject": "how God sees a man",
"is": "The LORD looketh on the heart.",
"is_not": "He does not see as man sees -- not the countenance, not the stature.",
"because": "outward appearance is what man can reach; the heart is what God reads",
"verses_is": [
("1 Samuel 16:7", "the LORD looketh on the heart."),
],
"verses_not": [
("1 Samuel 16:7", "Look not on his countenance, or on the height of "
"his stature"),
],
},
}
# question-side triggers -> record key. Deliberately narrow: contrast fires only
# where a RECORD exists, never by inference.
_TRIGGERS = [
(("what is god", "what god is", "is god a man", "god a spirit",
"is god physical", "does god have a body"), "god_is_spirit"),
(("god is light", "darkness in god", "is god dark"), "god_is_light"),
(("god is love", "is god loving", "author of confusion"), "god_is_love"),
(("where is the kingdom", "kingdom of god is", "kingdom of heaven is within",
"when will the kingdom"), "kingdom_within"),
(("born again", "born of the flesh", "flesh and spirit"), "flesh_and_spirit"),
(("faith without works", "is faith enough", "faith alone"), "faith_and_works"),
(("god's ways", "gods ways", "why does god think", "god's thoughts"), "gods_ways"),
(("does god judge appearance", "looketh on the heart", "outward appearance"),
"man_looks_outward"),
]
def _verified(pairs):
"""Keep only (ref, quote) pairs the mechanical checker accepts."""
try:
import taviel_verify as TV
except Exception:
return []
out = []
for ref, quote in pairs:
text = TV.verse_of(ref)
if text and TV._quote_faithful(quote, text):
out.append((ref, quote))
return out
def contrast_for(key_or_question):
"""The verified contrast record, or None. Never invents an opposite."""
rec = CONTRASTS.get(key_or_question)
if rec is None:
q = " ".join(str(key_or_question).lower().split())
for needles, key in _TRIGGERS:
if any(n in q for n in needles):
rec = CONTRASTS[key]
break
if rec is None:
return None
vis, vnot = _verified(rec["verses_is"]), _verified(rec["verses_not"])
if not vis or not vnot:
return None # a half-verified contrast is not a contrast
out = dict(rec)
out["verses_is"], out["verses_not"] = vis, vnot
return out
def clause(key_or_question, with_refs=True):
"""One short paragraph: what it is NOT, and why. Progressive disclosure --
the affirmation has already been given by the caller, so this adds only the
edge, never a second full teaching."""
rec = contrast_for(key_or_question)
if not rec:
return ""
ref, quote = rec["verses_not"][0]
tail = f' -- "{quote}" ({ref})' if with_refs else ""
return f"And what He is not: {rec['is_not']} {rec['because'].capitalize()}{tail}"