Skip to content

Commit d2620a0

Browse files
committed
small refactor
1 parent 29ff4e6 commit d2620a0

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

src/lib/server/consistency.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,28 +69,38 @@ function contradiction_worker(
6969

7070
if (!contradictory_property) return null
7171

72-
// build minimal contradiction proof
72+
return build_shortest_proof(
73+
satisfied_properties,
74+
deduction_dict,
75+
contradictory_property,
76+
)
77+
}
7378

74-
const contradiction: string[] = []
79+
function build_shortest_proof(
80+
satisfied_properties: Set<string>,
81+
deduction_dict: Record<string, NormalizedCategoryImplication>,
82+
target_property: string,
83+
) {
84+
const proof: string[] = []
7585

7686
const visited_properties = new Set<string>()
7787

78-
function build_proof(property: string) {
88+
function derive(property: string) {
7989
if (visited_properties.has(property)) return
8090
if (satisfied_properties.has(property)) return
8191
visited_properties.add(property)
8292

8393
const implication = deduction_dict[property]
8494
if (!implication) throw new Error(`Missing deduction for property: ${property}`)
8595

86-
for (const p of implication.assumptions) build_proof(p)
96+
for (const p of implication.assumptions) derive(p)
8797

88-
contradiction.push(stringify_implication(implication))
98+
proof.push(stringify_implication(implication))
8999
}
90100

91-
build_proof(contradictory_property)
101+
derive(target_property)
92102

93-
return contradiction
103+
return proof
94104
}
95105

96106
function get_normalized_category_implications() {

0 commit comments

Comments
 (0)