Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Giuseppe Castagna
occurrence-typing
Commits
1fb585b9
Commit
1fb585b9
authored
Nov 11, 2020
by
Mickael Laurent
Browse files
algorithmic type system in progress
parent
f9cfccdb
Changes
1
Hide whitespace changes
Inline
Side-by-side
new_system3.tex
View file @
1fb585b9
...
@@ -81,7 +81,7 @@ TODO: Which restrictions on types? (cannot test a precise arrow type, etc)
...
@@ -81,7 +81,7 @@ TODO: Which restrictions on types? (cannot test a precise arrow type, etc)
{
\Gamma
\vdash
e: t'
}
{
\Gamma
\vdash
e: t'
}
{
}
{
}
\qquad
\qquad
\Infer
[E
fq
]
\Infer
[E
FQ
]
{
\exists
x
\in\dom
{
\Gamma
}
.
\ \Gamma
(x)=
\Empty
}
{
\exists
x
\in\dom
{
\Gamma
}
.
\ \Gamma
(x)=
\Empty
}
{
\Gamma
\vdash
e: t
}
{
\Gamma
\vdash
e: t
}
{
}
{
}
...
@@ -112,6 +112,16 @@ TODO: Inter rule needed?
...
@@ -112,6 +112,16 @@ TODO: Inter rule needed?
\subsection
{
Algorithmic type system
}
\subsection
{
Algorithmic type system
}
\begin{mathpar}
\begin{mathpar}
\Infer
[EFQ]
{
\exists
x
\in\dom\Gamma
.
\ \Gamma
(x)=
\Empty
}
{
\Gamma
\vdash
_
e e' :
\Empty
}
{
}
\qquad
\Infer
[Backtrack]
{
\Gamma
\vdash
_
e e':
\bt\{
t
_
i,
\Gamma
_
i
\}
_{
i
\in
I
}}
{
\Gamma
\vdash
_
e e :
\{
t
_
i,
\Gamma
_
i
\}
_{
i
\in
I
}}
{
}
\\
\Infer
[Const]
\Infer
[Const]
{
}
{
}
{
\Gamma\vdash
_
e c:
\{
(
\basic
{
c
}
,
\Gamma
)
\}
}
{
\Gamma\vdash
_
e c:
\{
(
\basic
{
c
}
,
\Gamma
)
\}
}
...
@@ -122,11 +132,6 @@ TODO: Inter rule needed?
...
@@ -122,11 +132,6 @@ TODO: Inter rule needed?
{
\Gamma
\vdash
_
e x:
\{
(
\Gamma
(x),
\Gamma
)
\}
}
{
\Gamma
\vdash
_
e x:
\{
(
\Gamma
(x),
\Gamma
)
\}
}
{
x
\in\dom\Gamma
}
{
x
\in\dom\Gamma
}
\\
\\
\Infer
[Backtrack]
{
\Gamma
\vdash
_
e e':
\bt\{
t
_
i,
\Gamma
_
i
\}
_{
i
\in
I
}}
{
\Gamma
\vdash
_
e e :
\{
t
_
i,
\Gamma
_
i
\}
_{
i
\in
I
}}
{
}
\qquad
\Infer
[Proj]
\Infer
[Proj]
{
\Gamma
(x)
\equiv\pair
{
t
_
1
}{
t
_
2
}}
{
\Gamma
(x)
\equiv\pair
{
t
_
1
}{
t
_
2
}}
{
\Gamma
\vdash
_
e
\pi
_
i x:
\{
t
_
i,
\Gamma\}
}
{
\Gamma
\vdash
_
e
\pi
_
i x:
\{
t
_
i,
\Gamma\}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment