Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Alethe
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
veriT
Alethe
Commits
bcb74d00
Commit
bcb74d00
authored
1 month ago
by
bernborgess
Browse files
Options
Downloads
Patches
Plain Diff
Fixing back the AletheVerb indentation
parent
2e08fe9d
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#55030
passed
1 month ago
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
spec/doc.tex
+44
-43
44 additions, 43 deletions
spec/doc.tex
spec/rule_list.tex
+31
-31
31 additions, 31 deletions
spec/rule_list.tex
with
75 additions
and
74 deletions
spec/doc.tex
+
44
−
43
View file @
bcb74d00
...
@@ -670,25 +670,25 @@ An Alethe proof is a list of commands.
...
@@ -670,25 +670,25 @@ An Alethe proof is a list of commands.
\begin{figure}
[t]
\begin{figure}
[t]
\begin{AletheVerb}
\begin{AletheVerb}
(assume h1 (not (p a)))
(assume h1 (not (p a)))
(assume h2 (forall ((z1 U)) (forall ((z2 U)) (p z2))))
(assume h2 (forall ((z1 U)) (forall ((z2 U)) (p z2))))
...
...
(anchor :step t9 :args ((vr4 U) (:= (z2 U) vr4)))
(anchor :step t9 :args ((vr4 U) (:= (z2 U) vr4)))
(step t9.t1 (cl (= z2 vr4)) :rule refl)
(step t9.t1 (cl (= z2 vr4)) :rule refl)
(step t9.t2 (cl (= (p z2) (p vr4)))
(step t9.t2 (cl (= (p z2) (p vr4)))
:rule cong :premises (t9.t1))
:rule cong :premises (t9.t1))
(step t9 (cl (= (forall ((z2 U)) (p z2))
(step t9 (cl (= (forall ((z2 U)) (p z2))
(forall ((vr4 U)) (p vr4))))
(forall ((vr4 U)) (p vr4))))
:rule bind)
:rule bind)
...
...
(step t14 (cl (forall ((vr5 U)) (p vr5)))
(step t14 (cl (forall ((vr5 U)) (p vr5)))
:rule th
_
resolution :premises (t11 t12 t13))
:rule th
_
resolution :premises (t11 t12 t13))
(step t15 (cl (or (not (forall ((vr5 U)) (p vr5)))
(step t15 (cl (or (not (forall ((vr5 U)) (p vr5)))
(p a)))
(p a)))
:rule forall
_
inst :args ((:= vr5 a)))
:rule forall
_
inst :args ((:= vr5 a)))
(step t16 (cl (not (forall ((vr5 U)) (p vr5))) (p a))
(step t16 (cl (not (forall ((vr5 U)) (p vr5))) (p a))
:rule or :premises (t15))
:rule or :premises (t15))
(step t17 (cl) :rule resolution :premises (t16 h1 t14))
(step t17 (cl) :rule resolution :premises (t16 h1 t14))
\end{AletheVerb}
\end{AletheVerb}
\caption
{
Example proof output. Assumptions are
\caption
{
Example proof output. Assumptions are
introduced; a subproof renames bound variables; the proof finishes with
introduced; a subproof renames bound variables; the proof finishes with
...
@@ -921,17 +921,18 @@ remove the steps of the subproof from memory after checking it.
...
@@ -921,17 +921,18 @@ remove the steps of the subproof from memory after checking it.
expressed as a concrete proof.
expressed as a concrete proof.
\begin{AletheVerb}
\begin{AletheVerb}
(assume h1 (forall ((x S)) (P x)))
(assume h1 (forall ((x S)) (P x)))
(assume h2 (not (forall ((y S)) (P y))))
(assume h2 (not (forall ((y S)) (P y))))
(anchor :step t5 :args ((y S) (:= (x S) y)))
(anchor :step t5 :args ((y S) (:= (x S) y)))
(step t3 (cl (= x y)) :rule refl)
(step t3 (cl (= x y)) :rule refl)
(step t4 (cl (= (P x) (P y))) :rule cong :premises (t3))
(step t4 (cl (= (P x) (P y))) :rule cong :premises (t3))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
:rule bind)
:rule bind)
(step t6 (cl (not (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
(step t6 (cl (not (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
(not (forall ((x S)) (P x)))
(not (forall ((x S)) (P x)))
(forall ((y S)) (P y))) :rule equiv
_
pos2)
(forall ((y S)) (P y))) :rule equiv
_
pos2)
(step t7 (cl) :rule resolution :premises (h1 h2 t5 t6))
(step t7 (cl) :rule resolution :premises (h1 h2 t5 t6))
\end{AletheVerb}
\end{AletheVerb}
\end{example}
\end{example}
...
@@ -1099,11 +1100,11 @@ the calculation of the context of the steps in the subproof.
...
@@ -1099,11 +1100,11 @@ the calculation of the context of the steps in the subproof.
The proof in Example~
\ref
{
ex:ti:ctx-concrete
}
has only one subproof
The proof in Example~
\ref
{
ex:ti:ctx-concrete
}
has only one subproof
and this subproof is also a first-innermost subproof. It is the subproof
and this subproof is also a first-innermost subproof. It is the subproof
\begin{AletheVerb}
\begin{AletheVerb}
(anchor :step t5 :args ((y S) (:= (x S) y)))
(anchor :step t5 :args ((y S) (:= (x S) y)))
(step t3 (cl (= x y)) :rule refl)
(step t3 (cl (= x y)) :rule refl)
(step t4 (cl (= (P x) (P y))) :rule cong :premises (t3))
(step t4 (cl (= (P x) (P y))) :rule cong :premises (t3))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
:rule bind)
:rule bind)
\end{AletheVerb}
\end{AletheVerb}
\end{example}
\end{example}
...
@@ -1195,14 +1196,14 @@ $P_1 = E(P)$, $P_2 = E(E(P))$ and $P_{\mathit{last}} = E(P_{\mathit{last}})$.
...
@@ -1195,14 +1196,14 @@ $P_1 = E(P)$, $P_2 = E(E(P))$ and $P_{\mathit{last}} = E(P_{\mathit{last}})$.
Example~
\ref
{
ex:ti:ctx-concrete
}
gives us the proof
Example~
\ref
{
ex:ti:ctx-concrete
}
gives us the proof
\begin{AletheVerb}
\begin{AletheVerb}
(assume h1 (forall ((x S)) (P x)))
(assume h1 (forall ((x S)) (P x)))
(assume h2 (not (forall ((y S)) (P y))))
(assume h2 (not (forall ((y S)) (P y))))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
(step t5 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y))))
:rule hole)
:rule hole)
(step t6 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y)))
(step t6 (cl (= (forall ((x S)) (P x)) (forall ((y S)) (P y)))
(not (forall ((x S)) (P x)))
(not (forall ((x S)) (P x)))
(forall ((y S)) (P y)))) :rule equiv
_
pos2)
(forall ((y S)) (P y)))) :rule equiv
_
pos2)
(step t7 (cl) :rule resolution :premises (h1 h2 t5 t6))
(step t7 (cl) :rule resolution :premises (h1 h2 t5 t6))
\end{AletheVerb}
\end{AletheVerb}
Since this proof contains no subproof, it is also
$
P
_{
\mathit
{
last
}}$
.
Since this proof contains no subproof, it is also
$
P
_{
\mathit
{
last
}}$
.
...
...
This diff is collapsed.
Click to expand it.
spec/rule_list.tex
+
31
−
31
View file @
bcb74d00
...
@@ -483,8 +483,8 @@ to quickly find the definition of rules.
...
@@ -483,8 +483,8 @@ to quickly find the definition of rules.
A simple
\proofRule
{
la
_
generic
}
step in the logic
\textsf
{
LRA
}
might look like this:
A simple
\proofRule
{
la
_
generic
}
step in the logic
\textsf
{
LRA
}
might look like this:
\begin{AletheVerb}
\begin{AletheVerb}
(step t10 (cl (not (> (f a) (f b))) (not (= (f a) (f b))))
(step t10 (cl (not (> (f a) (f b))) (not (= (f a) (f b))))
:rule la
_
generic :args (1.0 -1.0))
:rule la
_
generic :args (1.0 -1.0))
\end{AletheVerb}
\end{AletheVerb}
To verify this we have to check the unsatisfiability of
$
(
f
\,
a
)
>
(
f
\,
b
)
\land
To verify this we have to check the unsatisfiability of
$
(
f
\,
a
)
>
(
f
\,
b
)
\land
...
@@ -497,8 +497,8 @@ to quickly find the definition of rules.
...
@@ -497,8 +497,8 @@ to quickly find the definition of rules.
\begin{RuleExample}
\begin{RuleExample}
The following
\proofRule
{
la
_
generic
}
step is from a
\textsf
{
QF
\_
UFLIA
}
problem:
The following
\proofRule
{
la
_
generic
}
step is from a
\textsf
{
QF
\_
UFLIA
}
problem:
\begin{AletheVerb}
\begin{AletheVerb}
(step t11 (cl (not (<= f3 0)) (<= (+ 1 (* 4 f3)) 1))
(step t11 (cl (not (<= f3 0)) (<= (+ 1 (* 4 f3)) 1))
:rule la
_
generic :args (1.0 1/4))
:rule la
_
generic :args (1.0 1/4))
\end{AletheVerb}
\end{AletheVerb}
After normalization we get
$
-
f
_
3
\geq
0
\land
4
\times
f
_
3
>
0
$
.
After normalization we get
$
-
f
_
3
\geq
0
\land
4
\times
f
_
3
>
0
$
.
This time step~4 applies and we can strengthen this to
This time step~4 applies and we can strengthen this to
...
@@ -692,9 +692,9 @@ to quickly find the definition of rules.
...
@@ -692,9 +692,9 @@ to quickly find the definition of rules.
\begin{RuleExample}
\begin{RuleExample}
An application of the
\proofRule
{
forall
_
inst
}
rule.
An application of the
\proofRule
{
forall
_
inst
}
rule.
\begin{AletheVerb}
\begin{AletheVerb}
(step t16 (cl (or (not (forall ((x S) (y T)) (P y x )))
(step t16 (cl (or (not (forall ((x S) (y T)) (P y x )))
(P b (f a))
(P b (f a))
:rule forall
_
inst :args ((f a) b)
:rule forall
_
inst :args ((f a) b)
\end{AletheVerb}
\end{AletheVerb}
\end{RuleExample}
\end{RuleExample}
...
@@ -840,10 +840,10 @@ to quickly find the definition of rules.
...
@@ -840,10 +840,10 @@ to quickly find the definition of rules.
\begin{RuleExample}
\begin{RuleExample}
An application of the
\proofRule
{
or
}
rule.
An application of the
\proofRule
{
or
}
rule.
\begin{AletheVerb}
\begin{AletheVerb}
(step t15 (cl (or (= a b) (not (<= a b)) (not (<= b a))))
(step t15 (cl (or (= a b) (not (<= a b)) (not (<= b a))))
:rule la
_
disequality)
:rule la
_
disequality)
(step t16 (cl (= a b) (not (<= a b)) (not (<= b a)))
(step t16 (cl (= a b) (not (<= a b)) (not (<= b a)))
:rule or :premises (t15))
:rule or :premises (t15))
\end{AletheVerb}
\end{AletheVerb}
\end{RuleExample}
\end{RuleExample}
...
@@ -1370,22 +1370,22 @@ to quickly find the definition of rules.
...
@@ -1370,22 +1370,22 @@ to quickly find the definition of rules.
\rightarrow
(
f
\,
x
)
\land
(
f
\,
y
))
$
look like this:
\rightarrow
(
f
\,
x
)
\land
(
f
\,
y
))
$
look like this:
\begin{AletheVerb}
\begin{AletheVerb}
(anchor :step t3 :args ((x S) (:= (y S) x)))
(anchor :step t3 :args ((x S) (:= (y S) x)))
(step t3.t1 (cl (= x y)) :rule refl)
(step t3.t1 (cl (= x y)) :rule refl)
(step t3.t2 (cl (= (= x y) (= x x)))
(step t3.t2 (cl (= (= x y) (= x x)))
:rule cong :premises (t3.t1))
:rule cong :premises (t3.t1))
(step t3.t3 (cl (= x y)) :rule refl)
(step t3.t3 (cl (= x y)) :rule refl)
(step t3.t4 (cl (= (f y) (f x)))
(step t3.t4 (cl (= (f y) (f x)))
:rule cong :premises (t3.t3))
:rule cong :premises (t3.t3))
(step t3.t5 (cl (= (and (f x) (f y)) (and (f x) (f x))))
(step t3.t5 (cl (= (and (f x) (f y)) (and (f x) (f x))))
:rule cong :premises (t3.t4))
:rule cong :premises (t3.t4))
(step t3.t6 (cl (= (=> (= x y) (and (f x) (f y)))
(step t3.t6 (cl (= (=> (= x y) (and (f x) (f y)))
(=> (= x x) (and (f x) (f x)))))
(=> (= x x) (and (f x) (f x)))))
:rule cong :premises (t3.t2 t3.t5))
:rule cong :premises (t3.t2 t3.t5))
(step t3 (cl (=
(step t3 (cl (=
(forall ((x S) (y S)) (=> (= x y) (and (f x) (f y))))
(forall ((x S) (y S)) (=> (= x y) (and (f x) (f y))))
(forall ((x S)) (=> (= x x) (and (f x) (f x))))))
(forall ((x S)) (=> (= x x) (and (f x) (f x))))))
:rule onepoint)
:rule onepoint)
\end{AletheVerb}
\end{AletheVerb}
\end{RuleExample}
\end{RuleExample}
...
@@ -1713,12 +1713,12 @@ to quickly find the definition of rules.
...
@@ -1713,12 +1713,12 @@ to quickly find the definition of rules.
by Carcara's elaborator. It elaborates an implicit application of
by Carcara's elaborator. It elaborates an implicit application of
symmetry of equality.
symmetry of equality.
\begin{AletheVerb}
\begin{AletheVerb}
(step t1 (cl (= (= 0 1) (= 1 0))) :rule eq
_
symmetric)
(step t1 (cl (= (= 0 1) (= 1 0))) :rule eq
_
symmetric)
(anchor :step t2 :args ((p Bool) (:= (p Bool) p)))
(anchor :step t2 :args ((p Bool) (:= (p Bool) p)))
(step t2.t1 (cl (= (= p false) (= false p))) :rule eq
_
symmetric)
(step t2.t1 (cl (= (= p false) (= false p))) :rule eq
_
symmetric)
(step t2 (cl (= (let ((p (= 0 1))) (= p false))
(step t2 (cl (= (let ((p (= 0 1))) (= p false))
(let ((p (= 1 0))) (= false p))))
(let ((p (= 1 0))) (= false p))))
:rule bind
_
let :premises (t1))
:rule bind
_
let :premises (t1))
\end{AletheVerb}
\end{AletheVerb}
\end{RuleExample}
\end{RuleExample}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment