Sequential Operations in LogicWeb
Sequential tasks cannot be effectively handled in logic programming based on classical logic or linear logic. This limitation can be addressed by using a fragment of Japaridze’sSequential tasks cannot be effectively handled in logic programming based on classical logic or linear logic. This limitation can be addressed by using a fragment of Japaridze’s computability logic. We propose \seqweb, an extension to LogicWeb with sequential goal formulas. SeqWeb extends the LogicWeb by allowing goals of the form $G\seqand G$ and $G\seqor G$ where $G$ is a goal. These goals allow us to specify both sequential-conjunctive and sequential-disjunctive tasks. computability logic. We propose \seqweb, an extension to LogicWeb with sequential goal formulas. SeqWeb extends the LogicWeb by allowing goals of the form $G\seqand G$ and $G\seqor G$ where $G$ is a goal. These goals allow us to specify both sequential-conjunctive and sequential-disjunctive tasks.
💡 Research Summary
The paper addresses a fundamental limitation of traditional logic programming and its web‑oriented extension LogicWeb: the inability to naturally express sequential tasks. Classical logic and even linear logic treat conjunction and disjunction as parallel or unordered operations, which makes it difficult to model workflows where one step must be completed before the next begins, or where alternative steps are tried in order. To overcome this, the authors draw on Japaridze’s Computability Logic (CL), a semantic framework that interprets logical formulas as interactive computational tasks.
They introduce SeqWeb, an extension of LogicWeb that adds two new goal‑level operators: sequential conjunction ( ∧ s ) and sequential disjunction ( ∨ s ). A goal of the form G₁ ∧ s G₂ requires that G₁ be fully executed before G₂ starts, and both must succeed for the whole goal to succeed. A goal of the form G₁ ∨ s G₂ executes G₁ first; if it fails, G₂ is tried. Success of either sub‑goal suffices. These operators are added to the syntax of first‑order hereditary Harrop formulas (fohh), yielding the following grammar for goals (G) and clauses (D):
G ::= A | G ∧ G | G ∨ G | D ⊃ G | ∀x G | ∃x G | G ∧s G | G ∨s G
D ::= A | G ⊃ A | ∀x D | D ∧ D
The operational semantics is defined by nine uniform‑provability rules. Rules (1)–(7) are the standard ones for atoms, implications, quantifiers, and parallel conjunction/disjunction. Rules (8) and (9) are the new sequential rules: they prescribe that the interpreter first solves the left sub‑goal, then the right sub‑goal (for ∧ s), or that it solves the left sub‑goal and, only if it fails, proceeds to the right sub‑goal (for ∨ s). Because the next rule to apply is determined solely by the top‑level connective of the goal, execution is deterministic and can be implemented by extending existing Prolog‑style engines with minimal changes.
SeqWeb also introduces a module construct mod(URL) that binds a URL to a set of D‑formulas (a program) or a single G‑formula (a query). This allows distributed logic programs to be composed across the web: one page can import the clauses of another by writing URL₁ ⊃ URL₂. The authors illustrate the approach with several examples.
- Arithmetic module – defines basic arithmetic predicates (cube, prime, etc.) using ordinary Prolog clauses.
- Sequential query – reads a number, echoes it, computes its Fibonacci value, and prints the result, expressed as
read(N) ∧s write(N) ∧s fib(N,O) ∧s write('fib:') ∧s write(O). - Twin‑prime detection – combines a sequential conjunction of Fibonacci computation with a sequential disjunction that, alternatively, checks whether the input and its successor are both prime, demonstrating the use of both ∧ s and ∨ s in the same goal.
- Medical monitoring – models a blood‑pressure measurement workflow where a nurse reads a value, the system checks that it is below a threshold, and the process is repeated twice, using nested sequential conjunctions and disjunctions to capture “measure, report, re‑measure if needed”.
These examples show that SeqWeb can express interactive, step‑by‑step user‑system dialogues, conditional retries, and multi‑solution searches—all within a declarative logical framework.
In the conclusion, the authors note that Japaridze also defined additive sequential operators △ and ▽, which are more expressive because they succeed if any of the component tasks succeeds, without enforcing a strict order. The current ∧ s and ∨ s are multiplicative versions; extending SeqWeb with △ and ▽ is identified as future work. They also suggest developing a formal proof theory for the extended language and optimizing execution strategies.
Overall, the paper makes a solid contribution by bridging the gap between declarative logic programming and procedural workflow modeling. By embedding sequential operators derived from computability logic into LogicWeb, SeqWeb enables web‑scale logic programs to handle real‑world interactive tasks that require ordered execution, thereby expanding the applicability of logic‑based web services to domains such as user interfaces, automated reasoning pipelines, and distributed interactive systems.
Comments & Academic Discussion
Loading comments...
Leave a Comment