Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
personoj
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
koizel
personoj
Commits
d022bfdb
Commit
d022bfdb
authored
3 years ago
by
gabrielhdt
Browse files
Options
Downloads
Patches
Plain Diff
update docs
parent
81146486
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
docs/main.adoc
+4
-32
4 additions, 32 deletions
docs/main.adoc
encoding/README.adoc
+27
-0
27 additions, 0 deletions
encoding/README.adoc
specs/tools/README.md
+2
-1
2 additions, 1 deletion
specs/tools/README.md
specs/tools/prelude/README.md
+3
-3
3 additions, 3 deletions
specs/tools/prelude/README.md
with
36 additions
and
36 deletions
docs/main.adoc
+
4
−
32
View file @
d022bfdb
...
@@ -168,9 +168,12 @@ the variable +$PERSONOJPATH+.
...
@@ -168,9 +168,12 @@ the variable +$PERSONOJPATH+.
=== Translating the Prelude ===
=== Translating the Prelude ===
CAUTION: BSD makefiles are used rather than GNU makefiles. Linux users
may have to use +bmake+ rather than +make+.
[source,sh]
[source,sh]
cd specs/tools/prelude
cd specs/tools/prelude
b
make
make
will create a set of empty +.lp+ files and translate and type check
will create a set of empty +.lp+ files and translate and type check
other files. The (nearly) empty files stand for theories that can't be
other files. The (nearly) empty files stand for theories that can't be
...
@@ -178,34 +181,3 @@ translated yet.
...
@@ -178,34 +181,3 @@ translated yet.
TIP: if the translation fails, ensure that +$PVSPATH+ and
TIP: if the translation fails, ensure that +$PVSPATH+ and
+$PERSONOJPATH+ are correctly set up.
+$PERSONOJPATH+ are correctly set up.
== Implementation details ==
=== Encoding ===
The encoding is a set of lambdapi files in +encoding/+ that define
axioms allowing to type check PVS terms and propositions.
+lhol.lp+ ::
Simple Type theory expressed as a PTS commonly named λHOL
+pvs_cert.lp+ ::
Explicit predicate subtyping
+tuple.lp+ ::
Non dependents tuples. Can also be seen as a non dependent version
of link:https://doi.org/10.1016/0890-5401(91)90066-B[de Bruijn
telescopes].
+logical.lp+ ::
Locical connectives
+eqtup.lp+ ::
Uncurried equality and disequality, latexmath:[$eq (t, u)$]
+coercions.lp+ ::
Define coercions to implement implicit predicate subtyping
+extra+ ::
More definitions and tools
+arity-tools.lp+ :::
An encoding of natural numbers used in data structures (they are
not the natural numbers used in PVS)
+alt+ ::
Alternate definitions
+examples+ ::
Some example specification
This diff is collapsed.
Click to expand it.
encoding/README.adoc
0 → 100644
+
27
−
0
View file @
d022bfdb
= Encodings =
Gabriel Hondet <gabriel.hondet@inria.fr>
v1.0, October 2021
The encoding is a set of lambdapi files in +encoding/+ that define
axioms allowing to type check PVS terms and propositions.
lhol ::
Simple Type theory expressed as a PTS commonly named λHOL
pvs_cert ::
Explicit predicate subtyping
tuple ::
Non dependents, lengthed tuples. Can also be seen as a non dependent
version of link:https://doi.org/10.1016/0890-5401(91)90066-B[de
Bruijn telescopes].
logical ::
Locical connectives
eqtup ::
Uncurried equality and disequality, latexmath:[$eq (t, u)$]
coercions ::
Define coercions to implement implicit predicate subtyping
extra ::
More definitions and tools
alt ::
Alternate definitions
examples ::
Some example specification
This diff is collapsed.
Click to expand it.
specs/tools/README.md
+
2
−
1
View file @
d022bfdb
...
@@ -7,4 +7,5 @@ to Dedukti files.
...
@@ -7,4 +7,5 @@ to Dedukti files.
-
`pvs2dk.sh`
: translate a theory to a lambdapi file.
-
`pvs2dk.sh`
: translate a theory to a lambdapi file.
-
`lambdapi.pkg`
: the module file for lambdapi (required to type check files).
-
`lambdapi.pkg`
: the module file for lambdapi (required to type check files).
-
`lambdapi.mk`
: some targets and rules to typecheck lambdapi files.
-
`lambdapi.mk`
: some targets and rules to typecheck lambdapi files.
-
`*.patch`
: patches that may be apply to the Prelude to translate it.
-
`prelude_patches/*.diff`
: patches that may be apply to the Prelude to
translate it.
This diff is collapsed.
Click to expand it.
specs/tools/prelude/README.md
+
3
−
3
View file @
d022bfdb
...
@@ -25,9 +25,9 @@ make functions.lpo
...
@@ -25,9 +25,9 @@ make functions.lpo
The theories of the Prelude are registered in the file
`theories`
. In this file,
The theories of the Prelude are registered in the file
`theories`
. In this file,
each line is a theory. One-line comments can be inserted with character
`#`
*
at
each line is a theory. One-line comments can be inserted with character
`#`
*
at
the beginning of the
fil
e
*
.
the beginning of the
lin
e
*
.
If a theory name is prefixed with a dash
`-`
, the theory is not translated nor
If a theory name is prefixed with a dash
`-`
, the theory is not translated nor
type-checked. Instead, an empty file
can be
created with the name of the theory
type-checked. Instead, an empty file
is
created with the name of the theory
by
using
`mk_dummy.sh`
. This allows to translate and type check theories that are
`mk_dummy.sh`
. This allows to translate and type check theories that are
defined further in the prelude, but do not depend on them, as theories of
defined further in the prelude, but do not depend on them, as theories of
prelude require (syntactically) all previous prelude theories.
prelude require (syntactically) all previous prelude theories.
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