Verisyntax — brugermanual (prototype 0.1)
Fakta, regler og queries
parent(person_a, person_b)
parent(person_b, person_c)
grandparent(X, Z)
if parent(X, Y)
and parent(Y, Z)
ask grandparent(person_a, Who)
Fakta må ikke indeholde ubundne variable. Variable begynder med stort bogstav eller _. Head-variable i en regel skal bindes af en positiv betingelse. Predicate-arity skal være ens i hele filen.
Kør alle deklarerede queries med:
<compiler>/verisyntax ask model.vsx
Resultatet er et versionsmærket verisyntax.logic-result JSON-artefakt med bindings, metode, iterationer og en flad forklaringsgraf. Hvert afledt resultat henviser til de premise-ID'er, som reglen brugte. Runtime bruger open-world-semantik:
true: den positive assertion kan afledes;false: en eksplicit negativ assertion kan afledes;unknown: hverken positiv eller negativ assertion kan afledes;inconsistent: begge kan afledes og konflikten skjules ikke.
not blocked(person_a) er eksplicit negativ evidens. Fraværet af blocked(person_a) er ikke nok til at konkludere not blocked(person_a). Rekursive regler køres til et afgrænset fixed point; iterationer, assertions og rule matches har sikkerhedsgrænser.
