The target formula to prove
Functions that add steps to the proof
The completed HilbertProof instance
const createPremises = (builder: HilbertProofBuilder) => {
builder.addPremise(p, "First premise")
.addPremise(q, "Second premise");
};
const createAxioms = (builder: HilbertProofBuilder) => {
builder.addAxiom(axiom1, "Axiom II");
};
const proof = composeHilbertProof(goal, createPremises, createAxioms);
Creates a proof from a functional composition of step generators. Useful for building proofs from higher-order functions.