# Vocabulary for proofs
#
#
@prefix : .
@prefix rea: .
@prefix n3: .
@prefix soc: .
@prefix owl: .
@prefix s: .
@prefix rdf: .
@keywords a, is, of.
Step a s:Class;
s:label "proof step";
s:comment """A step in a proof.
See :gives for the arc to the formula actually proved at this step.
""".
gives a rdf:Property;
s:label "gives";
s:comment """The proof step gives the formula as a result.
For some steps, like extraction of a statement from a formula,
it is essential to give the result formula in a proof to define
what step has been taken. For other steps, such as GMP inference,
the specification of the rule and bindings defines the result,
and so the proof can still be checked if the reason:gives ars""";
s:domain Step;
s:range n3:Formula.
Proof s:subClassOf :Step;
s:label "proof";
s:comment
"""A Proof step is the last step in the proof,
a step which :gives that which was to be proved.
Typically a document will assert just one :Proof,
which a checker can then check and turn into
the Formula proved - Q.E.D. .
""".
CommandLine s:subClassOf Step.
args a rdf:Property, owl:FunctionalProperty;
s:label """A human-readable representation of the arguments given
on the command line""";
s:domain Commandline.
Parsing s:subClassOf :Step;
s:label "parsing";
s:comment """The formula given was derived from parsing a
resource.""".
:source a rdf:Property, owl:FunctionalProperty;
s:label "source";
s:domain :Parsing;
s:range soc:Work;
s:comment
"""The source document which was parsed.
""".
Extraction s:subClassOf :Step;
s:label "Conjunction elimination";
s:comment """The step of taking one statement out of a formula.
The step is identified by the :gives formula (the statement)
and the :because step's :gives formula (the formula extracted
from).
""".
because a rdf:Property;
s:label "from";
s:domain :Extraction;
s:range :Step;
s:comment """gives the step whose data was input to this step.""".
Conjunction s:subClassOf :Step;
s:label """The step of conjunction introduction:
taking a bunch of compent statements
and building a formula from them.""".
component a rdf:Property;
s:label "component";
s:domain :Conjunction;
s:range :Step;
s:comment "A step whose data was used in building this conjunction".
#
# GMP Inference
#
Inference s:subClassOf Step;
s:label "GMP Inference".
rule a rdf:Property, owl:FunctionalProperty;
s:label "rule";
s:comment """The inference step was performed using a rule (implication)
given.""";
s:domain Inference;
s:range Step.
evidence a rdf:Property, owl:FunctionalProperty; # only one list
s:label "antecedents";
s:comment """The :evidence for a GMP inference step is a list of
formulas, each proved by other means, which combined entail the
result of making the given substitution in the antecedent of the rule.""";
s:domain Inference;
s:range rdf:List. # List of Steps
Binding a s:Class;
s:label "binding";
s:comment """A binding is given eg in a proof or query result.
The binding specifies which variable was bound (:variable),
and what term it was bound to.
""".
variable a rdf:Property, owl:FunctionalProperty;
s:label "variable";
s:domain :Binding;
s:range n3:String;
s:comment """
The given string is that used as the identifier of the variable
which is bound by this binding. The variable name has to be given as
a string, rather than the variable being put here, or the variable
would be treated as a variable.""".
boundTo a rdf:Property, owl:FunctionalProperty;
s:label "bound to";
s:domain :Binding;
s:range n3:Term;
s:comment """
This binding binds its variable to this term.
""".