-
Notifications
You must be signed in to change notification settings - Fork 0
/
alchi-rplus-prover.lisp
62 lines (45 loc) · 1.44 KB
/
alchi-rplus-prover.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
;;; -*- Mode: LISP; Syntax: Common-Lisp; Package: PROVER -*-
(in-package :PROVER)
;;;
;;;
;;;
(define-prover ((abox-sat alchi-rplus abox))
(:main
(perform (deterministic-expansion)
(:body
(if clashes
(handle-clashes)
(perform (or-expansion)
(:positive
(if clashes
(handle-clashes)
(restart-main)))
(:negative
(perform (block-nodes)
(:body
(perform (some-expansion)
(:positive
(if clashes
(handle-clashes)
(restart-main)))
(:negative
(success))))))))))))
#|
(progn
(delete-all-tboxes)
(transitive rr)
(unless (sat? (and (some rr (some rr c)) (some s (all (inv s) (all rr (some rr d))))) :debug-p t :recompute-p t)
(error "Prover error!"))
(delete-all-tboxes)
(transitive p)
(def c (and (all (inv r) (all (inv p) (all (inv s) (Not a))))))
(let ((*print-pretty* t))
(when (sat? (and a (some s (and (some r top)
(some p top)
(all r c)
(all p (some r top))
(all p (all r c))
(all p (some p top)))))
:debug-p t :recompute-p t)
(break "Prover error!"))))
|#