File size: 8,651 Bytes
d40befd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
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}"